Making Graphics Like it's 1993
A solo developer is building a new first‑person shooter with a custom software renderer and strict early‑1990s constraints, echoing engines like Wolfenstein 3D and Doom while explaining the technical trade‑offs in detail. Commenters dive into raycasting vs BSP and portal‑based engines, palette and lighting tricks, sprite pipelines, and how modern GPUs could reproduce or exceed these effects with far less effort. Alongside the technical nostalgia, the thread touches on representation in “boomer shooters,” the appeal of self‑imposed limits for creativity, and renewed appreciation for the ingenuity behind classic PC graphics.
Engine & Rendering Techniques
- Many compare the engine to early 90s shooters: structure is closer to Wolfenstein 3D–style raycasting (orthogonal walls, fixed floor/ceiling) than Doom’s full BSP, though some features echo later engines.
- Clarifications: Doom and Build (Duke Nukem 3D, Shadow Warrior) differ; Build uses sector/portal traversal and trapezoid wall rasterization rather than BSP, enabling “room over room” tricks and dynamic walls.
- Debate on floor rendering: one side claims Doom approximated floor perspective via patches; another notes per-row perspective divides and links to Doom’s floor code.
- Several posters advocate sector/portal-based raycasters (like Build) for more flexible geometry than grid-based Wolf3D.
- Classic VGA details: mode 13h linear 320×200, Mode X/unchained modes, 0xA0000 framebuffer, and tradeoffs between ease (linear) and power (planar) are discussed.
Art Style & Asset Pipeline
- Strong appreciation for the posterized, palette-quantized look; people like how near-black tones “crunch” into distinct bands.
- Interest in the sprite pipeline: 3D renders → postprocess → palette mapping; some note how surprisingly crisp the results are compared to usual “mushy” 3D-to-sprite conversions.
- Discussion around consistent pixel scale: raising sprite resolution for a few objects would visually clash unless everything else is raised too.
Modern APIs vs Retro Constraints
- Some argue it would be more interesting or practical to use modern OpenGL/GPUs for the same aesthetic, especially to support higher resolutions and prevent nausea.
- Others counter that the charm lies precisely in using period-appropriate software rendering, and that modern GPUs are so fast at low-poly scenes that extra occlusion culling may actually hurt performance.
Protagonist & Representation
- The calico pattern implies the cat is (biologically) female; this triggers a side thread on how rare female protagonists are in FPS/“boomer shooters”.
- Posters cite Steam tag counts and modern multiplayer shooters with selectable female characters, disagreeing on whether “rare” is accurate.
Reception, Nostalgia & Critiques
- Majority response is highly positive: praise for the technical depth, self-imposed constraints, coherent art direction, and “1993” feel.
- Several express renewed appreciation for early 90s graphics ingenuity and share personal anecdotes of writing software renderers back then.
- A minority criticizes the “no AI” positioning and the claim of early-90s techniques while using modern tools like Blender, calling it nostalgia bait; others defend that tooling updates are reasonable for a solo project.
Shared Ideas, Tools & Side Notes
- Multiple posters share related experiments: custom engines (including Flash and DOS), lightmaps, fixed-point math, and palette-based lighting/look-up tables.
- Palette animation and palette swaps (e.g., water, lava, recolored enemies) are highlighted as powerful low-cost effects.