ABSTRACT

Encapsulating our models in a Manager Class will allow us to get a game object to talk to or interact with other game objects; we will need that for collision tests and other interactive points. The entrance code of a project should never be responsible for any game functions; its role is to start-up the game, not to run the game. Simple space games don't need a huge amount of effort once the render systems are up and working. A Graphic User Interface (GUI) can also be rendered, using an orthogonal projection matrix that was the basic principle of our double buffer, though the projection matrix wasn't actually defined. But if we're going to use orthogonal projection in a 3D game, drawing a GUI is the most usual place to use one. 3D games also need us to display text, and we could continue to use the old simple 2D tile font on a surface and draw the surface exactly.