Parts of a Game Engine?

Started by
3 comments, last by zyrolasting 14 years, 6 months ago
I am trying to layout the folder structure for my Game Engine so I need to know all the different parts that are included in a game engine. I know that general components are included in the engine while more game specific components are included in the game and not the engine. Here is what I have so far: Graphics - the classes and methods for starting the rendering engine and things like that go in Graphics. Audio - the Audio engine Network - Networking manager Math - Math helper classes Objects - helper classes for loading different types of objects Particle - Particle Manager Physics Would AI go in the engine or the game? I know different types of games need different types of AI. What else should be included in the engine?
In Development:Rise of Heros: MORPG - http:www.riseofheroesmmo.com
Advertisement
Input, OS event handling etc. would also be a part of the game engine. AI is usually a part of a game itself. A game engine usually comes with tools for world creation, asset importing etc.
Everything that you need to build your game (so probably a base AI module, like A* routines) is in the engine ;)

Entity/Component system.

Events, triggers.

Scripting.

GUI.

Debug screens, utilities (stack traces, memory dumps).

Concurrency framework.

Spatial partitioning.
Tools for testing, debugging, world building, etc.
really can't wait for this bay sh to blow uphigher than a spaceship waitin on a momentsittin in a meth-lab hope it dont blow upfor a lifetime imma rhyme but im not a poet
Hey Empire!

As you likely know, An engine is really just the application you "really" run when you start a video game. When you start up a copy of a popular game like COD4 or even an obscure one like Pac-Man World, the game in itself doesn't really have much of a unique manifestation. You just ran the engine that was simply made aware of resources to bring a world to life. I babble about that because there is no way we can tell you all the parts that can be included in a game engine. We can list several useful tools like light map compilers and script interpreters, but some of these may be abandoned overnight in favor of a new concept.

There is no one Game Engine you can make that can sit on your drives ready for anything. However, some teams can dedicate a huge amount of time and resources to develop a "general" engine that keeps up with the industry like the powerful and widespread Unreal Engine. These applications offer well-to-do editors, but the games that are output are really just copies of the engine with different resources. UT3, Bioshock and Mass Effect are all one app.

Hobbyist and indie developers can dedicate time to making powerful tools and engines, but should understand that it's probably better to parametrize very general tasks that all of your games WILL go through and just concentrate on making specialized features for each game. You can surgically extract specialized code you want to use again or start a new project dedicated to writing an engine tool like Terragen, which can really help you out.

This wikipedia article answers your question more specifically in the first paragraph.

Here are some links to game tools I scavenged, as well as the wiki article.



Long story short: Whatever your game requires is what your engine needs. You will always need a new engine at some point anyway. Just try to generalize some parts of the engine that you know can be reused, and try to collectively make a piece of software you can eventually come back to over and over again for developing your next big hit. [smile]

Hope this helps, and cheers!
-Zyro

This topic is closed to new replies.

Advertisement