Make a 3D Game
I'm going to assume you know how to program Windows in C++.
If you don't, you need to learn that first, then come back.
This is not an in-depth tutorial. It's just a pointer to
some other resources I've put together to help in creating
3D graphics for computer games. For an exhaustive set of
articles and tutorials, go to
GameDev.net .
First, go to NeHe Productions
to learn how to get a window on screen and rendering using OpenGL.
Then come back here.
Then, you'll want to export meshes from your modeling tool,
and you're going to wonder why your modeling tool (I'll
assume 3D Studio Max version 5.1) keeps a separate array for
each of texture coordinates, normals, colors, etc, each with
their own index, but OpenGL (or DirectX) want a single index into
all of these arrays. That's because hardware works that way, and
it would be too complicated and slow and make it work like 3DSMax.
Thus, you need to
normalize your vertex arrays .
Next is probably a question about how to create and move a camera,
separately from your geometry.
Simple Camera will get you there.
Once you load a number of meshes and move around them, you realize
that you'll need a system to keep track of all of these entities. Turn
to
Simple Scene Graph to do that. Hey, you're getting somewhere!
By the way, if you don't want to develop your own geometry
exporters and file format, You Can
Use Mine .
You may want to add effects like
Laser Bolts or maybe a cozy
Camp Fire . Isn't it great that there's code out there to use?
Now, the camera moves around, but you are probably using a height
field (loaded from a grayscale image, no doubt) for your ground -- how
do you figure out how high to put the camera for each camera location?
Try using this
Cubic Hermite Heightfield Interpolator . This is also great for
generating higher level of detail from a lower-detail image; it makes
everything rounder, and will interpolate outside the range of the input
sample values (as opposed to linear interpolation).
At this point, you want to get going with actual physical simulation,
rather than just rendering static meshes on screen. Hop on over to
The ODE Web Site and download a
FREE collision and rigid body simulation system. Then download my
Simple
Car Demo With Source based on ODE. Perhaps also read some notes
on
A Better Camera System Using Physical Simulation .
Boy, you almost have a game at this point! If you want to make it
work on a network, you should probably make it
NAT Safe so that your friends can all play, even though you're
all behind separate firewalls. You might find ENet
to be helpful in making a networked game, too.
That's it! No more help from me. When you're through with all of
this, who knows, maybe you'll give me some pointers instead! You can
try doing that at:
|