Making Graphics Like it's 1993
Points and comments are a snapshot, not live.
Developer documents asset creation techniques for a retro 1993-style first-person shooter using 320x240 resolution and 256-color palette constraints.
Catlantean 3D is a complete first-person shooter built from scratch using early-1990s graphics techniques: 320x240 resolution, 256 colors, hand-coded rendering, and no AI. The project uses a raycasting engine similar to Wolfenstein 3D with textured floors and ceilings.
Asset creation involves three approaches: pre-rendered sprites from Blender 3D models (rendered via Python scripts, re-rendered in ~10 seconds when models change), hand-drawn sprites for small details where Blender's compositor fails, and procedurally generated textures. For lighting, the author builds a colormap: a 2D lookup table mapping palette colors to darker variants using Oklab perceptual distance. This enables O(1) distance-based darkening by calculating shade level once per screen column (walls) or row (floors), avoiding per-pixel palette searches. The palette itself was iteratively refined to include reserved colors for transparency, blood reds, desert hues, grays, and greens/blues for game mechanics.
What commenters are saying
Thread clarifies engine distinctions: Catlantean 3D uses raycasting on a tile grid (Wolfenstein 3D style), not Doom's BSP approach. Commenters explain Build engine (Duke Nukem 3D) used portal-based rasterization rather than BSP, and Shadow Warrior achieved room-over-room effects with duplicate sectors. One commenter details their 2009 Flash raycaster using sector-based portals with recursive casting. Discussion confirms the colormap technique (calculating shade level once per column/row, not per-pixel) matches classic Doom implementation. One thread notes modern GPUs would trivialize hardware rendering of such low-polygon geometry; author responds they may need OpenGL support for motion-sickness-prone players requesting higher resolutions.