Logo
 
 
 
  
   
 
 
  Frequently Asked Questions

What you always wanted to know about 3D game development

 
 

Q. What's the difference between a 3D Engine, a 3D Language and a 3D Authoring System?

A.
A 3D Engine is a library of 3D graphics functions. Many 3D engines are available on the Internet, some (even good ones) are free, some are between $50 and $250,000 for commercial use. 3D engines require programming with an external delevopment system, normally Microsoft Visual C++. Programming a game around a 3D engine offers a maximum of flexibility, especially since you usually have - and also need - access to the engine's source code. However it also requires a maximum of effort and time to be invested before something's moving in your game.

An easier approach is offered by a 3D Language. You are programming with a scripting language that is especially designed for 3D games. Such languages don't offer the flexibility of a 3D engine, but avoid a lot of problems related to 'real' programming. Many 3D languages use BASIC, which is still widespread, but not the best choice for complex projects due to it's 'spaghetti code' language structure. Better suited for ambitious projects are C- or Java-based languages.

The easiest way to create a game is an Authoring System, which has its own 3D engine and a visual editor for very fast 'clicking together' a game prototype. Of course, only simple games can be created without any programming. Thus authoring systems normally also provide a scripting language for programming or customizing the game. With an authoring system, a game can be finished in a fraction of the time you'd need to understand the souce code and library functions of a 3D engine.

Some simple authoring systems are specialized on FPS (first or third person shooters) and offer no or limited scripting. Although even the FPS created with them are not exactly the state of the art, they could be a good alternative if you don't want to script and are not interested in publishing a game commercially. Most authoring systems however can create every type of game or 3D application - and some, like Gamestudio, can be used as a 3D engine and a 3D language as well. Here's a comparision table of the most popular systems and engines; the topics in the first column are explained below

  
 
FPS Authoring Systems 3D Languages 3D Engines


Game
Maker


Quest
3D



CC


Vir
tools


A7
Extra


A7
Com


Dark
Basic


DB
Pro



Blitz


lite
C
Price ca. (US $) 49 1200 2495 5000 99 199 39 99 100 free 500 free 100 free free 100 1500 $$$
Publish
$$$ free free free free free free free free free free free $$$ free LGPL free $$$ $$$
DirectX version DX6 DX8 DX8 DX9 DX9 DX9 DX7 DX9 DX7 DX9 DX8 DX9 DX7 DX8 OG DX8 DX9 DX8
Scene manager - - Octr Portal ABT ABT - BSP - ABT BSP Octr Octr Portal BSP BSP BSP
LOD system - yes yes yes yes yes - yes yes yes - - yes yes yes yes yes yes
Terrain yes - yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes
Shadow mapping - yes - yes yes yes - ** yes ** yes ** yes - yes yes yes yes
Dynamic shadows - - yes yes yes yes - yes - yes yes yes yes yes yes yes yes yes
Shaders - yes yes - - yes - yes - - yes - - yes yes yes yes yes
Particle generator - yes yes yes yes yes - yes - yes yes yes yes yes yes yes yes yes
Beam generator - - - - - yes - - - - - - - yes yes - - -
Template system yes - - yes yes yes - - - - - - - - - - - -
Bones animation - yes yes yes yes yes - yes yes yes yes yes yes yes yes yes yes yes
Save/Load system yes - yes yes yes - - - yes - - - - - - - yes
Plugin support - yes yes yes yes yes - yes yes yes - - - yes yes - - yes
Network system - yes yes - yes yes yes yes - - yes yes yes yes yes yes yes
Physics engine - yes yes $5000 yes yes - - - yes - - - - - - - yes
Level editor - yes yes yes yes yes - - yes - - - yes - - - yes yes
Model editor - yes - yes yes yes - - - yes - - - - - - - -
Script editor - yes yes yes yes yes yes yes yes yes - - - - - - - -
Script compiler - - - - yes yes - yes yes yes - - - - - - - -
Script debugger - - - - yes yes - yes - yes - - yes yes - - - -
Script syntax - LUA Lisp Chart C C Basic Basic Basic C - - C TCL Pyth - - C
  
 
** Can be displayed, but requires 3rd party tools for creation.
$$$  Publishing or selling applications requires further fees, fulfilling special conditions or asking for permission.

