◐𝕏XGitHubLinkedInRSSGuestbookArchives
← Back
July 13, 2026

Sega CD Silpheed: The Art and Engineering of Fake 3D

Fabien Sanglard's deep dive into Silpheed reveals how GameArts used the Sega CD's hardware to create convincing 3D-like FMV—a lesson in creative technical constraints.

The Sega CD is infamous for grainy full-motion video (FMV) games like Night Trap and Sewer Shark. But one FMV title stood out: Silpheed. Unlike its peers, Silpheed didn't just play pre-recorded footage behind your ship. It layered interactive gameplay on top of real-time rendered backgrounds that looked almost like polygons. Fabien Sanglard's article The art and engineering of Sega CD Silpheed breaks down how GameArts pulled off this illusion on modest hardware. It's a story of ingenuity born from constraints—and one that still resonates with engineers today.

The Technical Autopsy

Sanglard's piece is a technical autopsy of Silpheed's rendering pipeline. The Sega CD had no 3D graphics capabilities—only 2D rotation and scaling via a custom ASIC (the same chip used for font rendering and bitmap rotation). GameArts used that ASIC to render pre-authored scenes from multiple camera angles, storing them as compressed video frames. During gameplay, the console would stream these frames from the CD-ROM, rotate and scale them in real-time to match the player's movement, and overlay the player's ship (a separate sprite). The result was a convincing fake-3D world that ran at a smooth framerate.

Sanglard dives into specifics: the video codec (a custom Huffman variant), the memory layout (tile-based with color lookup tables), and the clever use of the ASIC's mosaic mode to simulate lighting effects. He also highlights trade-offs: poor collision detection (since the background was baked, interactivity was limited) and the infamous difficulty level. The article is a masterclass in writing about retro-hardware tricks without losing a modern audience.

Why It Resonates on Hacker News

The HN thread is small (7 comments) but passionate. Nostalgia plays a role: one commenter wrote, "The Sega CD is my favorite console and I was fortunate enough to have one growing up. Silpheed was unlike anything else." But what hooks HN readers is the technical appreciation. Another commenter noted, "Using the ASIC meant for bitmap rotation and font rendering in an almost MPEG like fashion. Super clever."

There's also refreshing realism. The top comment ends with a warning: "Cool article, but Silpheed is a genuinely awful game." HN loves acknowledging that technical brilliance doesn't always translate to a good user experience. The thread reminds us that even failed products teach valuable lessons.

Engineering Under Constraints

Silpheed is a poster child for "engineering under constraints." The Sega CD was a weak add-on—a 12.5 MHz 68000 CPU with a basic blitter and a very slow CD-ROM drive. GameArts didn't try to brute-force 3D; they worked with the hardware's strengths (fast sprite scaling and rotation) to fake it. The result was technically impressive but gameplay-wise mediocre.

The elegance of the hack is striking. Instead of rendering polygons, they pre-rendered a 3D scene on a workstation, encoded it as FMV, and used real-time scaling to simulate perspective. It's a classic "all-in-the-pipeline" trick still used by game engines today (e.g., baking lightmaps, using prerendered backdrops for point-and-click adventures). The key insight: identify the one thing your hardware can do fast (rotate/scale) and design your entire engine around that.

Of course, the game's quality suffers because interactivity is an afterthought. The FMV backgrounds are static, so enemies appear and disappear at fixed points, making the game feel scripted. This is the eternal trade-off between visual fidelity and responsive gameplay—a lesson modern developers still grapple with (hello, 30fps vs 60fps debates).

What This Means for Builders

Silpheed's architecture offers a blueprint for working within tight resource limits:

  1. Embrace hardware quirks: The Sega CD's ASIC was meant for UI elements, but GameArts repurposed it for background rendering. Look at your platform's weird features and ask how they can be weaponized.

  2. Separate pre-baked from real-time: Precompute what you can. Silpheed essentially used a "video texture" approach—something now standard in modern engines (e.g., Unreal's Video Player plugin).

  3. Know when to cut corners: Collision detection in Silpheed is famously bad because the background was a pixel map, not a 3D mesh. If you can't afford accurate physics, design gameplay that doesn't require it.

Example: Suppose you're building a 2D game for an embedded system with a hardware sprite scaler. You could pre-render a 3D level as a series of scaled sprites, similar to Silpheed. Code snippet:

// Pseudocode: drawing a pre-rendered frame with hardware scaling
void draw_fake_3d_background(int frame_index, int player_x, int player_y) {
    // Load pre-rotated and scaled frame from ROM
    struct frame f = frames[frame_index];
    // Set hardware sprite scaling registers
    set_scale(f.scale_x, f.scale_y);
    // Blit the frame onto the background layer
    draw_sprite(f.pvr_data, f.screen_x - player_x * 0.5, f.screen_y - player_y * 0.5);
}
  1. Test the gameplay early: Silpheed's developers likely didn't realize how frustrating collision detection would be until late. Prototype the core loop before polishing the visual illusion.

Final Verdict

If you're a retro enthusiast or an engineer who loves clever hacks, read Sanglard's article. It's a textbook example of creative constraint-solving. If you're shipping a product today, the specific techniques are largely obsolete, but the mindset—"find your hardware's superpower and exploit it"—is timeless. However, if you're a game designer looking for a fun shooter to play, skip Silpheed itself; it's more museum piece than masterpiece.

Additional resources:

  • Wikipedia: Sega CD
  • Wikipedia: Silpheed
  • Wikipedia: Full motion video
Share on Twitter
← Back to all posts