Creating a Commodore 64 CRPG in 2019

At the age of 11 I became the proud owner of a Commodore 64 home computer and before long, started to draw out dozens of game designs on paper. Whilst I wrote some initial BASIC coding for many of these, it usually wasn’t long before I hit some roadblock and moved onto the next idea. Many years later the Commodore 64 was sold but it kept a special place in my heart and my desire to create a game for the computer never really went away.

Roll on 2019 and I received a C64 Mini as a Christmas present. Opinions vary on this system but personally I think it’s a great recreation of the system, especially since the firmware has been updated to allow the use of the thousands of disk images available online via a USB stick.

I had been playing around with the CC65 C cross compiler for a number of months. This allows you to write C code which can then be cross compiled to a Commodore 64 executable. Whilst I thought this was great in many ways my C code wasn’t as fast as I expected it to be and I struggled to understand how to deal with some of the memory management that CC65 requires. It just didn’t feel the same as programming the C64 with its original BASIC or with machine code (which I’ve dabbled briefly with).

I made a decision to switch over to the CBM PRG Studio which I found to have a number of nice features built in including support for BASIC and assembly language programming, character set editor and a screen editor as well as many others.

The map using some redefined, thinner lines for the City walls

Much to my delight I was able to fairly quickly put together a machine code program and gradually add to it – displaying a map on the screen, reading the keyboard, moving a player character around the map and redefining the default character set. I also found that my code ran very quickly – amazingly so compared to my BASIC programming I did about a year ago. My map below displays in an instant whereas my BASIC program took more than a minute to display and colour a smaller map. Most importantly of all I’m having a lot of fun putting this together.

The game running with the thicker walls, making use of some of the C64’s built-in characters

The game itself is not a million miles away from one of those early C64 games I started writing all those years ago. It currently presents a map of a City which you can move around exploring various locations (above and below ground). Currently the game is set on a single 40×20 “cell” map but I may expand the City map to flip to another 40×20 section when the map border is reached. The player is currently shown on the map as an @ – as in a roguelike game. I’ll work on some more interesting graphics and visuals once I have some more gameplay features implemented.

I’ll shortly be adding some characters, places to visit and items but I’m pleased with the progress I’m making and I’ve managed to sort out all my assembly challenges to date without too much pain, though it’s a very different way of coding for someone who is more familiar with C or C++. Content wise don’t be too surprised if there is a bit of Ultima or Alternate Reality type inspiration in the game. It’s very straightforward to play C64 games on a modern PC using an emulator like Vice so accessibility for players isn’t really a concern for me just now. The game is still in its early stages but I have a good idea in my head where I want to go with it next.

Alternate Reality Remake Projects

As many of you will know I’m no longer working on development of my Alternate Reality:The City & The Dungeon remake, Alternate Reality X. This was written in C++ and used the SFML library and ran under Microsoft Windows. I may spend a bit of time to fix a few bugs with my last release (based on requests on the ARX forums), to leave the final release of ARX in a more playable and less buggy form.

From early 2018 an AR fan used my source code to put together a couple of revised builds of ARX (which are available for download from his website link below) . He has since created a brand new Java based Alternate Reality remake which I’ll refer to as the AR Java Edition to avoid confusion with my earlier ARX.

The AR Java Edition is a far more code complete remake of AR than my own ARX, based on the updates on his webpages. He’s finished a lot of the functionality which I hadn’t and has gone back to the original 6502 assembly language to better understand how the original games worked.You can check out the updates, videos and screenshots over at:

http://www.landbeyond.net/arx/index.php

From his recent webpage updates it sounds like he’s now very close to a fully complete conversion of the City. Hopefully we’ll be able to try the Java Edition fairly soon.

As for myself I’ve started to put together a new CRPG project which is heavily inspired by the classic 8bit CRPGs of the 1980s. I’ve been learning a lot about old technology and systems and having a lot of fun in the process. More about this project shortly.

Update – August 2018

Hi there!

As many of you will be aware or guessed I have been dealing with some major changes in my life for some time now which meant I wasn’t posting on the blog or able to work on any game development. I won’t bore you with the details but despite still having some big challenges to deal with, I’m in a positive position and very happy. A big thanks to everyone who asked about me or sent me messages of support, these were greatly appreciated.

Due to those things going on in real life, Alternate Reality X (ARX) wasn’t getting the attention I wanted to give to it. I was also finding it hard to update the old code base which I originally began back in 2009!

Anyway, an enthusiastic AR fan has since built a new Java based Alternate Reality which you can read about here on his website. He hasn’t posted any updates for a couple of months but he has some videos of new features on the site and it looks like he’s added a lot of new features and functionality that were missing from ARX. Hopefully we will get to play the first Java edition of AR soon.

I’m planning some new, smaller game projects of my own in the coming months but I’ll post separately about those.

Alternate Reality X – Release 0.82 Available!

Alternate Reality X – Release 0.82 is now available for download from: www.crpgdev.com/downloads. This release focuses on fixing a number of bugs which players have reported following recent releases.

  • Fixed – Group encounter messages out of sync with their damage
  • Fixed – Group encounter attacks out of sequence
  • Fixed – Fixed encounters not updating correctly (e.g. ghost in Well Lit Area)
  • Fixed – Fixed encounters not leaving weapons or treasure
  • Fixed – City Smithy items selling for minus value at Dwarven Smithy
  • Fixed – Troll Tyrant / Goblin Lord – wrong monster types appearing
  • Fixed – Troll Tyrant / Goblin Lord – didn’t leave ring halves
  • Fixed – Guild names and locations not all correct in City
  • Fixed – Character indicator on large map not in correct position
  • Fixed – Legend on large map not aligned for different window sizes
  • Added – Mercenaries and Paladins Guilds now in City
  • Code – Spells moved into separate source files