Wednesday, 16 September 2015

Alternate Reality X - Modifying the display

Example Dungeon screen (672x480) 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.

Sunday, 16 August 2015

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






Saturday, 25 July 2015

August 2015 Already?

Is it really over six months since my last blog post and even longer since my last game upload???

You might have wondered if I was still interested in CRPGs and game development or whether I had hit some serious problem in my personal life. I'm pleased to report that there have been no major disasters but plenty of other things have taken up my time and my personal interests including my game development has suffered as a result.

I'm taking part in a year long training programme which has seen me travelling away from home a lot more than usual and whilst it's been enjoyable and interesting, it means that when I'm back home there is a lot more to catch up on with my family and around the house . I've also completed some other training and exams (work related) that I'd wanted to do for some time. I'm doing some major redecoration and clearing out of our house which has been really time consuming. To top everything off numerous things in the house have broken, developed faults and either need fixing by me or more often replaced or fixed at great expense by others. Additional hassle I didn't need. Net result that the last six months of 2015 have been a total blur.




On the more positive side I did complete a review of Alternate Reality:The City for inclusion in the excellent The CRPG Book Project. This is shaping up to be an excellent book once it's complete. The current version has over 200 pages with around 100 game reviews. Felipe Pepe has done an amazing job putting this together so please check it out if you haven't already. You can find the current version at: https://crpgbook.wordpress.com/

I have also really enjoyed playing Rocksmith 2014 which I bought just before Christmas. If you're unfamiliar with this "game" you plug in a real electric guitar or bass and play along with real songs and play the actual guitar parts.You can slow down sections to practice and vary the difficulty or accuracy. As you improve and depending on your level and playing style (rhythm or lead) the computer gradually adds in more notes until you're playing the authentic guitar parts with all the notes and nuances. It hasn't made me a guitar master but it really is a lot of fun and feels very productive compared to something like Guitar Hero as my guitar playing really is improving as result.



On the game development front I'm thinking through a few ideas at the moment - some about how to progress Alternate Reality X and one of my own CRPG projects which isn't AR related. Unity 3D looks like the most likely choice of platform for anything I do though, mainly due to its rapid deployment to other platforms including web options. Anything I produce I suspect will have a distinctly "classic" look. It probably won't look anything like a normal Unity 3D game :)

Thanks to those of you who have asked how things are and for your continued support and interest in my projects. All the best.


Saturday, 17 January 2015

Two Paths to Alternate Reality

Over the last few months I have been giving a lot of thought to my two Alternate Reality related projects and with the move into 2015 have been thinking about my next steps. I think I'm now fairly clear on how I'm planning to develop during 2015.

I've spent many years working on my original project (Alternate Reality X or ARX) which was originally focused on bringing the City and the Dungeon together into a single game which could be played on a modern PC without the inconveniences that sometimes come from using emulation such as swapping virtual floppy disks. I think I succeeded in meeting the majority of those goals allowing players to move seamlessly between the City and the Dungeon as well as making a number of adjustments so that (hopefully) moving between the two scenarios isn't too jarring. Over the years I introduced a variety of display and audio options with replacement art from Ted and myself and music by Furious. However the flexibility in the options has meant that a lot of time has been spent on say for example making display elements appear in sensible positions across multiple resolutions. Whilst some people will appreciate all the effort that went into these, I suspect may just want to play the game. In addition I found myself in a slightly odd position where I was trying to please everybody retaining the old and new. In a single game there were limits in how successful I could be with this approach.

ARX had become a bit tangled code wise and needed some significant work to make it more stable and less buggy before I could really complete it. This in part made me decide to put a hold on it last year and start work on a new version of Alternate Reality which used the Unity 3D game development system. I've released a couple of short demos using Unity and I like it as a system. It's relatively easy to use but provides a lot of power for someone like me that I couldn't hope to develop myself. In addition it's cross platform support is amazing. I was able to create Mac OS X versions of my Alternate Reality demos with a few mouse clicks compared to the weeks of work it took me to produce one Mac build from my ARX SFML / C++ code.

The conclusion I've reached is that I would like to continue to work on both projects but change the focus of each of them so that they are more clearly . From the feedback and comments I've received from players it looks like there are a sizeable number of people who enjoy ARX with its traditional graphics and sound but with the flexibility of the City and Dungeon being a single game. There are also a lot of people who are looking for a much more dramatic update to AR. This just wasn't possible to produce whilst retaining the old look and feel in a single game. I'm now considering focusing ARX on its original Atari 8bit roots whilst my Unity 3D project (with a working title of Return to Xebec's Demise - RXD) can focus on new graphics and sound, an updated map and a more flexible environment closer to more recent games but still attempting to retain the classic Alternate Reality atmosphere and spirit. The wonderful encounter graphics and music Ted and Furious produced can hopefully be used within the Unity project. This approach will make the ARX downloads much smaller as well.

So what can you expect to see? Firstly I'll be updating both SFML (now on version 2.2) for ARX and Unity 3D (now up to 4.6) for Return to Xebec's Demise so that I can produce small updates of both to get my development environment up to date. Internally things like items, encounters and the player are likely to be very similar so I'm playing with a few ideas as to how to possibly re-use some code between the two. One option would be to use the C# language with SFML as this is the language I use for scripting in Unity 3D.

Hopefully what I'm describing above makes sense and will be pretty clear once you have an update of both projects to try out. Let me know what you think and any better titles you have for the two projects. Thanks as always for your interest and support.