Chart based on manufacturer's specifications as of autumn 2007, if available - no responsibility is accepted for the correctness. If several license versions are available, normally the medium-priced license is listed. Listed Gamestudio features relate to the latest update available on the Gamestudio website. If you find something incorrect, or if you want a certain engine to be included, or if you are a manufacturer and don't want your engine compared here, please notify webmaster at conitec.net.

  
 
The above feature list does not necessarily reflect that a certain system is 'better' than another system. There are huge differences in speed and stability between some engines with apparently similar features. Which system is the best for you depends on your project, your ambitions, your personal preferences, and of course your budget. Compare screenshots and demos, and test the trial versions!
Q. Apart from Gamestudio or lite-C, which other systems can you recommend?

A
. Authoring Systems: Cosmos Creator (if you are not afraid of LISP); 3D Languages: Blitz (stable and reasonably fast); free 3D engines: Irrlicht (well structured and understandable C++ code); commercial 3D engines: Torque (huge community).

Q. What is DirectX?

A. Depending on which method is used for accessing the 3D hardware, there are DirectX or OpenGL renderers (a renderer is the core part of a 3D engine which actually paints the 3D objects on the screen). An OpenGL renderer uses 3D hardware through the OpenGl graphics library, which is also available for Linux and Mac systems. A DirectX renderer uses Microsoft's DirectX library, which is integrated in Windows. On old 3D cards, OpenGl often rendered a little faster, while on modern 3D cards DirectX offers much better features and performance. There are many versions of DirectX:

DX6 Basic 3D support, integrated in Windows 95
DX7 Hardware T&L, integrated in Windows 98
DX8 Shader support, integrated in Windows 2000 and ME
DX9 HLSL shader language, integrated in Windows XP and Vista
DX10 - Windows Vista only


Q. What is a Scene Manager?

A. A scene manager improves the frame rate by rendering only the visible parts of a game level.
There are several methods. One of the first scene managers was the Octree system. It splits the level into a tree of cubic regions and only renders the content of regions that are in the view area of the camera. Due to their simplicity, Octrees are still used by some 3D engines today.
Octrees don't care about which parts of the level were hidden behind walls or other objects, thus better scene managers were developed. The ABT (Adaptive binary tree) system splits the level into rectangular regions dependent on the level size and content. The BSP tree system splits the level into irregular regions defined by the level geometry, and only renders the parts that are really visible. This is the fastest and most effective system, especially for indoor levels. With a BSP tree system, the indoor rendering speed is independent of the level size, which allows decent frame rates even on old PCs. But BSP trees have the disadvantage that they must be precalculated by a map compiler in the level editor.
High-end commercial engines today normally use a BSP tree scene manager, while simple engines mostly use an ABT, Octree or another system. For outdoor levels, where a BSP tree offers litte advantage over an ABT or Octree, a LOD (Level-Of-Detail) system is used for keeping the frame rate high. It automatically switches to 'simpler' shapes of objects when they are far away from the camera, thus reducing the overall number of polygons drawn per frame.


Q. What is Shadow Mapping?

A. Also called Lightmapping - a system for creating realistic lights and shadows without frame rate penalties. A shadow mapping compiler allows you to place an unlimited number of static light sources in the level, and then precalculates the light flow and static shadows for each surface. Most today's commercial 3D games use shadow mapping. As you see in the images below, smooth lights and shadows greatly add to the atmosphere of a game (images from an unnamed Gamestudio game by Rémi Valantin).

  
 
 
Game with Shadow Mapping    Game without Shadow Mapping
  
 
Q. What is a Particle System?

A. A particle system is an effect generator that creates a huge number of small particles for special effects like smoke, fire, or explosions. Well-made particle effects look better than pre-rendered animation, and thus particle generators are used in all newer games and game consoles. For creating realistic particle effects, the particle generator must be able to move thousands of particles without frame rate reduction. Simple particle systems only allow to assign particles some properties like lifespan, gravity or color; more sophisticated systems, like A6, also allow programming individual movement functions for every particle. Some particle systems also contain a beam generator for creating light beams or tracer paths (screenshots from the game 'Glider' by REVOgames).

  
 
  
Particle effect Beam effect
  
 
Q. What are Shaders?

