Custom Doom games are coming to Sega Saturn with Mimas Engine

The Sega Saturn has never been an easy machine to develop for. Its hardware can do impressive work, but only when every processor gets the right job. That’s exactly what Mimas Engine is trying to achieve. This new Doom-based engine doesn’t modify the original 1997 Saturn release. It starts again, using a modern codebase and a renderer designed around Sega’s unusual hardware. The goal is straightforward: take compatible Doom WAD files and turn them into playable Saturn first-person shooters. That sounds simple. It isn’t.

The Sega Saturn has never been an easy machine to develop for. Its hardware can do impressive work, but only when every processor gets the right job. That’s exactly what Mimas Engine is trying to achieve. This new Doom-based engine doesn’t modify the original 1997 Saturn release. It starts again, using a modern codebase and a renderer designed around Sega’s unusual hardware. The goal is straightforward: take compatible Doom WAD files and turn them into playable Saturn first-person shooters. That sounds simple. It isn’t.

Built around the Saturn, not forced onto it

Mimas Engine uses both SH-2 processors, along with the VDP1 and VDP2 graphics chips. Each part of the console handles a specific piece of the workload. The main SH-2 runs game logic, processes the BSP map structure and prepares rendering commands. The second processor helps draw columns and floor or ceiling sections. It uses a shared task system, allowing either processor to grab work when it becomes available.

VDP1 handles walls, weapon graphics and selected world sprites. VDP2 manages the framebuffer, sky layer and other display tasks. It’s a practical division of labour, built around what the Saturn can actually do well.

There’s no magic trick here. Hardware rendering doesn’t automatically solve the console’s performance problems. Memory bandwidth, bus conflicts, texture caching and command-list limits still matter. Some ideas that looked promising on paper didn’t improve performance at all, so they were removed or left aside. That’s good engineering. Test it, measure it, keep what works.

Turn a Doom WAD into a Saturn game

The engine’s biggest feature may be its content pipeline. Mimas Engine can load vanilla Doom WADs and many limit-removing projects. That means developers can take an existing map set, process it through the engine and build a Saturn-compatible disc image. They don’t need to write a new game from scratch.

There are limits. Projects built around advanced GZDoom features, ZScript or heavily modified rendering systems won’t simply drop into place. Mimas focuses on traditional Doom data and conventional map structures.

Even so, the supported range is already useful. Large IWADs such as Doom II, The Ultimate Doom, TNT: Evilution and The Plutonia Experiment are among the intended targets. Users still need to provide their own legally owned game data. The engine doesn’t include commercial WAD files.

The system also repacks each level and streams data from CD. That matters because the Saturn only has 2 MB of main RAM, which disappears quickly when a large map loads textures, sprites, sounds and gameplay data at once.

Instead of loading everything, Mimas keeps only the assets needed for the current level. It uses lazy texture loading, adaptive caching and map-specific sprite packages to reduce memory use. When something exceeds a limit, the engine tries to show a visual error rather than crash the entire game. That’s a much better failure mode.

Performance still depends on the level

Mimas Engine remains unfinished. Some maps run well, while others push the Saturn hard. Recent builds have improved CD access, reduced unnecessary memory transfers and added a true low-resolution rendering mode. In demanding scenes, that lower resolution can almost double the frame rate.

The engine also supports distance-based lighting, hardware-drawn skies and floors, better wall clipping and a flexible system for choosing which enemies VDP1 should render. These changes don’t just improve speed. They also make scenes look more consistent.

Not every experiment has paid off. Textured floors can become too expensive. DMA transfers don’t always provide the expected gain. Certain clipping techniques create new visual problems instead of fixing old ones. The Saturn rewards careful compromise. Mimas understands that.

Split-screen is already taking shape

Local multiplayer is part of the plan, including two-, three- and four-player split-screen modes. Each player gets a smaller viewport, a compact status display and hardware-rendered weapons and enemies. In the three-player layout, the unused quarter of the screen can display a minimap.

The reduced viewport size also helps performance. A multiplayer view running at 160 by 96 pixels gives the engine far fewer pixels to draw, which can offset some of the extra work created by multiple players. It’s an ambitious feature, especially on hardware this limited. Still, the design makes sense because it works with the console’s restrictions instead of pretending they aren’t there.

More than another Saturn Doom demo

Mimas Engine isn’t interesting simply because it runs Doom on a Saturn. That’s been done before. What makes it different is the reusable workflow. A indie developer can supply a compatible WAD, process the content, build a disc image and run it on real hardware, an emulator or a supported optical-drive replacement.

The project still has work ahead. Frame pacing needs refinement, compatibility will vary between WADs and large levels may expose new memory or bandwidth problems. Stability across complete games will matter more than impressive screenshots.

Still, the foundation looks sensible. Mimas focuses on memory use, workload distribution and practical content support. It doesn’t treat the Saturn like a conventional single-processor console. That approach gives it a real chance of becoming more than a technical experiment. For developers building first-person games on Sega’s 32-bit machine, Mimas Engine could become a genuinely useful tool.

Spread the love
error: