Alternate Reality X - Release 0.75 - Changes

With the public release of Alternate Reality X 0.75 looming for the end of September 2016 I thought I would talk a little bit about what you can expect to see, what I didn't manage to add and my general approach to have the completed 1.0 release in your hands before the end of the year.

I had planned for this release to complete ALL the elements of the City and the Dungeon that I see as combat and encounter related. I didn't achieve that for a number of good reasons but I did make some very significant steps that put the project in a much stronger position than it was in before. One of the big changes was to add all the remaining Dungeon monsters as to date only the Well Lit Area and Fixed Encounters had been added and to animate them all.


One major change which I had not committed myself to making was using the original 8bit Dungeon monster data directly from the binary files. I was previously using simple text files which whilst easy to update had numerous errors, lacked a lot of information from the real data and were prone to spoiling of the game / opportunity for cheating from players. In addition to this I had built up similar text files for weapons in the game - an amalgamation of weapons the player could buy, monster weapons and unique items you could stumble across (e.g. the Sword of the Adept).

One of the great features of Alternate Reality (the Dungeon at least) was that it had a very flexible system for customising monsters and items in the game. Many games at the time would have had fixed object sizes with no opportunity to modify those objects in game. The Dungeon in contrast allowed very rich items and monsters which contained a mixture of attribute data (name, bonus to hit, sharp damage) with effects (curses, give off light) and directly included 6502 (the processor used by the Atari 800, Commodore 64 and others) code. In game objects could also be dynamically created in game (clothing in the City) or modified through player actions (weapons having enchantments added at the Weapon Enchantress).

So after a lot of thought I made the decision to use the original binary data. Using some great information provided by Brian Herlihy a few years back, I replaced the original monster loader and also added in support for loading in all their weapons and attacks. These are stored as part of the monster data. This was a lot of work for me but once I had these changes working I felt it made an immediate improvement to the feel of the game as well as adding all those additional Dungeon monsters - about 50 in total. Thanks to Brian for this information without which these changes wouldn't have been possible.


Another major change in this release was the introduction of properly timed / processor speed independent encounter animation. I had information on encounter animation from old emails from Jim Norris - thanks Jim! - so I used these to hopefully produce a fairly accurate recreation of the Dungeon encounter animations. As part of this work I totally rewrote the main encounter loop and the way that monster and player "turns" are taken during combat and how multiple opponents are dealt with. Monster attacks now use the proper attack descriptions (whomps, slashes, chokes etc), can hit multiple player body parts and can also knock the player to the ground.


Behind the scenes I re-organised some of the game code, introducing more source files to try and better segment and compartmentalise different code areas (e.g the actor source files refer to encounters, load in the binary data, create their weapons and attacks etc). All these changes meant a lot of knock on changes - some foreseen, others not. These took time to sort out. I've probably not caught all of these issues yet.


With the introduction of all the new Dungeon monsters and only limited new encounter art I took the decision to temporarily disable the new media options - these will be back in a future version. I also disabled the W command to force an encounter as it seemed to be a source of problems and encounter frequency checking has been re-written in this release to check regularly for new encounters. I had to tone this down a bit as encounters seemed to be happening back to back!

The other feature missing from this release is the ability to pick up monster weapons after combat. There was a very practical reason for this, namely that all monster weapons are now stored in a new format and location whilst the player inventory / object buffer in the game uses a totally different system. In order to allow for the custom weapons of the Dwarven Smithy and enchanted weapons from the Enchantress this system will need to be updated and this in turn will impact on all the existing shops where weapons, armour and clothing can be bought. This work will be the focus of the next release with addition of adding in the original item binary data from the Dungeon to introduce all those special objects into Alternate Reality X such as Trump Cards, Eyes, Wands and Horns. Trying to add these into release 0.75 would have added a lot longer to the development time and I was keen to have a release out before then.

In order to have the 1.0 release ready for the end of the year I have had to focus tightly on what needs to be finished and priority on the gaps that need the most work and will add the most to the game. This may mean that some of the extras will go on the back burner for the time being but I think it will be well worth it to have a complete, integrated City and Dungeon Alternate Reality world to explore! Hopefully these decisions make sense but as always I'd love to hear your thoughts. Watch out for release 0.75 coming very soon. Thanks.