A. Shaders add a new dimension to graphics rendering. They allow the transform, lighting, and rendering functionality to be modified at runtime on a vertex and pixel basis. A shader is a small script that runs on the graphics hardware for every vertex or pixel that is rendered on the screen. This gives the user a new level of dynamic flexibility over the way that pixels are rendered. Vertex and pixel shaders can be used to create realistic water ripples, render cartoon style, cover models with fur, or control the lava flow of a volcano. They are supported by many newer game engines (screenshots by Gamestudio users on the Shader Forum).

  
 
  
Normalmapping shader Lava shader
  
 
Q. What is Bones Animation?

A. There are two basic methods of animating a model: vertex and bones animation. In vertex animation, each animation frame is a 'snapshot' of a certain pose of the model. The engine creates a smooth animation by interpolating between the frames. In bones animation, the model gets a 'skeleton' made of connected 'bones'. The model is animated by changing the orientation or position of its bones.
Bones animation requires more processor power than vertex animation, but offers many advantages. It's easier and faster to create. Different bones animations can be combined - for instance, a model can turn his head, shoot and walk at the same time. Some engines, like Gamestudio's, can manipulate individual bones directly in real time, which offers a more precise interaction with the enviroment - a model can bend over and look or shoot into a certain direction, or pick up an item from a certain place on the ground.

  
 
 
  
 
Q. What is a Save/Load System?

A. Such a system allows the end user to save and resume the game at any point. It automatically 'freezes' all running scripts and all objects and variables of the game and writes them into a file, possibly together with a screen shot. This is necessary for resuming game play at a later time, or leaving and entering game levels at any point. While saving the game seems an easy thing at a first glance, it's tricky in detail and has to be implemented in the very core of a game engine. Without such a system, for saving games a script had to be written which stores the state of every variable and object and the position within every script function - quite awkward and only possible for very simple games. Therefore most commercial high-end engines contain a save/load system.

Q. What is a Physics Engine?

A. A physics engine calculates movement, rotation and collision response of rigid body objects by applying realistic physics to them. It's not absolutely necessary to use a physics engine for a game - simple 'Newtonian' physics, like acceleration and deceleration, can also be programmed or scripted to a certain extent. However, the programming possibilities end when the game requires objects colliding, rolling, gliding or ricocheting in a complex way - like in a racing or in a bowling game. A physics engine uses object properties like momentum, torque or elasticity for simulating rigid body behavior. This does not only give much more realistic results, but is also much easier to handle for the developer than writing a behavior script.
Better physics engines allow the construction of complex mechanical devices through motors and constraints like ball joints, wheels, cylinders or hinges. Some also support the physics of non-rigid bodies, like fluids.

  
 
Wheel motor Fluid physics
  
 
Physics engines can be purchased from different manufacturers. Several game development systems have an integrated physics engine, but be careful: some systems have 'physics' listed in their features list, but just contain some simple acceleration or collision functions.

Q. What is a Client/Server Network System?

A. There are three basic types of network systems for multiplayer games: peer-to-peer, client/server, and zone networks.
In a peer-to-peer system all connected PCs are equal. Each PC runs its own copy of the game and exchanges update messages with all other PCs. Peer-to-peer systems were used for the first multiplayer games, but are rarely used today due to the many problems with this system regarding consistency and cross traffic.
In a client/server system, one PC is the server which hosts and runs the game. All other PCs are clients which only update their player character and receive messages only from the server. To avoid the need for an extra PC, normally the server is also a client at the same time. Online games that require more than 4 players normally use the client/server system.
A zone system is an advanced client/server system with multiple servers. The game world is divided into several levels (zones) that are controlled by separate servers. Zone systems are used for massive online multiplayer games with an unlimited number of players. An example for a zone system realized with Gamestudio is the Quedlinburg simulation mentioned below.

Peer-to-Peer up to 4 players
Client/Server up to 100 players
Zone unlimited, depends on number of servers

Q. What is a Script Compiler?

A. Many 3D game systems use scripting languages for controling objects or actors. The more things move in the game, the more script instructions have to be executed per second. Most script languages are interpreted. This means that instructions are first translated into an intermediate byte code. The processor interprets the code byte for byte at run time, which causes a slow execution and affects the frame rate.
A script compiler translates the language not into a byte code, but into real machine code - the native language of the processor. Compiled scripts run up to 10 times faster than interpreted scripts, and don't influence the frame rate even in huge games with hundreds of simultaneously moving objects. Be aware: Some systems have 'compiler' listed in their features list, but just mean compilation into an intermediate byte code - therefore, they use an interpreted language.


