Making a CRPG on the Commodore 64

I’m starting to put together my notes for a new project – part original game, part game programming video / blog tutorial. I’ve been planning this for the last couple of years and it will be an enjoyable change of pace from Alternate Reality X development.

 

 

As you may know I grew up playing CRPGs on the Commodore 64 so have many fond memories of those days spent exploring the lands of Britannia in Ultima IV, skulking round the streets of The Bards Tale and of course finding unique new treasures in the depths of Alternate Reality: The Dungeon.

I recently had a lot of fun doing a bit of BASIC programming using a Windows based program called CBM PRG Studio – this provides an IDE for rapid C64 development in both BASIC and assembly language as well as offering integrated tools for graphic and music creation.  Used in conjunction with the Vice emulator it’s a pleasant way to program for this classic machine. I’m also planning to dip into other tools such as native assemblers and possibly even some cross assemblers and cross compilers.

Of course you won’t need a Commodore 64 to follow the series or play the various versions of the game. Depending on how the game comes along I’m not ruling out a version which will run on current operating systems as well. The intention is to start small explaining the basics of the machine and its display, use of the built in character set and PETSCII characters before moving onto user defined characters and multi character tiles more akin to Ultima and other classic CRPGs from the era.

In case you haven’t heard about it there was a recent successful Kickstarter called “Unknown Realm” which is for the C64 and PC and looks good. In case you’re wondering I was planning some C64 CRPG development when I bought my Programmers Reference Guide a couple of years back 🙂 You can read more “Unknown Realm” below:

https://www.kickstarter.com/projects/stirringdragongames/unknown-realm-an-8bit-rpg-for-pc-and-commodore-64

Don’t worry about my new project slowing down ARX development. I’m planning small incremental changes as to how the series and game develop which I don’t anticipate will be particularly time consuming compared to a typical ARX release. I hope you’ll enjoy it.

The Challenges of Remaking Alternate Reality

Every so often I receive an email or a post complaining that I’ve done something “wrong” with my remake of Alternate Reality:The City and the Dungeon – I’m not talking about bug reports or unimplemented features but more about design decisions. I guess in some cases I’m not making the decisions they would make if they were remaking Alternate Reality. For everyone who thinks I’m not expanding the game enough someone else thinks it’s not faithful enough. I think I’m past the point where this bothers me now and I’m realistic enough to know that with a project like this you’ll never please everybody. Most ARX players have been incredibly positive and supportive (and not to mention patient). Their feedback is also constructive, useful and essential to developing my project further.  So I’ll take this opportunity to say thanks 🙂

I thought I would talk about some of the design choices I’ve made with Alternate Reality X, the challenges I’ve dealt with and why these are unique to the Alternate Reality series of games (released and planned). Looking back now I think Alternate Reality was always going to be one of the most difficult and complicated games to remake in comparison to the other CRPGs from the same time period. I’ll explain below why I think that’s the case.

I started what I now call Alternate Reality X way back in 2009. I’ve had breaks during those years and diversions where I’ve looked into other formats or technologies but I’m now settled on the current technology so to speak in terms of using SFML and C/C++. I’d played around with Alternate Reality before but this is the year I made the first iteration of what you see today.

My background with Alternate Reality began with the Dungeon which I received as a Christmas present one year for my Commodore 64. Once I’d managed to keep a character alive long enough to advance a couple of experience levels, obtained some better equipment and stumbled across a quest I was hooked and played it regularly until I carelessly wrote over the Dungeon game disk years later in my haste to create a new character disk. I still have the box, map and manual today.

 

 

When I got access to the internet (around 1995) one of the first things I found was The Original Alternate Reality Homepage at: http://www.eobet.com/alternate-reality/ (it had a different URL back then). This site had lots of information about the games, an extensive FAQ, screenshots, maps (below) and comments from the AR developers including Philip Price. It also led me to the AR Mailing List (which sadly now seems to be offline) which was a great source of information. I’d never played any version of the City though I was aware of it from magazine reviews I’d read back in the 1980s.

One of my early goals with Alternate Reality X was to allow the player to move seamlessly between the City and the Dungeon as originally envisaged by Philip Price.

