Game Engine

Hey guys, Im designing a Game Engine, for a game (Obviously). I was originally going to use Unreal, but I decided it didnt give me what I wanted. Basically its for a Third Person Roleplaying Shooter. Its going to be for PC, but ported to both next gen consoles (Not the WiiU, though, because just ceebs, thats why).

Basically I want to know where to start, I have a decent understanding of CPP, and 4 other guys helping me with the actual code. Only we dont know where to start and where to go.

Everywhere else on the internet just says "Start where you think you should", but hell If I know where that is :P

First person to give me a decent answer gets cookies. But im on the dark side so the cookies will probably be burnt. Sorry. 

In all honesty I've been working on my game engine properly for 5 months. So I don,'t mean to say you are skilled enough for the task I'm just recommending, look before you leap. A game engine might seem simple and fun but if you want much of a game that runs nicely it takes awhile to do. Also porting to game engines isn't nearly as simple as you might think. Consoles have completely different architectures and build protocols and systems etc. Writing an OpenGL or DirectX program or script is nothing near the same as writing an engine. Now maybe you are up for a massive project. Getting a working small engine can take up to a week.. Without any engine UI. Here is just a small list of what you'll need to account for in a game engine. 

Asset management, memory asset management, asset conversion, animation engine, texturing engine, user interface, mathematics engine, lighting engine, shader engine, logic engine, collision detection engine, scripting implementation engine, runtime engine, LOD (level of detail), terrain engine, imaging engine, rendering engine, importing engine, runtime asset management, thread mmanagement. All of this x3 because you want it on PS4 the next Xbox and PC. 


I'm not trying to discourage you but the game engines that are made by big companies really do require a lot of man power. Most of the game engine architects aren't even working on the game but fixing bugs constantly and updating as they go. In all honesty if Unreal Engine doesn't give you "what you want" you might have to consider how you were approaching the engine. The engine is one of if not the most powerful currently.


All in all game engine creation for 3D games isn't easy. There are a few books that if you are serious about this, that you'd want to read. Game Engine Architecture is one. But do note for an accurate estimate of the size of a proper game engine (even a very lightweight one) the book hits 850 pages without telling you in code exactly how to do something. It will tell you how to approach some of the problems but only covers a few things a full engine would need. 

woot woot woot! I will eventually begin down this project path. although I may find parts already made. like bullet for physics. ogre3d for rendering. write the rest yourself. don't forget a networking component

There's also some other more ready made engines such as Unity3d, Panda, and quite a few based off of ogre. This will help cut down on the time you spend creating an engine and will let you get started on a game quicker.

this will sound crazy but I don't ever actually intend to finish a game. I wanna do it more for the experience. if I do finish one, great