Search This Blog

Sunday, July 25, 2010

Introduction

So. Doom.

Doom's a great game. Not only was it a breathtaking graphical achievement at its time, the gameplay and design of Doom still hold up to this very day. Simple, yet surprisingly deep, like a modern day Shakespeare.

Truly, Doom is the Citizen Kane of gaming.

So yeah, I'm a fan. Played it to death. Used to make my own WADs for it. Revisited it on Xbox recently.

Then one day I woke up and thought: I can make this game. And that's exactly what I plan to do.


So why Doom, specifically?

Because Doom is awesome. But also because Doom is a perfect fit for a single programmer hobby game. The game was designed to run on hardware from 20 years ago. To make it work, Carmack and co put a lot of smart simplifications into the game. Those same simplifications make the game a lot easier to code than modern first person shooters, while the current hardware allows me not to worry too much about optimizations.

For instance:

  • Doom levels can be designed with a 2D top down view, no need to have a 3D editor or create exporters for Max/Maya.
  • Walls are always perfectly upright. Floors are always perfectly level. This makes collision detection and physics super easy!
  • Objects are sprites instead of 3D models. Sprites are way easier to find/make than animated models.
  • Doom geometry is sparse when compared to modern 3D games. Modern GPU's can probably render an entire level without breaking a sweat, saving me the hassle of programming visibility culling.
This blog will catalogue my successes and failures. Although writing a blog about something is the best way to lose interest, let us hope that there will be plenty of both.

No comments:

Post a Comment