[SDL] writting a doom-like game
priest at seraphim.info
Tue Jan 4 10:08:45 PST 2005
> Does anyone here have a good advice?
Well - I do have a copy of the doom-source at home - the following to
- Most things they did back than were necessary back than but are not
To learn how to code the old way is not bad but IMHO wasted time
because you will still have to learn the current ways of programming
and if you learn those you will sooner or later understand the old
In short - redundancy :)
- Seeing the doom code is good if you want to learn some (old) dirty
tricks. Can be helpfull some time but you will need some understanding
of what they do first.
- You say you code Java - well - let's hope that's not the only
language because a jump from Java to assembler (which doom is written
in) is a - let's say - HUGE leap. If Java is the only language you know
you should learn C (or C++, but C is better (IMHO) if you want to head
that way) first before hitting assembler.
- It may be handy to know how to write a complete renderer (rasterizer,
etc.) but that's all. You don't actually want to write a renderer
(believe me :) you want to create 3D graphics (at least I did - and I
had the same idea you have ;).
In short - get a book about the basics (e.g. Peter Shirley -
Fundamentals of Computer Graphics) that will give you all the
understanding you need in much less time.
Furthermore IF you want to learn from doom you have to understand all
the optimizing they did and that can get really hard if you don't know
the basics which the doom code will NOT tell you (like I already
- If you did it anyway and wrote your own renderer you will sooner or
later discard it and turn to OpenGL or DirectX. Why? Those libraries
stick around here a long time, meaning many people put lot of work in
it, meaning those libraries will be better than anything you will end
up with in the same time. And - after all - if you want to write games
you need to know one of those libraries anyway.
Ergo - what I would recommend:
- If you don't know C - learn it. If you learned C - switch over to
C++, maybe have a (short) look on assembler (comes handy some times).
- Get a book about 3D basics (e.g. Shirley). If you feel like you want
to code a few parts of it - do that one-by-one.
- After that get yourself a few OpenGL tutorials (e.g.
nehe.gamedev.net) and play around with those to see how OpenGL handles
the basics you just learned. You will see - you only need a fraction of
the basics you learned and happily not many of the complicated ones.
- And - if you still don't have enough - get yourself the book "Real
Time Rendering" - that covers nearly every topic in computer graphics.
But after all - that's only my opinion - the rest is up to you :)
More information about the SDL