Engine Structure advices plz!

Started by
3 comments, last by frankanbailin 18 years, 4 months ago
Well, I am just a beginner.After working out some features,such as Skeleton Animation&SkinMesh, ShadowMap,BSP Tree, some collision detection and so on, I tried to organized them into an engine and made it grow up with new tiny games developed on it. But I have no idea about the engine core and the resource management.And got few things from google. And as a beginner, reading the source code of some open source engine is really a huge project for me,especially with no idea of how the engine core and resource management were developed. Any WebSites or articles on this? or any advices? thx in advance!
Advertisement
Try drawing out a diagram that shows the relations between your objects/structures and how execution should flow through various components. Break down the functionality of those components and determine what information they will need and how they will get it. That will help you to see the best organization for your particular implementation instead of trying to shoe-horn someone elses implementation to fit your project.

I know only that which I know, but I do not know what I know.
Furthermore, research some patterns. Some of the most common include:

Bridge
Mediator
Chain of Command

Finally, download the Irrlicht Engine, and study how it's put together. It's at least a decent starting point.
[ search: google ][ programming: msdn | boost | opengl ][ languages: nihongo ]
Engines are designed to be run on by games correct? So what we have is a basic hierarchy so far. The game runs on the engine. If you leave it there, it could get very hard to create both. So let's look at the engine. Lets say you have some high level objects such as Character, Level, AI, Car, etc... All these have something in common, they need something else to build off of? What could that be? Well, a character could need AI and a Level. It would also need a collision detection system, textures, and model data. We can use collision detection, textures, and model data for the level and the car too. So what does that mean? It means that those objects are re-usable. So we create texture classes, model data classes, collision classes that we can use them for all the objects. The hierarchy keeps going down until your at basic things like memory management, vector math, and more simple stuff like that... Now that we have the whole data section of the engine covered, you have to encapsulate the functionality of the engine, or the part that makes it work. So you create a process manager, which runs different subsystems. These would include phsyics, audio, input, rendering, etc... Hope that gives you some stuff to chew on.
We should do this the Microsoft way: "WAHOOOO!!! IT COMPILES! SHIP IT!"
sure,thanks men!

This topic is closed to new replies.

Advertisement