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

Ritual Magic

This may be a series of stupid questions, but....:)

Recommended Posts

Ritual Magic    132
....I''m going to ask em anyhow Alright, I''ve only posted a few times here, and am still not experienced enough in either programming or a specific graphics library to be asking questions like these, so it''s going to seem a little bit strange, but.... In a previous post I mentioned being blown away totally by the Morrowind engine. The question I''d like to ask is a little general, but it''s basically this: What are the various technologies used in a game engine of that type? I''m pretty much asking about a) data structures (for the "maps") and b) various effects to make the whole thing look so good (seen the water? go look! quick!). I''m not really expecting a list, but it would be nice to have a few things to aim for. Hopefully by tonight, I''ll have a very very basic program setup whereby I can simply move a camera around a 3D space as if it was a first person view. Then I''ll add in a few objects like cubes as refence points. The I plan to get working on how to load and make maps. After that it''ll be collision detection I suppose, then loading models, then animation and then ..... and then .... ?? What? Some fancy kind of smoothing or shading? What about lighting? Particle effects? (Watch out soon for the "Flaming Hippy Demo" ) Funky physics? I know I have mentioned nothing there at all about the actual GAME engine, just graphics - for the moment, I''m going to concentrate on actually getting things on th screen. Once I figure out how to do that, I''ll begin a proper games engine. Did this entire post make any sense at all? :D RM.

Share this post

Link to post
Share on other sites
borkman    122
Yes, it sounds like you have the right idea.
I''ve been working on a little game engine
over the past few years. I''m not familiar with
how Morrowind works, but any 3D game engine ought
to be able to track 3D objects in space, model the
physics of the objects, and draw the objects to the
screen. If we''re talking about a game engine (and not
just a graphics or physics engine), then you''ll want
sound effects and music also. Loading object geometry
from a file is also a must. Don''t worry, I started much like
you; not knowing OpenGL (which I happen to be using now).
It''s good to just play around with whatever graphics API
you want to use first. Get to know how it works.
Experiment with it. Then start making your engine.

Check out my game site for a history of my progress.
I''ve been working on collision detection for about a
year. I''m coding the V-Clip collision detection
algorithm as part of an independent study project for school.

A little advise:
Get used to using dynamic data structures like linked lists.
You can add and remove nodes very easily from linked lists.
I use linked lists all the time.
Vectors can be good too, but you have to be careful with them
because if you don''t use them right, they can slow your
game engine down when you resize them.
Also, abstract the idea of a virtual world.
My engine can simulate multiple worlds simultaneously while
showing you the world you''re currently in. This could be
useful for multiplayer games where gamers could be in totally
different areas of the game. For example, if you made a
futuristic game where you could travel between solar systems
with a warp-drive-equiped space ship, each solar system would
be a separate simulated world. You would also need this if
you want to write a first person shooter game server that
can handle multiple game sessions simultaneously.
Make objects that can be composed of other objects. This is
absolutely necessary if you want to model people or machines
with moving parts. For example, a car has moving wheels.
The car body (without the wheels) is one object. Then the wheels
are other objects. When you draw the car body object, it
should know that it''s supposed to draw 4 wheels at the
correct locations.
One last thing, don''t keep duplicate copies of geometry
information for each instance of a particular model in your
engine. So if you have 5 objects on the screen that all
happen to be the same model, you only need to store that
model once to draw all the INSTANCES of that model. Your
engine should track all the instances of the models.
Each instance will have to know what model represents itself.

Steven Borkman
Home Page:
Video Game Page:

Share this post

Link to post
Share on other sites