A downloadable game

The middle game of the id trilogy for the Commodore 64.

I had already written Doom for the VIC-20 a long time ago, which used a sector based approach with off axis walls, but it had no floor or ceiling heights so it looked a lot more like Wolfenstein to the untrained eye.

So I thought I could spend my cycles on height changes instead of off axis walls. I thought I'd also add light changes, which meant updating a text screen with dither patterns. A 40x25 screen isn't very high res, so texture mapping would look appalling, so I dropped that, which also gives me a bit more memory for lookup tables, mip maps for enemies, music, and so on.

Maps are hand edited on a grid, adjusting light levels and heights using an instant preview window.

Weapons are all sprite based, taking the shareware sprites and scaling, tweaking, and palettizing them.

Sounds are taken from the original PC speaker effects and decimating them. I did this for the VIC port, and it works the same here.

There are two versions, with and without the krill loader. If you're running an emulator or have hardware fastloading (eg C64U), use the version without the krill loader. If you're running on a stock C64 with a stock disk drive and no fast loader cart, use the krill fastloader version.

Thanks to Paul Docherty (d0kk!) for the loading splash screen.

Thanks to Mandy Kane (@mk_manifesto on twitter) and Nordischsound for the (in-progress) music tracks.

30 Sep 2026: v1.00.0 released!

7 Oct 2026: added Mandy Kane menu music and jukebox; halved the mouse sensitivity; fixed the RMB use feature; added quick save/load on F5/F7; sped up player movement when the framerate is high (eg turbo/ultimate); removed placed gibs and replaced columns and candelabras with lightposts to reduce visual clutter; updated to v1.10.0.

8 Oct 2026: refreshed the player weapon on level start; updated to v1.10.1; added Nordischsound track and raised weapon on map start; updated to v1.11.1.

15 Oct 2026: fixed weapon sprite separation at game start; fixed monster closet in E1M3 trapping the player; set default difficulty to Hurt Me Plenty; updated to v1.12.

If you'd like to support the development time behind this and future projects, feel free to drop a tip in my Tip Jar project.

Updated 1 day ago
StatusReleased
Rating
Rated 5.0 out of 5 stars
(6 total ratings)
AuthorKweepa
GenreAction
AI DisclosureAI Assisted, Code

Download

Download
squaredoom.d64 170 kB
Download
squaredoom-krill.d64 170 kB

Comments

Log in with itch.io to leave a comment.

Thank you! Doom 64 (Kweepa, 2026)

There's an elevator on map 3 where I got stuck and couldn't get out. (tried it 3 times) Maybe I just don't understand how it works, or maybe there's something iffy going on? :D (you don't need to use the elevator to finish the level, so it's no biggie)

(2 edits)

Oh, interesting, that's the monster closet over there. I'll see if I can repro and then see if I can fix it, thanks! It's possible all the monster closets are bugged in a similar way, and if so it would be important to fix!

(1 edit) (+1)

Fixed this - changed it to an actual monster closet (this was a left over from before I created a monster closet sector type that opens and stays open). v1.12.

Awesome, thank you! :) I'm gonna drunk-test it tonight. :D

(+1)

Awesome project! Aside from the very choppy gameplay—running at around 3 fps—it is an impressive demonstration of what is still possible on the C64 today. As someone familiar with the original, the resemblance to the original maps is truly remarkable. It would be interesting to see how the game runs on a C64 with SuperCPU support. Our German-language review can be found at 01:33:12. English subtitles are also available. Subscription to our YouTube and Twitch channel is welcome. 🙂

(+1)

Thanks! There is support for SuperCPU - the player moves a little faster when the CPU is accelerated, and everything moves and behaves taking the frame rate into consideration.

(+1)

Thanks for continuing to develop this!

(2 edits)

Would that be possible …

https://x.com/Lord_Arse/status/2107202952503140427?s=20

…
 as well GFX-, SFX- and speed-wise on the C64?

(+1)

Not even remotely. The Vectrex has a 6809 so it can do hardware multiplies. But that Doom port is using a Raspberry Pi as the computer and the Vectrex just as a display. My Quake port draws about 30 lines at 5fps, not full screen.

(+2)

I see. So in order to have something speedy and be able to recognize opponents it would be necessary to do things in PETSCII instead, just like Escape from PETSCII Planet?

I wouldn't say necessary - but that would be one way to do it, sure.

Allright, thanks.

(1 edit) (+2)

Amazing! Impressive wizardry! Crazy

