Monday 20 June 2022

The Saga Continue ... The Adventure V1.0

 The Saga Continue ... The Adventure V1.0


After approximately 10 months I now have time to finish the first release of 'The Adventure'. A game I wrote in 1986 on an ICL DRS 20 Model 50 minicomputer using Microsoft Basic V1.0

Converting the game to run in a modern Basic Interpreter has been fun. There are lots of changes I had to make and lots more I want to make but the first working version of the game, now written in QuickBasic64 (QB64), is almost complete. Just a few bugs to iron out.

I had to completely document the source code as I had not done this back when I first wrote the code. That was fun tracing variables through the code to see what they were used for and following the game logic again.

The game used no graphics, instead it relies on just the normal character set for anything visual like the top-down map. The map itself I had to recover from a printed listing and check every character manually to ensure I had it all exactly as it was first developed.

Here is the map for reference.


Once I have ironed out the final few bugs then I will release an executable of the game. This will be a version that is faithful to the 1986 final version, warts and all. 

Version 2 of the game will be with optimised code, and improved gameplay and I may see if I can work with Ansi art to display both the map and monsters you meet along the way. 

Watch this space......

A Little Update

 How time flies

At the time of writing, it has been 4 months since my last post. In that time, I have had little time to look at the recreated source code for my adventure game but I have made some progress

I have decided that I did not like myself very much. The code is undocumented and used variable names that are not very descriptive. I can guess what some of them mean but the others will take some working out as I follow the logic through my code.


Documentation

I know I need to document the code and create some flow charts. The trouble is this is the bit I hate the most but it has to be done so I can understand the code again and recreate the game on modern platforms. So, I will break out Visio and get to work and get heavy with the REM statements.


Code Structure

I have certainly learned a lot since 1986. As I look at my code I can see many ways I could do it better, way too much jumping around using GOSUB and RETURN. However back then we could not create subroutines (using Procedure and Functions) that you could call, at least not in the version of BASIC I was using.


What Language?

So I always said I would recreate the game to play exactly as it was back in 1986 but reprogrammed in a modern language. To this end, I have been looking around for modern implementation of the BASIC programming language as a good place to start before I branch out to other languages. 

I have settled on using QuickBasic64 which is open source, backward compatible, and allows many modern features such as calls to windows DLLs and displaying PNG files, etc. 

QB64.org – BASIC for the modern era