Archived

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

camcbri

What systems does a basic game engine need?

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
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.

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