Q. Is it true that I must learn programming for seriously creating games?

A.
Yes - no matter what you've heard otherwise. You can build simple games, like 3D shooters, without any programming. However for realizing unique game ideas and special effects you'll need to describe them by scripts. If you've never programmed before, by working through the tutorial you'll pick it up fast.
Q. Why C instead of BASIC / LUA / PYTHON...?

A.
For many reasons a C based language is the best suited for programming games.
C code is clearer, shorter and easier to understand than BASIC, and runs much faster than interpreted scripting languages such as LUA or PYTHON. Due to its support of C++ classes, lite-C has direct access to DirectX and Windows API functions, and thus allows programming effects that wouldn't be possible with any other scripting language.
C/C++ is used today for almost all commercial games. Even games with LUA or PYTHON scripting use C/C++ for all complex or time critical areas, such as rendering, physics and effects. Windows and graphics libraries have a C/C++ based interface, and C is also the language used for shader effects. Knowledge of C is essential for all programming jobs in the game industry. You just can't avoid it.
Q. How often is Gamestudio updated, are the updates free to previous owners, and are they downwards compatible?

A.
Major new features are added permanently in frequent free updates. You can follow the schedule for future features on the beta and forecast links on our forum. Upgrades to new engine generations (A4 -> A5 -> A6 -> A7) are released every couple of years and are not free. All engine updates are compatible to its predecessor, so you don't have to change your scripts when updating.
Q. How bug-free is Gamestudio, and how stable are the games produced with it?

A.
We are pretty sure that Gamestudio is the most stable and robust game creation tool on the market, and we're going to great efforts for keeping it that way. When developing a game, you really don't want to grapple with software bugs! Our company was the first game development tools manufacturer who received the ISO 9001 certificate for his quality control system. Before a new Gamestudio update is released, it is tested for months by our team of around 100 beta testers. After that, it is uploaded to our forum for a public beta test, which normally involves over 1000 testers. Only then it becomes officially available on our download page.
Q. Is Gamestudio suited for a 13-year-old?

A.
We don't know the average age of our users, but the youngest participant in our game design contests was 12, and the oldest 78. Gamestudio is frequently used in game creation courses for teenagers.
Q. What was the first commercial game made with Gamestudio?

A.
he first commercial games were the 3D Hunting series by MacMillan. They were developed shortly after the Gamestudio/A4 release by the end of 1999. The grizzly hunting game was the first Gamestudio multiplayer game.
     
Q. What was the game with the most distributed copies so far?

A.
Great Clips Racing, an advertising game with 1.5 million produced CDs, developed with Gamestudio by Digital Content. The developer wrote us: "I am doing this all with the commercial edition of your software. Compared to what I paid for it ($199) and what I am getting from it, I am very happy."

Q. What was the biggest project ever done with Gamestudio?

A.
The biggest project so far (and probably the largest 3D world created ever) was the 3D reconstruction of the German city Quedlinburg for the World Exhibition. On a huge video screen, visitors could walk through the medieval center, and enter buildings, colonnades, towers, and cathedrals.

This ambitious and spectacular project was developed by Procon GmbH and the German Foundation for Protection of Historic Monuments (Stiftung Denkmalschutz). The Quedlinburg old town was created anew on the PC, using over 5000 photographs of historic facades and building interiors. Over 400 detailed buildings were reconstructed. The virtual city covered a walkable area of around two square miles. It was divided into multiple zones which ran on a network of PC servers.
 

Q. Which was the most sophisticated Gamestudio project so far?

A.
The project with the most complex scripts we know of is 3D Driving Academy by Harro Besier and Czeslaw Gorski. Not only districts of Paris, London, and Berlin were reconstructed for this project: a vehicle physics engine was written totally in script (the A5 engine had no own physics system). The most sophisticated part however was the traffic AI that controlled hundreds of cars, motorcycles, people, and traffic lights. It even verified that the driving student didn't violate the rules - and this with the traffic rules of 6 different countries!
Amazingly, the first version of 3D Driving Academy was developed on the side by only two people in 5 months. Meanwhile version 3 is on the market and successfully distributed in many European countries. More than 200,000 copies of 3D Driving Academy were sold so far in retail stores in Germany, France, and the Netherlands, making it the most successful Gamestudio application ever created.

  

Conitec Datasystems, Inc · 5000 Thorne Drive, Suite F · La Mesa, CA 91941