Whilst they share many similarities the City and Dungeon scenarios are very different games in my opinion. Perhaps the biggest difference is in the combat system. The City has the concept of engaged and disengaged menus (pictured above) but this was replaced by a different system in the Dungeon consisting of options for surprising an encounter, Battle Options and a Transact menu. This was the system I opted for in ARX.

Many other elements are different between the two scenarios from encounter graphics and map style to the use of currency. I don’t think ARX feels like a totally consistent game yet but hopefully as I add features the two scenarios will feel more integrated.

I made a number of development decisions which I’ll try to summarise here:

  • Players can move freely between the City map and the first level of the Dungeon as I imagine was originally intended by Philip Price.
  • I removed the penalties for saving characters in both the City and the Dungeon and provided 10 save game slots.
  • I removed timing from combat – I might add it back in as an option in the future – if there is demand for it.
  • Guilds are set up with multiple “branches” in the City and Dungeon and guild bonuses can be picked up in the Dungeon as well as the City (providing a guild has a location in the Dungeon).
  • 8bit Dungeon-style guilds are used rather than the style that was added to the 16bit versions of the City.
  • I chose to use the Dungeon’s combat system and menus rather than the City’s engaged / disengaged menus.
  • I liked the Charm and Trick mechanics of the City and added them to the ARX Transact menu.
  • The City’s potion system (tasting, sipping etc) where you tried to identify one of over 50 potions was not present in the Dungeon but I liked it so have added it into ARX.
  • As the encounter graphics are very different in style and size I opted to use the Dungeon’s encounter graphics for better consistency between the two scenarios.
  • I expanded the City’s map format to use the Dungeon format which used more bytes to allow more wall and door types and a “special” byte for fixed encounters, messages and unique treasures.
  • The City used a degree of randomisation when creating monster stats but I opted for the Dungeon’s fixed stats. I did originally generate encounters differently between the two scenarios but I felt it would always make the game feel disjointed and inconsistent if for example an encounter with a thief in the City felt very different to one in the Dungeon.
  • The economy – there’s a big divide here with the City trading in coppers (running into the 10,000s) and the Dungeon using silver, gems and jewels. I’ve kept the original prices and currency for now but it’s very inconsistent and I’m not really happy with it.
  • Again for consistency I’ve for now settled on a single font (the Dungeon) and banner colour scheme (the City). Easily changed in the future if required.

Other considerations:

  • I’m not a professional programmer so I’ve reworked and refined code a lot and will continue to do so until the project is complete. In addition I’ve not always understood the longer term requirements for a feature until further down the line (e.g. custom objects created dynamically in game).
  • The Arena, Palace, Wilderness, Revelation and Destiny scenarios were never completed.
  • A variety of different versions of the game(s) exist across 8bit and 16bit platforms, many of which add further variety in terms of graphics, music and mechanics.
  • Less of a problem in the Dungeon but there are many areas of the City where features and locations were left for later patching.
  • There’s always the question of making the game authentic (in look and feel) versus an “upgrade” with better graphics and sound as well as new features.
  • Should I have treated the City and the Dungeon as two separate games with a compatible character save file? I even thought of developing them as two separate executables (or sets of datafiles).
  • I can possibly address some of the differences as game options and preferences but that does add to further development time. I’m considering this though 🙂

I cannot think of a single game or series of games that would have presented quite so many questions or difficult decisions as Alternate Reality. There are no right answers for many of these If you have a game or series of games in mind though please let me know as I’d love to hear about it.

In the meantime if you have an opinion about any of the above or a design preference I’m interested to hear it. Nothing in ARX is set in stone.

Alternate Reality X – Release 0.81 – Now Available


The latest release of my Alternate Reality: The City and The Dungeon remake, Alternate Reality X is now available for download.

You can download Release 0.81 from the link below:

https://crpgdev.com/downloads/

Just a few additions and bug fixes in this release as follows:

  • Added Custom Weapons to Dwarven Smithy for you to buy (and name)
  • Added Dungeon vaults – Gram’s Gold Exchange and the First City Bank
  • Fixed – Dwarven Smithy – doesn’t use character’s name
  • Fixed – Dwarven Smithy – selling item removes existing silver from character
  • Fixed – Daily events didn’t run on the last day of each month

Please let me know if you have any questions or issues.

Alternate Reality X – Dungeon Vaults and Custom Weapons