Comments

  1. Wow .. such a nice read. I hope you will include some of the information regarding the old binary formats and other special tidbits you have found out through research in the release. This would make the job easier for the next guy doing the remake in another 30 years :P

    ReplyDelete
    Replies
    1. Thanks! Yes I'll be putting together some webpages and documents to record my findings. As mentioned a lot of work had already been done by other people but there are some extras which I've worked out.

      Delete
  2. Very cool. It's amazing to see all of the work you have done with AR. I look forward to playing 0.75 and 1.0 when it comes out!

    ReplyDelete
    Replies
    1. Thanks Cliff. Working away on items just now.

      Delete
  3. In a word, "Amazing"...thank you thank you thank you

    ReplyDelete
  4. Awesome. Just awesome. Glad I came across your blog. Been a fan of the original 'City' game on PC since my high school days and spent many grueling hours on it back then, until every tavern keeper knew my name (and everyone was glad I came). 😉 I was so bummed at the time I had to stay in the city. I am so glad to see the game getting the makeover you've been giving it. I'll be sure to tell my dad (who bought the original game for the family) about your progress too! 😎👍

    ReplyDelete
    Replies
    1. Thanks for commenting. I was really disappointed that the Dungeon never got its 16bit versions for the Amiga and PC - though I didn't realise that until I got internet access in the mid 1990s. Thanks. Feel free to spread the word as I'm keen to get the word out about the project :)

      Delete
  5. āļŠāļĨ็āļ­āļ• āļ—āļ”āļĨāļ­āļ‡ āđ€āļĨ่āļ™ āļŸāļĢี āđ€āļĨ่āļ™āļŠāļĨ็āļ­āļ•āļ่āļ­āļ™āļĨāļ‡āđ€āļ”ิāļĄāļžัāļ™ āļŠāļģāļ„ัāļāļ•้āļ­āļ‡ āļĨāļ­āļ‡āđ€āļĨ่āļ™āđ€āļāļĄāļŠ์āļŠāļĨ็āļ­āļ• āļāļēāļĢāļ—āļ”āļĨāļ­āļ‡āđ€āļĨ่āļ™āđ€āļāļĄ āļŠāļĨ็āļ­āļ• āđ€āļžื่āļ­āđ€āļ›็āļ™āļ•ัāļ§āļŠ่āļ§āļĒāđƒāļŦ้āđ€āļĢāļēāļ—āļ”āļĨāļ­āļ‡āđ€āļĨ่āļ™āđ€āļāļĄāļŸāļĢี āđ€āļāļĄāđƒāļŦāļĄ่āļ—ุāļāļ„่āļēāļĒ āļ•้āļ­āļ‡āđ€āļ§็āļš āļŠāļĨ็āļ­āļ•

    ReplyDelete
  6. PG āđ€āļ§็āļš āđ€āļāļĄāļŠ์ āļ­āļ­āļ™āđ„āļĨāļ™์ āđ€āļ›ิāļ”āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“์āļžāļ™ัāļ™āđ€āļāļĄāļ­āļ­āļ™āđ„āļĨāļ™์āļŠāļĨ็āļ­āļ•āļŠุāļ”āļžิāđ€āļĻāļĐāđ„āļ›āļัāļš PGSLOT āļœู้āđƒāļŦ้āļšāļĢิāļāļēāļĢāļŠāļĨ็āļ­āļ• No.1 āļĢัāļšāļĢāļ­āļ‡āļ”้āļ§āļĒāļĒāļ­āļ”āļŠāļĄāļēāļŠิāļāļŦāļĨัāļ 50,000 āļ„āļ™āļ•่āļ­āļ§ัāļ™āđ‚āļšāļ™ัāļŠāđāļ•āļāļ‡่āļēāļĒāļ›āļĨāļ­āļ”āļ ัāļĒāļ—ัāļ™āđƒāļˆ 100%

    ReplyDelete

Post a Comment