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

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.

Alternate Reality X – Release 0.71, Mac OS X version and Next Steps

Alternate Reality X 0.71 running on Mac OS X!

Alternate Reality X 0.71 is now available for download from www.crpgdev.com. I spent a lot of time (about 50 hours sandwiched in around work and family commitments) on this one modifying and tidying up a lot of the display code in the background so that ARX runs much more consistently across different window and screen sizes. I’ve also modified the encounter art scaling code so that encounters in both the original Atari 8 bit style and using Ted’s new art scale properly based on the 3D window size. Another area which annoyed me was the positioning of screen elements when visiting shops and modules. These should now appear neatly centred on the screen or window rather than spread out to the four edges of the screen as previously which I didn’t think worked very well. Hopefully these changes were positive! This release also includes a couple of new encounter images from Ted – a Slime and a Noblewoman (who wasn’t in the original AR).

Mac OS X version running full screen
I’ve got a lot of other visual changes that I have planned for future releases such as a smaller auto map, updated map – hopefully showing the full City and Dungeon 64 x 64 cell levels, encounter animation (at least for the original 8bit art) and lots of new wall textures. I may add a little resolution / display options utility as well so that people don’t have to edit arx.ini by hand. I also need to clean up some of the interface generally in terms of text input and on screen prompts (or lack of)  which confuse people. Expect desktop icons for both the Windows and Mac OS X versions very soon 🙂 
The other major development for me is my first ever game release for Mac OS X. I now have a version of ARX 0.71 available for download on Mac OS X. I can’t really say how satisfying it’s been to be able to make this available for people. Thanks to everyone who has provided feedback and support for this release. Currently it’s only available from this link but I’ll add a proper page / description shortly:
I had to tweak the security settings for the App but this only takes a few seconds and OS X will tell you how when you try and run the game.
Really pleased with SFML running on Mac OS X. The latest 2.1 version seems to be work really well and comes with xCode templates to get you started. Once I got past some of the differences with using xCode and became more familiar with using a Mac in general then SFML seemed to do its job very well. Laurent Gomila has done such a great piece of work with SFML since it started a few years back. If you have any interest in game programming then you should definitely consider SFML 2.1. 

The SFML 2.1 template and test project

In terms of game play updates for Alternate Reality X, I will be focusing on improving encounters and items in the game for the 0.72 release. This will include adding multiple body parts to combat, surprise and waylay, knock downs, fleeing, blocking, stun – you know what I have in mind. I could really use one of those Wands of Cold to cool down those hot headed Flame Demons. Alternate Reality for me is very much about the encounters you have so I really want this element to be very strong and close to the original games. Don’t be surprised if the more friendly characters begin having a lot more to say that they used to – of course it may not always be useful or truthful!
I also want to include some of those juicy treasure items that made the City and Dungeon so enjoyable – eyes, scrolls, trumps and lots of weapons and armour. Some of these essential additions will probably require some fairly major changes to my older code which may require changes to the save game format. I’ll see what I can do though.
I’ve had a few queries about Stone of the Citadel recently and whilst there isn’t currently a downloadable demo work on it has continued in the background (mainly focused on design and content). This will be a Unity 3D project. The initial release will focus on creating your party of adventurers and I think will show how SOTC will capture the best of the classic CRPGs whilst adding some spice of its own. Expect a playable multi-platform demo in the near future.
If you enjoy what I’ve been doing with Alternate Reality X or other CRPG Dev projects then please consider making a small donation via Paypal to cover my time and web site costs. Please also keep your feedback, emails, questions and words of support coming – they are a great encouragement and help shape my future releases and games. Thanks as always for your support.

Alternate Reality X – Back on track

It’s taken me a long time to start getting back into Alternate Reality X but I finally have my most recent version up and running again on a different computer, with the latest version of the Code::Blocks development environment and the latest packaged release of the SFML multimedia library. I’ve used both of these for some time for ARX development and it’s good to get these new versions installed and working properly with my most recent ARX code before I get stuck into the next stage of development.

I still have some of the new artwork to incorporate into the current version as well as lots of things I see in the program and on the screen which I really want to tidy up. Next step is to draw up a list of these issues that I want to fix for the next release and then start fixing them. I’d also like to get some new content into the next release as well as just bug fixes so let me know if there is something you really would like to see me work on next.

Visual C++ 2010 Express and SFML 2

Based on some issues that players of Alternate Reality X reported, I was keen to try out one of the more recent versions of SFML 2.  Hopefully this would resolve problems relating to the use of RenderTextures on machines using integrated Intel graphics. Using a very helpful tutorial by SFMLcoder over at http://sfmlcoder.wordpress.com/2011/06/15/building-sfml-2-nmake/ I was able to build my own SFML 2 binaries and libraries successfully for the first time.

I also used this as an opportunity to switch from Visual Studio C++ 2008 Express to the 2010 edition. It looks like there are a few changes between 2008 and 2010 but no major issues just now.

One thing to remember if that players will need to install the Visual Studio 2010 runtime for the next ARX or SOTC release.

SFML 2.0 – Release Candidate

The Simple Fast Media Library (SFML) version 2.0 is now at the Release Candidate stage and is available as a download from the SFML website. I’ve been waiting for this for some time. Hopefully the final 2.0 release won’t be far away. It provides you with all the necessary library functions you need to code your games and there are a variety of bindings for different languages. There is a very active forum and lots of active SFML users now so help isn’t far away if you need it.

I’ll switch over Alternate Reality X and Stone of the Citadel soon to take advantage of this new release.