Archived

This topic is now archived and is closed to further replies.

What systems does a basic game engine need?

This topic is 5751 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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.

Share this post


Link to post
Share on other sites