Skip to main content
gamedev.net
🔒 Locked

design question...

Started by no one 1 reply 400+ views
Original Post
no one
no one
Hiya First off, let me say that Im sorry for submitting 2 posts one after the other, but the other is more less something I thought that most people would like to comment on. Anyway, im developing my own 3D rpg engine right now. I have a small design doc that I wrote a while back and I wanted to run it by you guys. Basically right now, the project is just a collection of code, although organized, the engine has no real structure to it. What I plan on doing is writting a engine interface class which will alow me to access anything from the engine, anywhere from hud display to the entire 3d world. This engine class will alow me to create a new game asap. Note that the game's object classes and such, will be derived from different entity classes from the engine, which are handle by the engine. So a few questions exists: 1) Would it be practicle to right a 'engine' class which is basically a list of pointers and functions for accessing the engine's classes? 2) Should I turn the engine into a dll and have the game into the main exe which loads the engine dll, or should the game be a dll in which the engine loads? (second choice seems better to me). 3) Is this the common method developers use to make an engine easy to use? It would seem to me like it would provide a quick development process and would be very easy to make a TC (mod). of the game. Thanks a ton every one, again, sorry for the two posts being back to back. ~Jason [edited by - no one on January 20, 2004 6:34:10 AM]
"Make it a habit to be loyal to the activities that serve the highest part of yourself."
beaton_john
beaton_john
I would say have the engine load game dll (like q3a, hl2, etc). This is what mine does. Also, have an external graphics renderer in a dll. This lets you change to directX, openGL. What is better is an entire plugin system.

This is what mine does:


search for files (all *.dll, *.script, etc)
load in these files, convert / compile into CGameObjects
find CGameObjects named "game"
run the one with the highest version (float)


load all CGameObjects with identifier video_render
load all CGameObjects with identifier light_mgr
load all CGameObjects with identifier texture_mgr
load all CGameObjects with identifier image_mgr
load all CGameObjects with identifier resource_mgr
load all CGameObjects with identifier file_sys
load all CGameObjects with identifier audio_sys
load all CGameObjects with identifier input_sys

These can either be internal or external if a higher value is specified.

cheerz jb
logout
logout
sry for hijacking this thread, but does anyone know a good book that focus on desining the acitecture of 3d engine''s ?

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.