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 – 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 – Plans for 2017

 

Following my review of 2016 I wanted to follow up with a taster of what you can expect to see and play in the coming year. There are other projects and interests I want to cover and talk about in 2017 but this post focuses solely on Alternate Reality X which is my top priority. Here is an outline of the key areas of development I’m planning to complete during 2017. There may be some changes to the order of this list but this is the general outline I’m working to just now.

Complete Item and Inventory Changes (currently in progress)

Basically updating all the existing code in the game to use a more flexible item and inventory format, essential for implementing future changes to custom items, enchanted items and procedural generation of City clothing items. Currently this code supports weapons, armour, clothing and a number of special “quest” items.  The changes to the City Smithies and Damon & Pythias shops are completed. I need to add in the procedural generation of clothing in the City Shops (where you can buy a compass) and update the existing code for unique items scattered around the Dungeon and quest items (E.g. the troll and goblin ring halves). This has taken a long time as the items and inventory touch so many different areas of the game but all the time consuming, hard work is now complete. In the next release you’ll now be able to pick up and use weapons which your opponents used, introducing a lot of new weapons for the your Alternate Reality character to play with.

The Dwarven Smithy

This is partially completed. The main new features it will introduce to the game are the option to sell old weapons and to have a custom weapon made. The main work to do is getting the correct menus in place and the custom weapon creation code which I don’t see as being too difficult.

 

Despite having finished the Dungeon for the first time a few years back, I had never saved up enough gems to have a custom weapon made. One thing I thought would be cool (and easy with the new ARX item system) would be to allow the player to name their custom weapons but on looking through the original code for the Dwarven Smithy it looks like that feature was already in the original game! Alternate Reality continues to surprise me after all these years 🙂

Treasure Items

These include those unique items on the Dungeon floor which I’ve not added yet and the special items you find after a successful encounter – wands, trump cards, horns etc. This won’t make it into the next release due to all the work I’ve done on refactoring my existing code to work with the new items and inventory but is high on the list for future releases. Only a handful of City items remain to be added to ARX.
I need to introduce a new “effects” system which holds timed and temporary events (e.g. if wearing a crystal belt you get a stamina increase, you’ve drunk a potion of invulnerability sharp). The effects system is also required to enable the remaining guild spells to be implemented. I don’t see this as being difficult to implement as I’ve given it a lot of thought but it’s a substantial piece of work. I also need to do some research into how encounter treasure selection works so if you have any ideas on that please let me know. Once implemented I think the results will be quite visible to players so hopefully a good boost to gameplay. For me the Dungeon always had some of the best treasure of any CRPG.

Dungeon Quests

Basically adding in the few special locations which are still missing that are required to complete the Dungeon and the necessary dialogue and quest items. A lot of this is already complete but hasn’t been tested in a long while. I seem to remember the Oracle took a lot of work and might need some bug fixes. Off the top of my head I think the Clothes Horse and Great Wyrm may only be in game as placeholders. Occasionally I go back and find that I’ve already started part of AR though which is pleasant surprise 🙂 When the Dungeon Quests are complete there will be enough Alternate Reality recreated in ARX that you will be able to play the City and Dungeon through to completion!

Updated Display Options

I’ve already added some support for multiple screen resolutions and windowed vs full screen displays through the arx.cfg configuration file but there aren’t currently any good scaling or filtering options available for players to make best use of those larger screen sizes. I’d also like to make it easier for you to adjust display options whilst the game is running so players can easily skip through options to find the one that best suits them. With so many people running larger displays now it’s not really acceptable for me to limit development to only a couple of window sizes. Emulation front ends like RetroArch make use of some very high quality filters and scalers it would be great to introduce these into ARX if it wasn’t going to be too much work. I also want to introduce some new (optional) display elements along similar lines to the automap that may add to players enjoyment or reduce frustration.

Multiple Media Packs

One of my original goals was to have multiple media packs for ARX and thanks to the superb work from Ted Cox and Furious we’re pretty much there. Due to a few different reasons I’d temporarily removed these but I’m keen to reinstate these in the next few months and hopefully expand them further.

