Quake64 is bringing id Software’s Quake to the Commodore 64

Steve McCrea is building something that sounds almost impossible at first: a version of Quake for the Commodore 64. It’s called Quake64, and it’s still very much in development. This isn’t a finished game or a released conversion. It’s an early prototype, but there’s already enough running to show where the project is heading. The idea is simple to explain, even if the engineering isn’t. McCrea is taking the basic structure of id Software’s 1996 first-person shooter and rebuilding it around hardware from 1982. That means no attempt to squeeze the original Quake engine onto the C64. Instead, he’s creating new systems that make sense for an 8-bit machine with a 6502 processor, limited memory and the VIC-II graphics chip.

Quake64 is still in development

Right now, Quake64 is a work in progress. The current prototype already has a first-person 3D view, player movement, weapons, enemies, doors and collision detection. McCrea is also recreating parts of E1M1, the opening level from Quake. You can move around, strafe, turn, fire weapons and interact with parts of the environment.

That doesn’t mean the project is close to a finished release. Features can still change, systems can be rewritten and the scope may shift as development continues. What matters at this stage is that the core engine is already doing real work on original Commodore 64 hardware. And that’s where things get interesting.

Steve McCrea is building it around the C64

McCrea has a long background in games engineering, including work on the Metroid Prime series, but Quake64 puts him in a very different technical situation. The game is written mainly in 6502 assembly and assembled using ACME. Python tools help generate lookup tables, while a separate editor handles parts of the level-building process and prepares assets such as weapon graphics and enemy animation data.

There’s no modern game engine underneath it all. The 3D renderer has been designed specifically for the C64. Instead of textured walls and polygon-filled environments, Quake64 draws the world with lines using custom character graphics. The current viewport runs at 192 x 128 pixels across a 24 x 16 character area.

Two banks of 256 custom characters can be switched during the display, giving the renderer access to 512 character tiles. Double buffering inside VIC Bank 3 lets one frame stay on screen while the next is prepared. It’s a very different route to 3D.

Quake has to be rebuilt, not copied

The original Quake arrived on PC in 1996 and pushed id Software into fully polygonal 3D. Its levels had real height, enemies were polygon models, lighting changed across the environment and everything ran through an engine built for much faster hardware. The Commodore 64 can’t approach the problem in the same way.

So McCrea has stripped the idea back to the parts the machine can handle. The renderer draws lines with a Bresenham-based routine, while levels use connected rooms built from axis-aligned boxes. Doors can block movement or act as portals between spaces. Even slopes need special treatment. They’re restricted to simple ratios so the machine can calculate height without expensive multiplication or division.

That kind of decision appears throughout Quake64. If something can be simplified before the processor has to work on it, it usually is. Enemies and objects outside the player’s view can be rejected early, which means the C64 doesn’t waste time rotating, projecting and drawing things nobody can see.

The weapons and enemies are taking shape

Quake64 isn’t just a walking demo anymore. McCrea has already implemented several familiar weapons, including the axe, super shotgun, nailgun and grenade launcher. The first-person weapon display uses four C64 hardware sprites arranged in a 2 x 2 block.

That’s a smart fit for the machine. Weapon bobbing and recoil can be handled by moving sprites around instead of redrawing the weapon directly into the 3D scene every frame. Enemies take another stripped-back approach.

Characters including the Grunt, Knight, Rottweiler, Scrag, Ogre, Shambler and Chthon use simplified wireframe skeletons made from 13 vertices and 13 lines. Animation data based on the original game is then adapted to these much smaller models.

The result clearly isn’t trying to look like the PC version pixel for pixel. It can’t. The goal is to keep enough of Quake’s movement, level structure, combat and enemy behaviour to make the connection obvious while still working within the C64’s limits.

Quake64 is becoming a real game project

The important point is that Quake64 hasn’t been released yet. It’s still an early development project, and the current build should be treated as a prototype rather than a finished specification. Even so, there’s already a lot happening under the hood. Rendering, collision, rooms, weapons, animated enemies and interaction systems are all being developed together rather than as isolated technical tests.

That gives Quake64 a clear direction. McCrea isn’t trying to make a Commodore 64 impersonate a 1990s gaming PC. He’s rebuilding Quake around the hardware that’s actually there. It’s a much harder job than simply shrinking the graphics. And for now, that’s exactly what makes Quake64 worth watching.

Spread the love
error: