A reimplementation of the DOOM engine for the Sega Saturn console built around the Jo engine.
The Sega Saturn recieved an official port of DOOM which suffered from a very low frame rate. The hardware appears well-suited to the mixure of pseudo-3D and sprite based rendering but the developer was instructed to perform a straight up port of the game without using VDP1 and VDP2's custom 3D video acceleration, relying on software rendering on the two SH-2 processors instead. As an exercise in exploring the Saturn's hardware I feel performing a similar port - one which will make greater use of the graphics hardware - would be the best way to get hands on experience with the platform. With a little luck, we may even get some playable levels out of the project. :)
In an act that was unusually enlightened for the time, id software released the source code for DOOM. As a result there are many in-depth resources, including the source code for numerous other ports, which elucidate how the DOOM engine works. A few which I've found especially useful for this effort are:
- Fabien Sanglard's excellent website
- Fabien Sanglard's even more excellent book dedicated specifically to the DOOM engine
- The original DOOM source code
- Michael Abrash's book The Zen of Graphics Programming
- The decompiled and annotated PSX source code
- Install the Jo engine SDK and checkout this code under its
Projects
directory. - Add the PSX DOOM WAD content to the cd directory.
- Run the
compile.sh
script.