Mac OS X version

There are quite a few Mac ARX players and I’ve now reached the point where a native Mac OS X version will no longer be the big piece of work it once was – partly because I’m just much more comfortable with coding and development tools than I used to be. I have another couple of versions in mind for other platforms but I’ll see how well the items above progress first.

Release 1.0 of Alternate Reality X?

You may well have looked at the list above and thought “When can I expect to see X?” or “Will Z be included in ARX?”. As you can see from the list above I have a LOT of ideas for areas of work planned for development and completion. Sometimes I think something will be difficult and it comes together fairly quickly, other times the opposite happens.  So I’m going to hold off on any release 1.0 date predictions – at least for the time being. What I can promise you is that I have lots of plans for further developing ARX in 2017, making it a lot more complete and hopefully more enjoyable to play.
Finally I just wanted to say a massive thank you to so many of you for sticking with me on my Alternate Reality remake project through the years of development.  I know it’s been a bumpy and sometimes inconsistent ride along the way. I’ve often been amazed by your kindness, support and sheer enthusiasm for what I’ve been doing and for Alternate Reality in general. I’ll do everything I can to try and deliver on the promise of the original project. Wishing you all the best for 2017.

CRPG Dev – 2016 Review

I hope you had a great Christmas and New Year. Mine was fine though I was left with less time than I had hoped due to a leaking hot water system and helping my son build himself a PC – something I knew was going to take more work than he expected. I’m pleased to say that both hot water system and PC are now fully working.

As 2017 is now upon us I’ve been giving some thought to my CRPG Dev activities in 2016 and my achievements against my goals. I’m planning to talk about my plans for 2017 in a separate post but will inevitably touch on a few items here as some goals and projects carry over into 2017.

I think the biggest change in 2016 was that I now feel much clearer (and happier) about what I am trying to achieve with Alternate Reality X. I went back to the roots of the project and put aside some of the diversions I’d explored in 2015 to try and make some solid progress. After the lack of any new “classic” builds for ARX in 2015, I released four builds during 2016.

These builds weren’t massive advances in features or content but they added some very important and long overdue items such as including all the Dungeon encounters as well as their encounter animations. The project took a big step by starting to pull a lot more real AR data into the game which I think we’ll really start to see the benefits of this year. I also began the major task of expanding the inventory and item systems which was essential to recreating Alternate Reality.

I also chose to focus solely on my use of CC++ for programming rather than Unity 3D and decided for ARX to stick to my procedural coding “style” – I use the word loosely – rather than try and move ARX to an object oriented programming approach – I’ll keep that for a new project. Basically I’m trying to do what I think works best for me and my productivity rather than what I think I should be doing. I have cleaned up and restructured a lot of the code and I hope to continue that gradually as I add new features and revise existing ones where necessary.

I had planned to complete the 1.0 release but some of the major rewrites of core sections of code took a lot longer than anticipated. I’d also become preoccupied with some important personal issues I’ll talk more in my follow up post about what the next steps for ARX are but I think I’m just going to focus on adding and prioritising the remaining features rather than talking too much about dates for a 1.0 release.

I actually played and completed a game at the beginning of the year (Fallout 3) as I inherited my son’s old Xbox 360. This felt like a new game to me as it was only 8 years old! I played a bit of some of the other games from the 360 collection but struggled to get into a groove with any. Maybe this year.

My YouTube channel now has two Alternate Reality X videos uploaded to it. These weren’t great but allowed players to see the game developing and are likely to bring a few more people into the ARX community. Expect some more in 2017.

On the personal side I have some big challenges ahead of me in 2017 on the family and financial side so they will take priority but I expect to be able to continue with some very solid ARX development. Another ARX release is well on its way so watch out for that.

A big thank you to everyone who has supported my efforts for CRPG Dev and Alternate Reality X, whether through your emails, Patreon, Paypal, here on the blog or on Facebook. As always I greatly appreciate your interest, your time and support for what I’m doing and it really keeps me going and allows me to continue doing this and gives me the inspiration I sometimes need.

Wishing you all the best for 2017.