More Commodore 64 CRPGs

Was it really September 2019 when I last posted here? Wherever you are I hope you, your family and friends are healthy and safe during the current COVID19 pandemic. I’m working remotely from home during this time which has its challenges but have done quite a bit of CRPG development since last year.

I’ve been focusing on creating a CRPG for the Commodore 64 computer. It’s my all time favourite despite its age and I find working within its limitations and restrictions a (mostly) enjoyable challenge. There are basically 2 C64 projects I have in development.

One game is currently called “Demon’s Isle” and is a classic Ultima style game with an overhead view and tile based maps. It’s a couple of months since I worked on it but I’ve lots of ideas on how to improve it technically to make it smoother and provide more graphic variety.

The other game doesn’t really have a title, although I have considered “The Citadel”. It’s a first person, single character game in the style of The Bard’s Tale, Legacy of the Ancients and Alternate Reality. Most of my time here has been working out how to make creating the map wall sets easy and quick to transfer into game builds. I have 2 brief videos on my YouTube channel illustrating the first person view but development has advanced quite a lot since the last video. I’m making steady progress with regular improvements and adding new features.

Both projects are written in a mixture of C code (using the CC65 compiler, assembler and linker) and 6502 assembly language. I am using assembly language for those parts of the game which need some additional speed such as the first person 3D view and overhead map view. These have both been significantly improved with 6502 code since my last video.

Exploring the streets

For “The Citadel” I’m currently using the C64’s multi-colour character mode which allows a mixture of multi-colour (4 characters per cell) and high resolution characters on a single screen but with a number of colour restrictions. I’ve successfully made use of raster interrupts to split the screen to use a mixture of display modes which gives me some further flexibility when it comes to display options such as more colours on screen and access to more than 256 character definitions on screen at the same time for drawing the 3D views as well as special location portraits.

My main concern just now is running out of memory before the game is well enough advanced. There are lots of areas I can recover memory from though and I haven’t implemented any sort of compression schemes as of yet.

Leave a Reply