Alternate Reality X – Encounter Update, May 2016

As mentioned previously the encounter code in ARX had a lot of issues and really needed some serious work if I was ever to make it complete and feel authentic to the original Alternate Reality combat. I’ve basically taken apart most of the encounter code before refactoring it and putting it back together again. This has taken me a lot time and a lot of hours but I feel I’ve made a lot of progress.

The encounter code is now much more sensibly organised and structured and it is much easier to add in additional encounter features. The code is hopefully a lot more readable now, not only saving me a lot of time when I add to it but also meaning that others will be able to understand it a lot more easily should they want to.

I’d crammed a lot of only vaguely related code into the encounter module including the character and monster encounters themselves as well as their weapons so it was desirable to split these into their own source files. My plan is to gradually make these much more object oriented with player and opponent objects sharing a lot of code and functions for much better consistency.

I’ve been adding in new encounter features that were previously missing in ARX such as the player surprising encounters (or in turn being surprised) or being stunned and missing a turn. I’m still doing a bit of testing of the original game to understand exactly ow waylay and snatch should work but it’s good to have them in the game finally. You can see these illustrated here. The next change will be to add the Dungeon style combat messages and implement different body parts for the player which aren’t fully active at the moment.

It shouldn’t be too long before the next release is out. This will be focused on completing the remaining encounter features. I feel this will make ARX feel a lot more playable and authentic and will herald a big step forward for the project. Thanks for your support and patience as always.

Alternate Reality X- May 2016 Update

Work on improving the encounters in Alternate Reality X is going well. I’ve been stripping down the old encounter code, seeing what works and what needs re-working or simplifying as well as adding in the new features such as blocking, knock downs and special encounter actions. Lots of late nights but hopefully you’ll think the improvements make a big difference and all the long hours have been worth it.
I’ve been reading up a lot on game programming (mainly C/C++ and SFML) and how to better organise my code for CRPG and Roguelike style games. I’m resisting the temptation to just build on some of my earlier shaky code as I really want to make ARX maintainable and expandable – it’s the only way it will possible to expand the game to include other scenarios and new features.
I’m thinking of splitting the encounter updates and item updates into 2 separate releases to keep up with my plan of more frequent updates during 2016. Thanks for the continued support.

Alternate Reality X: Planning Release 0.75 – A Major release!

I have a good feeling about this next release and hope to address some of the features that I’ve left incomplete for a while. I’d like 0.75 to be something special and really take the project to a new level of completeness and quality.
Everything here is subject to change but here are my initial ideas and plans for release 0.75. There is a big focus on the Dungeon as that is the overall encounter / item system I’m planning to use for ARX, though I’ve added some of the unique City features such as Charm and Trick as well as Potions that were removed or modified for the Dungeon.
Encounters, inventory and items work closely together (at least in my eyes) hence the long list below. If I could complete a lot of the items below then I would really feel I’d made significant progress with the development of the game. The heart of Alternate Reality for me has always been the encounters so it’s important to get these feeling right.
Encounters:
  • Modify encounter frequency – Previously too frequent or not frequent enough!
  • Review use of Dungeon encounter binary data file – this includes encounter weapons
  • Review existing combat mechanics, damage types, influence of armour and overall balance
  • Add all Dungeon encounters – Including weapons, attacks and special abilities
  • Add additional Dungeon encounter tables
  • Add message customisations for different types of weapon and multiple body parts
  • Knock downs, disarming and stunning
  • Add “Surprise” menu including Waylay, Snatch, Leave etc
  • Add encounter animations
  • Review all fixed encounters
Items:
  • Expand the underlying item format to allow use of custom weapons, enchantments and randomised clothing items
  • Review use of Dungeon item binary data file – this includes encounter weapons
  • Add all unique “treasures” to the Dungeon map
  • Add any treasure items that are unique to the City not included in the Dungeon set above
  • Add encounter corpses (where appropriate)
Modules / Special Locations:
  • The Chapel
  • The Dwarven Smithy
