What systems does a basic game engine need?
Hello!
I''ve spent quite a bit of time learning OpenGL and now that I''m ready to bring it together into a demo/game, I realize that I don''t know how! I was wondering if you all could give your opinions as to what type of systems or classes are necessary in a basic 3D game engine.
What I would like to create is a 3D space shooter. The only requirements are to fly around and shoot a couple of enemies, have some laser sounds and background music, and teach the enemies a few evasive/flocking tactics.
What classes would you think are necessary to do this type of thing? Also, just out of curiousity, what exactly does a camera class do??
Thanks again!
Well, I''m not experienced in 3D programming, but my guess is that a camera class is what allows you to rotate, zoom in/out, etc. the immediate area.
In terms of systems it''s pretty straightforward. Rendering, Physics, Sound, AI, and all the other components that you would picture in a game. In terms of classes, well, that''s sort of up to you. There''s no correct or incorrect way to design a game, it can be done in many different ways that are all equally valid.
I''ve found that having some sort of resource management subsystem(s) can be useful. That''s code that will allocate/deallocate resources like textures, models, sounds, etc. and give out handles so they can be used in multiple places.
I''ve found that having some sort of resource management subsystem(s) can be useful. That''s code that will allocate/deallocate resources like textures, models, sounds, etc. and give out handles so they can be used in multiple places.
Well, here''s how I have my stuff divvied up...
* Data Engine - Controls loading files from disk and storing them in an easily accessible format. This is subdivided into modules which do the following
-parse various formats
-organize data in memory
-returns handles to data when requested
-loads textures and models, making them accessible to the rest of the game
* Graphics Engine - quite simply, chews through arrays of texture, vertex and normal data as quickly as possible. The game starts in the Graphics engine, the data engine is called internally and through a drop-down console
*UI, input, sound, music, camera control, etc are all created as class structures that get called from within the data engine.
* Data Engine - Controls loading files from disk and storing them in an easily accessible format. This is subdivided into modules which do the following
-parse various formats
-organize data in memory
-returns handles to data when requested
-loads textures and models, making them accessible to the rest of the game
* Graphics Engine - quite simply, chews through arrays of texture, vertex and normal data as quickly as possible. The game starts in the Graphics engine, the data engine is called internally and through a drop-down console
*UI, input, sound, music, camera control, etc are all created as class structures that get called from within the data engine.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement