i'm new to game developement and i want to fill the missing spots in the proccess of creating games for PC. my intentions are for first person action games like "return to castle wolfenstein", "hitman" or "call of duty" series. i've done some interior designs in autodesk 3ds max and also wrote web/windows programs in c#. so now i like to know how games works. here is what i came up with:

first: create models and export them in whatever format your rendering engine prefers. so any object has to be modeled seperatly no mater what kind of object it is.

second: tell the engine where and when to render which object.

Q1) what about object behaviors?do you use the 3d software built in scripting like maxscript? or is there some other way to create behaviors in advanced levels?

Q2) how do you create clipping for objects? since by default graphical shapes don't have such a feauture.

Q3) most of those games played in a virtual world. so do you have to create the world at once? or is it actually seperate pieces that will be assembled by rendering engine?

i know these are very deep questions that can't be simply answered in a few lines. so if there is any book that is not too detailed and not too general, i'll be really appreciate knowing about it. in any case i really appreciate your answers.

  • \$\begingroup\$ I'm not a 3D guy, but, from the looks of it, I think there are many answers to each question you asked, it might just be engine specific. \$\endgroup\$ – jcora Feb 19 '12 at 17:32

This is a bit of the "how does the world work?" question, but I'll try and give you a summary, since I don't know of any book that answers this succinctly without walking you through each step in turn.

The objects that get rendered are usually made with 3DS Max or Maya, and then exported in a format that your engine can read. Most existing engines have custom exporters, or can read one of the existing model formats (eg. FBX, Collada).

The positioning, movement, and behaviour of the objects once the game is running is all dictated by the game code. In most commercial games, this is written either in C++, or in a language specific to the engine (eg. Unrealscript for Unreal, C# or Unityscript for Unity, etc), or some combination of the two. Some of the functionality will come from the engine, some is made specifically for each game. This is basically what the programmers are spending years doing when each game gets made.

I don't know what you mean by 'clipping' for each object, but if you mean detection of collisions then there are algorithms that measure a model and determine its shape and size, and can compare those dimensions against those of other objects (eg. the floor, walls, projectiles, other characters). What happens when a collision is detected is decided by the game code.

Each engine has a different way of dealing with a virtual world. Some will load it in as basically one large piece of geometry made in a level editor or 3D package. (Indoor settings are often done in a way similar to this.) Others might store it as a height map plus a variety of decorations such as rocks, trees, etc. (Outdoor games are like this.) In each case it might be possible that one single model or terrain is not big enough, so you create several and work out some way of stitching them together at run time - again, this is handled by the engine and the game code.

  • \$\begingroup\$ interesting informaion man! this is what i call "usefull"! so why even the best games have issues for detecting accurate collisions? all the games i named in my question have minor issues when it comes to collisions. e.g. moving in the thumb in the chamber shape of gun while reloading. \$\endgroup\$ – jim Feb 19 '12 at 22:20
  • \$\begingroup\$ Perfectly accurate collisions are possible but take too much CPU time, so usually games use some sort of approximation. However for purely visual effects like the player holding the weapon, they probably don't do any collision at all, and instead just try to align the animations manually. \$\endgroup\$ – Kylotan Feb 20 '12 at 9:55
  • \$\begingroup\$ oh man! thanks a lot. where can i find a book for this stuff so i won't ask "how the world works" questions anymore. \$\endgroup\$ – jim Feb 20 '12 at 11:51
  • \$\begingroup\$ I don't think there are any books that tell you everything in one single book. You could look at "Game Coding Complete" but it's not a beginner text. (Because AAA 3D games are not beginner projects, obviously.) \$\endgroup\$ – Kylotan Feb 20 '12 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.