General:
  • Separate media packs and add validation to check for media packs
Hopefully everyone will be keen to see these features completed or added to the next release. For me this will be a major release which really takes some of the core game mechanics to a whole different level. Watch this space. Comments as always welcome.

Alternate Reality X – Update, March 2016

Since the start of the year I’ve managed to get back up to speed and into the process of continuing the development of my Alternate Reality remake. This is based on Philip Price’s unfinished series of games originally for the Atari 8bit range of computers. Originally only the City and the Dungeon scenarios were ever released.

I’ve gone back to my original project goals to regain my focus over the last couple of months and this has been a big help. These are:

  • Create a full port of both The City and The Dungeon for modern systems
  • Move your characters seamlessly between scenarios 
  • Provide a quick, easy to use alternative to emulation
  • Expand upon the original scenarios to include new quests, locations, encounters and items
  • Provide the option of using the original or updated graphics and sound
The wording here might differ slightly from my original webpages but the key goals are still strong messages and still feel very relevant to my current thinking. These will be my key focus over the coming months. I’ll not be losing sight of these again or heading off on any other tracks where my Alternate Reality project is concerned.

I’ve released two updates for ARX during March 2016 so far. Whilst both are only small updates I’ve now got an established development and release process which means I’m not losing time because I’m disorganised. I’m making use of Google Drive to keep my ARX files accessible online regardless of location so I can contribute free time to development. I’m also freezing any updates to the development environment and multimedia library I’m using – what’s there currently is more than capable of seeing my Alternate Reality project through to 100% completion and my current build is fully Windows 10 compatible. As I’m now (and sticking to) using SFML and Code::Blocks (it’s quick and light to install compared to Visual Studio) again ports for Mac OS X and Linux are achievable (at a later date).

At a high level the main areas I’m going to be looking at over the next few weeks and months are:

  • The core engine – specifically remodelling items, encounters and tweaking the display
  • The City – What is required to make the City 100% complete?
  • The Dungeon – What is required to make the Dungeon 100% complete – starting with level 1?
  • The Arena & other scenarios – Bit by bit expanding the Arena content but also laying any groundwork which might be required for future expansion into other scenarios. 

My plan is to expand these key areas into more smaller, achievable items in the next week or so. I’ll publish these plans online with everyone so you can or point out anything I’ve overlooked.

I’m really keen to get feedback from players whether that’s bug reports, general comments for improvement or ideas for new features – content or story. Email, Facebook, the Blog and the forums are different ways of helping to develop ARX so I’d encourage you to make use of them if there are things you’d like to see. I try to  read all the comments and the feedback and suggestions I receive really do help determine what I work on next and how items are prioritised.

Alternatively if you like my what I’m planning or the work I’ve completed to date then you might consider making a small donation via Paypal (link in the right hand panel of this blog and on the webpages) or as a patron on Patreon. These are a great help for my website costs, occasional small hardware additions that help development and the odd book or software licence I buy.

As I’ve mentioned previously my planned approach is more frequent but probably smaller updates. I’ll be tackling some of the bigger items mentioned above in the next couple of releases which I think will help take ARX to a whole new level. Thanks for your support.

Designing Alternate Reality: The Arena

One of the things that has struck me when play testing my current build of Alternate Reality X is that there are still numerous places where the player comes across the entrances to the unfinished scenarios – The Arena, The Palace, The Wilderness and Revelation (there aren’t any for Destiny).

As I’m planning changes within ARX to better support the City and Dungeon, it’s helpful to think ahead as to how the other scenarios might develop and what features and content they may include. I thought I’d collect my ideas here as the beginning of a design document for Alternate Reality: The Arena. I see the Arena and the Palace as quite tightly interwoven in terms of features and story so there might be some cross over here. Through your trials in the Arena you can obtain fame and fortune, increasing your social status and gain initial access to the Palace.

Entry to the Arena can be gained through an unsuccessful enounter with a gang of slavers, as a spectator or persuading one of the local lords to support your entry to the Arena with the goal of becoming the Champion of Xebec’s Demise and receiving the royal seal which grants access to all areas of the City (including the Palace). Whispers in dark taverns mention other, more secretive ways of entering the Arena.

Starting with the Arena map we have two areas available – one on the City level and a larger area within level one of the Dungeon. There are also a few “Arena Pits” on level two of the Dungeon. These two areas provide ample map space for the Arena scenario and interesting content.

The upper level houses the Great Arena itself as well as smaller Arena pits and shops which support the day to day running of the Arena. Both commoners and nobles visit the Arena from the City to watch the games whilst fighters seek their fame and fortune or meet their fate on the bloodstained sands of the Great Arena. Combatants can also move around with a degree of freedom between events looking for ways to improve their skills. A successful Arena fighter will make use of the weapons masters and trainers that have forged a living selling their services within the walls of the Arena.

The lower level of the Arena houses the darker side of the Arena where the poor souls who have been press ganged into slavery as Arena fighters live as well as housing the exotic creatures and traps that feature in the most deadly tournaments and games. Few have lived through the legendary Trial of Kings, a fiendish maze of traps and ferocious monsters that only the strongest and most cunning can hope to survive.

CRPG DEV – The 2016 Update and future plans

January 2016 has passed but I hope you had a good Christmas / New Year or holiday.

I’m sorry for not posting anything for such a long time. I’ve found it difficult to focus and use my time well to make the significant updates to Alternate Reality X which I’ve wanted to despite putting in some serious hours. I started some major structural changes as well as trying to make the code fully object oriented. Looking back I tried to change too many things at the same time and my experience of full object oriented coding isn’t really good enough. I should have stuck with the style I’m familiar with rather than what I thought I should be doing.

The SFML media library I use also underwent some other changes which broke my 3D view code as it relied on some no longer supported OpenGL functions. I’ve considered going back to a previous version of the SFML library, though I’d prefer I was using the current version.

I’ve given it a lot of thought and planned out some more realistic short term changes to ARX. I’ll stick with my procedural style and concentrate my efforts on the areas that really need attention to allow progress to be made with the game. With the New Year I’ve given a lot of thought to what I want to achieve this year – professionally and personally – and making significant progress with ARX (and CRPG Dev) is high on my list.

I’m now working on a simple 0.72 release (as my past official release was 0.71). Once I’ve fixed the 3D view I’ll make this available – the purpose of this will be to update ARX to the latest version of SFML and also make use of the new Visual Studio 2013 build. I’m no longer using Code::Blocks as my development environment as I’m trying to improve my coding and many of the tutorials and books I’ve been studying use Visual Studio.

I’ve lots of plans but I’ll not say anything more about those just now until I’ve proven that ARX is still ongoing with a couple of new releases. So hang in there! 

Thank you for your past support and interest in what I’ve been doing – it’s really meant a lot to me. So with that I’d like to wish you (a belated) all the best for 2016.

Alternate Reality X – Modifying the display

Example Dungeon screen (672×480) from the Atari 800 Emulator

As mentioned previously I was investigating a possible move to using SDL as an alternative to the SFML media library. Whilst I’m not a 100% certain I’m going to stay with SFML it’s looking extremely likely. The main reason for this is that I understand from what I’ve read that unlike SFML, SDL isn’t able to easily mix it’s native graphics with an OpenGL view. One of the things I found useful with SFML was that I could limit my use of OpenGL to just drawing the 3D City / Dungeon view whilst using SFML’s 2D functions for everything else. The disadvantage I’ve found with SFML is that a number of people have had issues with the OpenGL support and video drivers on their Windows machines. There are a couple of changes I can make which might address the problems under Windows and flag up the possible impact on gameplay at start up for the player.

