Skip to main content
gamedev.net
🔒 Locked

Engine Design

Started by null_vector May 29, 2003 at 4:33 PM 4 replies 2k views
Original Post
null_vector
null_vector
I''m going to start on a base engine to be reused my coworkers with the help of some of a couple of them. I''m trying to work out the base design for it now and I think I have somewhat of the heirarchy/interaction fleshed out that I''m looking for. XML Diagram http://innervoid.com/projects/Dyp3D/classes.xml What I''m looking for is first(and obviously) Comments on the design, suggestions, or references. second, ideas about how to set milestones and work areas using say 2 programmers(including myself) full time so that it meshes well concurrently. third experiences implementing this kind of thing. I''ve read quite extensivley on this topic and consider my knowledge of software design, graphics, etc to be adequate but I''m clueless as to where to start. There are of course some areas missing from the diagram above but its all pretty much in my head at this piont. Its going to use some third-party libraries for physics and animation(tokamak and liquid motion respectively). And I will most likely be using boost throughout. If this all sounds like chaotic rambling, sorry. It is. Questions, comments, suggestions, and references all more than welcome.
find / -name "your base" -exec chown -R us:us {} ;
Mage2k
Mage2k
Well, it seems that you aren''t totally clueless as you''ve already got a top level system design down. Now start to refine that design by adding (and documenting) attributes to each of those classes, and then methods, and then start coding.
---------------------------------------------------There are 10 kinds of people in the world:Those that understand binary, and those that dont...Mage
ToohrVyk
ToohrVyk
If I were you... I ain''t, but if I were, I''d allow the camera to be a part of the scene graph ( in fact, being a transform node ) so you can tie it to another object (the player''s back/side ) without too much pain.

ToohrVyk

VladR
VladR
quote:
but I''m clueless as to where to start.
Get something rendered to screen and let it interact by keyboard with some other objects interacting with themselves. If those objects will be imported from some 3D program (3dsMax,Maya,Lightwave) and shall be rendered using using LOD and textured/Multitextured/Bumpmapped/Radiosited and all this is in Level 07, you have gone pretty far already.
Youve got to see something on screen so that it makes you move forward.
And don
t overplan, it might start feeling like overkill.


VladR
Avenger game
null_vector
null_vector
thats the thing though. I''ve implemented all this stuff in the past but I''ve just never put all of it together and made it all reusable with a high level interface.

quote:

If I were you... I ain''t, but if I were, I''d allow the camera to be a part of the scene graph ( in fact, being a transform node ) so you can tie it to another object (the player''s back/side ) without too much pain.



This idea is shamelessly taken from NetImmerse/GameBryo it makes sense but because of NDA i can really explain that much :-/

As far as attaching to a scene node, whats to stop it from having

Camera::AttachToNode(node, params);

find / -name "your base" -exec chown -R us:us {} ;
ToohrVyk
ToohrVyk
The idea I proposed was shamelessly taken from my own Extatica Engine, where I decided to derive my exCamera class from my exLocation class six months ago, without even KNOWING these engines existed.

Besides, I never downloaded, let alone used, NetImmerse or Gamebryo. But I am flattered to see smarter and more dedicated ppl than me came up with the same idea... ;-)

There''s no problem in saying Camera::SetOrigin( Node ) as long as you can also say Node::SetOrigin( Camera ). For instance, you could want to tie the weapon model to the camera in an FPS, or maybe some billboards. Since computing matrices in a hierarchical design can sometimes be a pain to code if you want it to be optimal, I found it fitting to reuse the code in my exLocation Origin-System for my exCamera, so I simply inherited the latter from the former.

ToohrVyk

Topic Locked

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

Sign in to reply to this topic.