Release 0.80 of Alternate Reality X features two bugs relating to the Dwarven Smithy so I’m keen to get a new 0.81 release out in the next week which fixes these.

In addition I plan to add the Dungeon vaults and the option to buy custom weapons from the Dwarven Smithy. For anyone who is not familiar with vaults they give you the option to attempt to steal bags of copper, silver and gold as well as the more valuable jewels and gems which which the Dwarven Smithy trades in. Unfortunately the Palace Elite may catch you, forcing you to fight or surrender.

 

Adding in the custom weapons will be the first example of weapons which are dynamically created within the game with different values (based on factors such as how many jewels and gems you offer the Smithy). You can also name your custom weapon before returning several days later to collect your newly forced weapon. This will complete the Dwarven Smithy coding and takes advantage of the flexibility added with the new item and inventory system.

 

Alternate Reality X – Release 0.80!


The latest release of my Alternate Reality: The City and The Dungeon remake, Alternate Reality X is now available for download.

You can download Release 0.80 from the link below:

https://crpgdev.com/downloads/

The main changes in this release are as follows:

  • Modified the internal structure for items and inventory
  • Increased internal size of inventory / item buffer from 100 to 250 items
  • Now using authentic City Smithy, Dwarven Smithy and D&P item data
  • Pick up weapons left by opponents
  • Buy weapons and armour from the Dwarven Smithy (not custom weapons)
  • Sell old weapons and armour to the Dwarven Smithy
  • Implemented player weapon descriptions (e.g. slash, whomp)
  • Implemented crossbow & reloading of ammo
  • Modified automap to show walls and doors by default
  • Re-enabled the “Wait for Encounter” option
  • Adjusted encounter frequency
  • Modified City starting time to match 8bit version
  • Added release specific “Acknowledgements” page
  • Fixed – Some encounter images appear outside window
  • Fixed – Encounters did not display death message / leave treasure bug
  • Fixed – Phoenix encounter crash bug
  • Fixed – “Quit” looping / main menu bug
  • Fixed – Missing wall section near “Ono Goods” shop
  • Fixed – Character creation would accept blank name
  • Fixed – Doppelganger attacks with “slimy tentacle”

Please let me know if you have any questions or issues.

Alternate Reality X – New release in March 2017

 

I’m making good progress with the next release of Alternate Reality X and hope to have this out for public release before the end of March. It doesn’t contain all the features I had planned but nevertheless contains some important changes and additions.

The changes to the internal structure of the player’s inventory and what I call the “item buffer” took a long time. Once these had been completed I then had to make changes to a number of existing sections of the game such as the City Smithies and the Damon & Pythias Shop as they no longer worked correctly. These changes did allow me to use the authentic weapon and armour data though which is an improvement over the previous versions. Perhaps the most requested feature I’ve had is to implement selling old weapons to the Dwarven Smithy. I’ve pleased to say that this is now in the game and seems to work well.

At the time of writing the Dwarven Smithies’ custom weapons are not yet in the game. I feel I really need to implement the Dungeon bank vaults as well to make this feature worthwhile so that players can find enough gems and jewels to pay for custom weapons. Rather than delay this release further I’m probably going to leave these for the next release.

I’m currently testing the gameplay to check that what is there seems to be working ok.

Changes and additions include:

  • Modified the internal structure for items and inventory
  • Increased internal size of inventory / item buffer from 100 to 250 items
  • Now using authentic City Smithy, Dwarven Smithy and D&P item data
  • Pick up weapons left by opponents
  • Buy weapons and armour from the Dwarven Smithy
  • Sell old weapons and armour to the Dwarven Smithy
  • Implemented player weapon descriptions (e.g. slash, whomp)
  • Implemented crossbow & reloading of ammo
  • Modified automap to show walls and doors by default
  • Re-enabled the “Wait for Encounter” option
  • Fixed Phoenix encounter crash bug
  • Fixed “Quit” crash bug

 

New Blog – Comments Issue

My apologies to Allan, Steve and Meerling who had commented earlier today. After attempting to re-import my old blog content from Google Blogger to include all the images, I was forced to reinstall WordPress in order to import the old posts back in again, therefore losing your comments. The blog import is now complete and I won’t touch the importer again. Sorry.