I’ve been spending some time trying out the City and Dungeon using the Atari 800 emulator (version 3.0.0). This emulator seems reliable and hasn’t yet crashed on and lost my emulator settings which I found to be a problem with Atari 800 Win Plus. One of the first things I’m doing is making some changes to simplify the display options to make Alternate Reality X look more authentic and make best use of the original Atari 800 graphics as I didn’t like the way some of them appeared when stretched by my multiple screen options. In practice this is likely to mean more limited screen display options (at least for the next release) but will hopefully make for a better Atari 8bit look which most players are apparently using when playing ARX. I will still be leaving in the support for alternative media but it’s not going to be a focus in the next few releases. 672 by 480 pixels is likely to become the base resolution for the game from the next release with options to have black borders or not. This will give you a very accurate, double sized version of the original and will allow me to match the display very accurately with the original versions.

One of the benefits about my investigations into the SDL media library was that I’ve been reading a SDL game programming book and this has made me rethink some of the ways the game programming could be improved to make better use of the features of C++. These would probably simplify development, improve my code reuse across multiple shop type modules and reduce the risk of crashes due to my ill informed programming techniques. These are general C++ game programming techniques – just as applicable to a SFML game as a SDL one.

These might seem like very trivial points for me to be focusing on but having the display “look right” for me will make a big difference to me. Release 0.8 is now under development so watch this space.

Alternate Reality X – Back to Basics

As I’d said previously I wanted to review what I’d achieved with Alternate Reality X (ARX) and what I needed to do to take it a step closer to completion. I’ve given the project a lot of thought and wanted to post an update.

I found some of my early AR images on the internet dated 12th June 2004. Eleven years ago! These are very old when I was using Mike Robert’s excellent TADS 3 Interactive Fiction system to read the AR binary map files and display an overhead view. Thanks to Mike for answering my often off topic questions when I should have been using TADS 3 to write more adventure games 🙂 Here are the images:
My early Alternate Reality port using TADS 3!

Another screenshot but with a different font and a very simplistic 3D view
My next move after moving away from using TADS 3 was to post a little SDL based demo of some randomised Dungeon combat with various Dungeon denizens things have changed a lot. My original demo looked very authentic and just worked. I liked that version 🙂

My original goals for my Alternate Reality remake were to:
  • Produce an easy to use version of AR that would run on modern systems
  • Allow players to move seamlessly between the City and Dungeon scenarios

It was not my original intention to improve the graphics and sound or to try and complete the other scenarios. The display and audio options as well as multiple screen resolutions have all added to the development time for me. Not ideal when this is really my first proper programming project 🙂
Since then a lot of time has passed and over the years the project has started and paused a number of times due to other commitments and changing ideas about direction. My conclusion now is that the best direction for now is to return to my original goals for the project and try to bring it to a sensible conclusion, or at the very least bring this stage to completion so that there is a solid foundation for myself or others to build on (e.g. adding a new scenario).
The original Alternate Reality:The City
The other conclusion I’ve come to from the emails and messages I’ve received over the years is that the vast majority of people are really looking for a fairly faithful port of the original games – including the original 8bit graphics and sound. I really need to pair back the project to its core so that I can rewrite some of the dubious code in the background. This is turn would provide a solid platform for possible future scenarios to be added – once the City and Dungeon are 100% implemented.
There are a couple of other things I’ve considered. SFML’s use of OpenGL causes a lot of issues foe people who don’t have fully compliant OpenGL video drivers on their Windows PCs. This is a big concern for me with Windows 10 now on release.  A switch to the SDL media library which I believe doesn’t use OpenGL would probably help a lot with this. I’ve also decided that for ARX any ports to Mac OS X or Linux would probably have to be carried out by someone else. Unity 3D I’ll use for new projects rather than ARX.
So where does that leave the project? 
Here’s my current plan and thoughts for Alternate Reality X development:
  • Microsoft Windows only
  • Staying with C++ and a media library (SFML or SDL)
  • Review each section of code, rewriting where necessary
  • Concentrate on adding the remaining functionality
  • Stick to the original 8bit look and feel for now