Game Career Guide Forums

Game Career Guide Forums (http://www.gamecareerguide.com/forums/index.php)
-   Programming (http://www.gamecareerguide.com/forums/forumdisplay.php?f=7)
-   -   Game architecture and software engineering (http://www.gamecareerguide.com/forums/showthread.php?t=157)

h2osmack 07-06-2007 02:55 AM

Game architecture and software engineering
 
This has been a sticking point for me for a long time. I am a neat freak when it comes to architectures but I can't get my head around them half the time. I look on sourceforge for architecture examples but what I really need is something simplistic and documented. I did a module about software engineering but have yet to put a lot of the work into practise.
Can anyone share stories or direct me in the right path to making a template architecture for a simple game such as space invaders/pong?

HagNasty 07-13-2007 05:35 PM

I'm not exactly sure what you mean by architecture. each language has it's own rules so a generic structure is impossible. Can you be more specific in what you would like examples of?

h2osmack 07-15-2007 05:19 AM

I guess my terminology is a bit off sorry. I'm still learning lol.
Sort of a simple game engine that deals with object storage and brings in keyboard control etc.. so that I can use it as a template and build on it, put into a neat object oriented approach (the architecture?) so I can understand it hehe.

DMINATOR 07-16-2007 10:52 AM

I don't think there is one "good" choice when it comes to engines. Each engine designer creates something different and it is hard to decide what is good and what is not that good.

The only one who can decide that, is the game programmer who uses this engine.

I can recommend you to just try different engines. I mean "use" them and try to create something with them. That way you can quickly find the points that worked well and design your own architecture later.

A good start is OGRE which has some great ideas and is very well documented. I have also enjoyed The Nebula device structure and code design.

Good Luck !

yaustar 10-17-2007 03:02 AM

Roundabout answer: Make Games not Engines

Actual answer: "Game Coding Complete" is one of the best books I have read about an overview on the design of a game 'engine'. Probably overboard for a Space Invaders clone though.

iddqd 10-26-2007 02:52 PM

OGRE actually isn't a game engine...it's a layer of abstraction between OpenGL/Direct3D graphics routines.

Are you asking for a "point in the right direction" regarding designing an engine or a good engine to use? Fortunately, I haven't had to make too many engines from scatch (I've always kept re-usability in mind)...but when I have had to do it, I generally try and think about the types of mechanics I'll be presenting first. I find it helpful to try and categorize things by what is unique, and what is fairly standard. I then start off with the basic/standard stuff, and keep in mind my unique, more difficult requirements while building from the ground up.

I have also found it helpful to utilize inheritance a lot while designing. For example, you may find that when dealing with lighting, it's easiest to incorporate a generic "Light" class, and build from that. This way, your other concepts don't have to be aware of every type of light you have in the game to stay flexible for your ever-changing needs. All it needs to know is there is some "Light" that's acting on it...not a spot light AND/OR a lamp light. Sometimes it's helpful, sometimes not. Just depends on the project :D

Other than that, I would just say start small, then iterate through it time and time again as you add more functionality. Although it's more efficient to get a solid design first, then build on that foundation, don't get discouraged if you have to go back to the drawing board a few times. You'll find you learn a ton along the way.

chrono1699 10-26-2007 10:33 PM

I agree with iddqd. Here's a website that can teach you openGL, http://nehe.gamedev.net/
It'll help you build from the bottom-up.
To add a little more to the conversation as well...sometimes it's good to have a game engine that's been produced by another guy...but in order for you to know the functionality of that engine, you would have to read someone else's codes and know what it means. It's better to start from the very basic and work things up. That way you can build your own engine and still know and understand the 'insides' of it. OOP is a very difficult concept to grasp. Just take it step by step...what makes the engine work? you'd need mathmatical classes that produce point a to point b...so that objects looks and simulates real life...collision detection classes, so that you can have objects in the world seem real where an object can't pass through walls or floors...physics where a sphere can be simulated to a basketball and have that bounce effect...there's more to an engine...sometimes you need a team to atually get it up and running...ayways, good luck on it


All times are GMT -8. The time now is 06:16 PM.

Powered by vBulletin® Version 3.6.9
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.