Commodore 64 Doom port shows impressive early progress

Doom has run on almost everything. Calculators, printers, cash machines and even kitchen appliances have all joined the list. Most of those versions exist to prove a point, though. They show that Doom can start, display an image or respond to a few controls. This Commodore 64 project feels different. Programmer Steve McCrea, better known online as Kweepa, is building a version that tries to recreate the structure of Doom rather than simply copy its appearance. His work-in-progress engine already supports rooms at different heights, moving lifts, windows, opening doors and a weapon displayed at the bottom of the screen. That matters because Doom isn’t just a game about walking through corridors and shooting monsters. Its levels rely on height, movement and spaces that change as you explore them. Remove those systems and you lose much of what makes Doom feel like Doom. McCrea’s version is trying to keep them.

Doom has run on almost everything. Calculators, printers, cash machines and even kitchen appliances have all joined the list. Most of those versions exist to prove a point, though. They show that Doom can start, display an image or respond to a few controls. This Commodore 64 project feels different. Programmer Steve McCrea, better known online as Kweepa, is building a version that tries to recreate the structure of Doom rather than simply copy its appearance. His work-in-progress engine already supports rooms at different heights, moving lifts, windows, opening doors and a weapon displayed at the bottom of the screen. That matters because Doom isn’t just a game about walking through corridors and shooting monsters. Its levels rely on height, movement and spaces that change as you explore them. Remove those systems and you lose much of what makes Doom feel like Doom. McCrea’s version is trying to keep them.

This isn’t just a flat corridor shooter

Many first-person games on 8-bit computers use a simple trick. They place the player on one flat level and build the world from walls of equal height. It saves processing power and memory, but it also limits what level designers can do. This project takes a harder route.

The engine allows floors and ceilings to sit at different heights. Players can move between raised and lowered areas, look through windows and use lifts. Doors open inside the environment rather than acting as static loading points. Those features bring the game much closer to Doom’s original design.

The visible weapon also helps. It may sound like a small detail, but it gives the game the familiar first-person presentation people expect. Combined with enemies, interactive scenery and changing elevation, it creates something that already looks recognisable as Doom. Not identical. Not close to the PC version in raw detail. But recognisable. That’s the interesting part.

The Commodore 64 launched in 1982. It uses an 8-bit MOS 6510 processor running at roughly 1 MHz and comes with 64 KB of memory. That’s tiny. A modern web page can use more data than the machine’s entire memory capacity. Yet McCrea’s engine has to store program code, graphics, sound, level information, enemies, weapons and game logic inside that space.

Then it has to draw a first-person scene fast enough to play. Every frame requires the computer to work out which walls and objects the player can see. It also needs to handle movement, collisions, doors, lifts and enemies at the same time. Adding rooms with different heights makes the job harder because the engine can’t treat the map as one simple flat surface.

The Commodore 64 has almost no room for mistakes

The Commodore 64 launched in 1982. It uses an 8-bit MOS 6510 processor running at roughly 1 MHz and comes with 64 KB of memory. That’s tiny. A modern web page can use more data than the machine’s entire memory capacity. Yet McCrea’s engine has to store program code, graphics, sound, level information, enemies, weapons and game logic inside that space.

Then it has to draw a first-person scene fast enough to play. Every frame requires the computer to work out which walls and objects the player can see. It also needs to handle movement, collisions, doors, lifts and enemies at the same time. Adding rooms with different heights makes the job harder because the engine can’t treat the map as one simple flat surface.

There’s no spare processing power to waste. That means every system needs careful planning. The code must stay compact. The maps must use memory efficiently. The renderer has to avoid calculations whenever possible. You can’t build a modern engine first and shrink it later. The Commodore 64 won’t allow it. You have to design around the hardware from the first line of code. McCrea appears to be doing exactly that.

Doom had already reached the C64, but there was a catch

Doom has technically run on Commodore hardware before. Just not on the standard machine most people picture. That earlier port needed the SuperCPU, a major upgrade that gave the Commodore 64 or 128 a 20 MHz 65C816 processor and up to 16 MB of extra memory. In other words, it wasn’t asking an ordinary C64 to do the heavy lifting. The upgrade changed the machine into something far more powerful than the original 1 MHz computer with 64 KB of RAM.

The port itself came from the Linux Doom source code and mainly worked as a technical experiment for a MIPS recompiler. It ran at a single-digit frame rate and didn’t include sound. So yes, Doom already existed on a Commodore 64 setup. But the distinction matters. It required specialist hardware that most C64 owners never had, which makes a version designed for a standard machine a very different and much tougher engineering challenge.

The programmer has experience with demanding hardware

McCrea isn’t approaching this as a casual experiment. His professional credits include work on the Metroid Prime series, and he served as an engineering lead on the Quest version of Resident Evil 4. Both projects required strong knowledge of real-time graphics, performance tuning and hardware limits. Those skills fit this job well.

Working with an older computer means constantly deciding what the machine can afford. A feature might look simple on screen but consume too much processor time behind the scenes. A detailed enemy might use memory needed for sound. A larger level might force cuts elsewhere.

Good optimisation isn’t about making everything smaller. It’s about choosing what matters most and spending the machine’s limited resources there. The current build shows that approach in action.

The engine may be functional, but the game isn’t finished. McCrea still needs artwork, music and additional optimisation. A technical demonstration can run well with a small room and a handful of systems. A complete level creates a much tougher test.

Enemies, projectiles, sound effects, doors, lifts and larger environments all compete for the same limited resources. The frame rate may change as the game grows. Memory pressure will increase. Some features may need to be simplified or redesigned. That’s normal for a project like this.

There’s still a lot of work ahead

The engine may be functional, but the game isn’t finished. McCrea still needs artwork, music and additional optimisation. A technical demonstration can run well with a small room and a handful of systems. A complete level creates a much tougher test.

Enemies, projectiles, sound effects, doors, lifts and larger environments all compete for the same limited resources. The frame rate may change as the game grows. Memory pressure will increase. Some features may need to be simplified or redesigned. That’s normal for a project like this.

The important point is that the core systems already work. The engine can display a world with real height differences and interactive architecture. It can support the visual language of Doom, not just its logo or colour palette.

A serious port, not another Doom joke

The appeal here isn’t that Doom has reached one more unusual machine. We’ve seen that story many times.

What makes this project worth watching is the attempt to build a proper 8-bit interpretation of the game. The final version won’t match the PC original in speed, resolution or detail. It doesn’t need to. It only needs to feel coherent, playable and unmistakably like Doom. So far, it’s heading in that direction.

Spread the love
error: