Slashdot Mirror


Code Review of Doom For the iPhone

Developer Fabien Sanglard has written a code review for id Software's iPhone port of Doom. It's an interesting look into how the original 1993 game (which he also reviewed to understand its rendering process) was adapted to a modern platform. "Just like Wolfenstein 3D, Doom was rendering a screenframe pixel per pixel. The only way to do this on iPhone with an acceptable framerate would be to use CoreSurface/CoreSurface.h framework. But it is unfortunately restricted and using it would prevent distribution on the AppStore. The only solution is to use OpenGL, but this comes with a few challenges: Doom was faking 3D with a 2D map. OpenGL needs real 3D vertices. More than 3D vertices, OpenGL needs data to be sent as triangles (among other things because they are easy to rasterize). But Doom sectors were made of arbitrary forms. Doom 1993's perspective was also faked, it was actually closer to an orthogonal projection than a perspective projection. Doom was using VGA palette indexing to perform special effect (red for damage, silver for invulnerable...)."

4 of 161 comments (clear)

  1. Re:Already done by VShael · · Score: 5, Funny

    did you even read the article?

    You must be new here...

  2. Re:Classics never die by Hadlock · · Score: 4, Funny

    DOOM was a good game but it wasn't ground breaking in the same way that Quake was a few years later. It was the first FPS to do real 3D, and gave birth to real FPS competitive play, based on the groundwork that DOOM did with FPS LAN play. Aside from that, the Quake engine led to all sorts of interesting gamemodes and mods that live with us still (Team Fortress was originally a Quake mod), and the physics of Quake 1 still has a legacy today (rocket jumping, bunny hopping).

    You sir, have a career in video game blogging! Let me sign you up for a 3000 word "Top 10 Groundbreaking games of the 1990s" blog entry.

    --
    moox. for a new generation.
  3. I'd like to read this article by drinkypoo · · Score: 3, Funny

    But it won't fit on a 800 pixel wide screen. WTF? I thought it was a code review, not a flash game.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  4. Code Review of DOOM by asylumx · · Score: 3, Funny

    I think this is how I'll start referring to ALL my code reviews ;-)