I've just about started with a project I've had in mind for ages. I don't quite know how to start such big projects (bigger than Pong, anyway), so I thought I would get started by making a basic organization.

Now, in games like Freelancer and X feature large, open spaces. I ma aware that these have to be organised, to ensure collision testing don't happen continuously anywhere but only where the player can see it.

I thought first about a general scene graph, I am familiar with those, but it would just have almost all objects directly in the root node. The next idea was a Quad/Octree, but the objects are not quite static, and I don't know if it would make sense if you have to change the tree's organisation every second frame.

So, how is this done in real games? I'm using C# with XNA, if that matters, and would like to run the game on the XBox as well.


1 Answer 1


Given the minimal information in the question, there is no general answer to that.

Except: Real games use engines that implement features as scene-graphs and proper data structures for collsion-detection and -optimizations, rendering, network, input, serializing and much more.

The idea is to write a game, not an engine.

Unity3D is such an engine for C#.

  • \$\begingroup\$ Would the Blender Engine help me there, too? Unity looks nice, but are they good for a game like Freelancer? \$\endgroup\$
    – Lanbo
    May 28, 2011 at 9:56
  • \$\begingroup\$ AFAIK Blender only supports python as stated here \$\endgroup\$ May 28, 2011 at 10:11
  • \$\begingroup\$ I don't know freelancer, but here is a list of games made with Unity, that will give you an idea. A video with a spacecraft-like-game called Zero-Chance and made with Unity can be seen here \$\endgroup\$ May 28, 2011 at 10:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .