Game Engine - Further Progress
I began programming my game engine, I blocked out all the interfaces first, and began hooking up the systems. So far I have the invoker, the engine which calls in the window system and the renderer system. Then you can pass the engine arguments which makes it decide which DLL to load (editor, game, other tools, etc) or default to game.dll
Here you can see some of the structure of the core executable I expanded all of the interfaces everything that is in the world extends IEntity, which essentially means it has an ID, an Origin, Angles, and Scale. I started on the UI system, and created an IWindow which actually pops up the window, the renderer does the openGL initializing and some of the graphics initalizing (I’m using Horde3D for the actual renderer, but building a wrapper around it).
It is very important I’ve found to get something up on the screen as soon as possible, so I started with that, and I got it so I could pass in assets to the renderer from the DLL to be added into the scene, and set the active camera, and even modify the camera position. There is no input at this point, that will be the next step.
I also randomly went off on a wild tangent and modified Horde so I could turn off showing Bounding Boxes for any entity at any time (this will be very useful for the editor).
Currently this is all running in a single thread, I will be splitting the different sub systems off into their own threads soon, but I want to get a base down before I do that.
Below you can find a screenshot of the game running in windowed mode showing bounding boxes.Comments