This is super awesome, not just as a proof of concept but actually very playable! I'm running it on stock C64 hardware with SD2IEC and a 1351 mouse. I was gonna play the whole episode last night but i failed on map 3 (toxin refinery), fell into the "moat" and couldn't get out. :)
Two things: RMB does not work for opening doors or operating switches, you have to press K on the keyboard which is pretty inconvenient when you're playing with WASD/mouse. (RMB selects "no weapon", same as pressing 1 on the keyboard.) Second: the mouse is VERY sensitive, to the point where 50% would be more than enough. Would it be very tricky to make a test version where the mouse sensitivity is 50% of what it is now?

Thanks for the notes. I've fixed the RMB and tweaked the sensitivity. I'll get a new build out when I fix the quick save functionality.

Fixed both these issues (mouse sensitivity and RMB to use) in the latest version (v1.10.0).

(+1)

Whoa, how'd I miss that it was released?

(+1)

The port is truly impressive and remarkable at the same time. I have been playing it for a while now, and I would like to offer the following feedback.

For it to become a fully-fledged game, a save function would be important, at least at the beginning or end of each level.

There are also many objects that can be collected, such as keys or ammunition. However, there are also numerous objects that cannot be collected, such as torches and similar items. These objects are not essential to the gameplay, and the game would be much clearer and easier to navigate if they were not visible. This would help create a less cluttered visual experience.

I think I have room to add quick save and quick load like I did in Wolf64.

Not sure about removing the props; those are part of what makes Doom Doom. I know what you mean though, they are hard to differentiate (and the tall ones are very ugly). I'll have a think about that.

Thanks for the feedback!

Added quicksave/load (F5/F7) and removed some item clutter in the latest version (v1.10.0).

very, very cool!!! Thank you!

For what it accomplishes, this is groundbreaking! I'll say that thee Wolfenstein version is more fun to play on a stock C64, only because it gets more frames per second, but with turbo enabled I'm really enjoying Square Doom a lot! Kinda wished it had the weapon bobbing, but especially a faster walking speed or a Shift-to-Run kind of speed, and that timed secrets would make usage of these speedier traversals. But I understand that the slower walking speed is probably necessary so people on a stock C64 can play it. But the levels are fun to explore like this! It translated to being squares very nicely indeed!

Yeah, if I have to update it I’ll add shift to run.

I did something a little different for this - when the framerate is high, automatically double the player speed - in the latest version (v1.10.0).

(+2)

I just got up so I haven't yet looked into what makes this tick but I presume you're doing something a tad smarter than the average vibe port?

Is this using vis lists or still doing a BSP walk every frame?

It’s raycasting, but the tiles belong to convex sectors so I can quickly check if a height change occurred at each ray step. Then the height changes are stored in AA array for each screen column so the items can use them as a series of clips. The last rendered enemy per column is stored for hitscans.

(+1)

Featured :) https://www.indieretronews.com/2026/10/doom64-doom-for-commodore-64-well-sort.ht... Sorry for the delay, just overwhelmed with news!

(+1)

i cannot believe that i see this.

(1 edit) (+1)

Mind Blown!

Oh and the title pic is FAB! Human made graphics makes such a difference :)

Amazing!

It just gives me a white screen...


Does it work on ntsc c64 systems?

(1 edit)

Oh, I don't know, it's just been tested on PAL.

I just tried it on NTSC in VICE and it worked fine...

How are you trying to run it? Emulation (which emulator) or original hardware (what peripherals)?

I'm using my Backbit pro.

On my breadbin

Which disk did you try?

I used both files. I haven't tried running them off a burned disk yet though.

(+1)

Amazing work!

this is toptier game development for c64. also your other projects. never would anyone in the 90s have come up with this idea/code

i don t see a dl link or anything i assume it ll become available when it is completed ?

Here, yes. You can get a WIP from my GitHub page: https://github.com/Kweepa/SquareDoom

ty!

Okay you've surpassed what I thought would be possible.

(+1)

I'm hoping that, this will work just as well with Turbo Modes as Wolf64 did. 

Turning with the mouse also (even though the original Wolf3D and Doom booth had more than just turning with the mouse, you could use it to creep forwards and backward very carefully in both. But modern shooters did all away with that in favour of full mouselook later). :3 

Since DOOM Mapping tools aren't going to produce compatible WAD files, I wonder if your selfmade mapping tool could be bundled with this at some point. Of course it would be magic if such a tool was also a C64 tool but I don't wanna be crazy here. :3

Hope you are doing well!!


Mouse look (not move) will be supported. I'll be testing it with turbo modes.

The editor will be available from the github page. It's not on C64 though!

(+1)

Kinda nuts that you managed to get height changes in there.

(+1)

And working elevators ... and sector triggers, so secrets can work.

(1 edit) (+1)

on 🔥 lately and just gets better in everyway

(+1)

very good

I agree

(+2)

It keeps getting better and better 🔥