Rendering
SDxWiki

A5

[Conitec (can't get there from CSI - damn filtering software)] is a German company that provides the engine for a number of games, including Half-Life.

DJH I talked to a guy at length about this package. It comes in several flavors ranging from trial to full blown, and the prices are exceptional.

Unless you buy the SDK, all programming is done in something called wdl, their javascript-like scripting language. As far as I can tell, the scripting language has some built-in networking capabilities. We can get some early proof of concept work done using that and then upgrade to the SDK to access external (home-built) modules, which is under $1500.

The engine uses a semi-standard format, called mdl, and many design tools export to that format. Including MS3D.


Istvan This looks amazing. Which edition are you examining most seriously?

DJH Actually, I don't have it in hand yet. This is based on an online conversation I had with a guy who is using it to develop his own game. The guy seems reasonably legit and experienced. Initially I'm going to export a test thing from MS3D and try the version with the time bomb (free). If that works well, then I'll probably get the $50 version just for me. Then if we get reasonably serious a few of us will need the $200 version for a proof of concept thing. Then we can determine whether or not we need the SDK version. All this requires a full understanding of the SDK capabilities. We shouldn't invest too much time in this if no version of the product gets us snappy database access.

JDH If you want me to burn the trial version on a CD for you just let me know. (DJH Already got it, thanks anyway) I had a poke around this site last night (including skimming some of the developer documentation) and it certainly looks impressive. I think we could get up and running very quickly - but I wonder how flexible it is. My guess (and it's just an educated guess at this point) is that because it aims to be a complete game development solution it may not be flexible enough to say, for example, replace the physics engine with something "better". Just to be clear I'm making at least two guesses here: (1) we couldn't replace the physics engine with our own one and (2) at some point we'd want to replace the physics engine. Note, however, that I just chose the physics engine as an example. Having said all that it might make a very good prototyping setup for higher level game ideas.

JDH But then again it might not be too restrictive - check out this [brief FAQ by an A5 user]

JDH From the sites FAQ:

Q. Is the network code and the game engine capable of handling large scale multiplayer gaming, as in 2000+ players? Or would it require lots of modification?

A. Theoretically an unlimited number of players can be handled. The real limit depends on the bandwidth needed for multiplayer communication, and the number of servers used. The faster and less predictable the players move, the more bandwidth is needed. A5 uses a very fast client/server system with a dead reckoning algorithm, but even so, in a worst case scenario (single server online air combat game) the limit on an average Internet modem connection can be only around 25 players. In a large scale online game however where the players are mainly walking or chatting, and the game world is split into several zones, much more players - several 1000 - can be handled.

DJH Does anyone know what the player load for HL is? Has anyone even played it? 25 players sounds like the kind of limit you might find in an Unreal Tournament map, and I'm under the impression that UT, Quake, and HL to be very similar in the kind of gaming experience they offer. [The brief FAQ John linked to] says that HL modified the engine in various was by substituting their own DLLs for certain functions. In theory this isn't too daunting if mechanism used to communicate the substitution doesn't require rebuilding the system entirely. But that may be what the $1.5K license is all about...

DWM Regarding the Half-Life engine: Jim and I play a lot of Team Fortress Classic, which is an HL mod. Typical TFC games range from 12 to 24 players. My understanding is that all traffic goes through the server, rather than peer-to-peer, although logically some traffic might be P2P. Based on one of the articles linked to recently on this site, routing the traffic through the server is essential for the health of low-bandwidth participants. If my system had to send updates about my character to all participants, this would require duplicating these update packets for each recipient, clogging my modem connection. At the very least, a high-bandwidth node should act as a broadcasting service, taking one copy of such a packet from me and replicating/distributing it to the recipients. (I wonder if IPv6 has better mechanisms for such activity?)

These engines use some predictive modelling, but I don't think they use a full dead reckoning system. (I could be wrong on this.) For an MMOG, some form of zoning is of course absolutely critical -- the issues within a zone should be comparable to these games. The info for the Conitec engine mentioned zoning somewhere, but no details. If it only accomodates zoning of the sort used by, say, EverQuest, that would not be very nice -- the divisions between zones are quite noticeable, and are usually covered up by artificial terrain features, such as mountain ranges with tunnels connecting zones (so you can't stand in one zone and try to look into another). The attractiveness of a third-party engine would depend in part on whether we could embed the engine in a higher-level architecture where we could implement a sliding large-scale zoning system.

JDH BTW, the price can go up all the way to $10,000 for a licensed version for a game with distribution by a large publisher - this seems in conflict to some of the other prices that they advertise but I found it in the back of their developer manual. I'm not sure what that $10K buys you!