Saturday, July 21, 2012

Robot R-29. Inspiration for years to come.

  As I said earlier, when I started to learn programming I often simply typed in example programs from magazines that were easily available at that time. My parents used to buy me those and "Moje Atari" (My Atari) was one of them. Especially, one program had caught my attention and stuck in my mind for several years. I got back to it many times and ported it onto different platforms. Int the Atari magazine it was written in Atari basic for the little Atari. When I switched to Amiga I wrote two versions of it, one was almost identical with the original and the other one was more sophisticated remake that I made to please my little sister. Then, some decade later, I wrote it again in C# XNA on a Windows machine as one of my assignments on foundation degree.

Cover and the page with code for "Robot R-29" in "Moje Atari" magazin (1991)
The original "Robot R-29"
  Last summer (2011) I visited my parents and tried to transfer my Amiga projects onto MS-DOS floppy disks so that I could run them in an emulator later on. I managed to recover quite a lot, but unfortunately pictures I drew for Amiga adaptation of Robot R-29 didn't survive the ageing effect of time and I encountered several errors on that diskette. Although I have the complete AMOS Basic code for that game, it wouldn't be the same even if I tried to reconstruct the sprites and other pictures. I've found some utility software that allows to read erroneous files, though, and next time I'm in my old place I'll try to restore those files again. Hopefully it'll work.

UPDATE 1:
  During my visit at parents' place in the summer of 2013, I successfully ran the Amiga version of my Robot R-29. I ran out of time to copy the files and run the whole game in an emulator, but at least I took photographs of it. I think I tried to use different colours when I drew all images, but I had only a rough idea how they might actually appear. Until now I have only amber monitor plugged into my Amiga and I haven't changed it in ages, but at least I could see my great product again, and that made me very happy. As soon as I get a chance (hopefully during my next visit) I'll make copies of all files, and if I manage to run it an emulator it'll be the first time ever I'll see this game in colour. I wonder what it'll look like.

UPDATE 2:
 My recent visit in parents' place in the summer 2014 was quite successful. I made a null-modem cable and managed to copy lots of file from my good old Amiga over to my Dad's PC. I then ran it in an emulator and even managed to extract the source code which I'll post in another article together with all graphics and 4 additional levels I've found by looking at the source code. Those levels were created at the same time the game was written. Sadly, all images turned out to be black & white. I'm going to color them at some point and post that update, too. All in another post. Now, enjoy proper screenshots and compare them with the photographs I took last year.

Title screen (photograph).
Title screen (screenshot).
Level 2 (photograph).
Level 2 (screenshot).
And this is level 5, the last one in the original project (photograph).
Level 5 (screenshot).

Game over screen (photograph). 
Game over screen (screenshot).
Congratulations screen (photograph).
Congratulations screen (screenshot).

  The last version is my favourite so far. Initially, this was a university project, and except for visuals and maybe sound the game itself didn't differ much from the original Atari game. I wrote this adaptation in XNA C# which was requirement, and actually the first modern programming language I learnt. Some time later, after the project was submitted to my tutor, I spent lots of time adding different features, title screen, high score table, and new items in the game itself (for example keys didn't exist in the original game). I did that just for my own pleasure, because I enjoyed making this game so much.

XNA C# adaptation on Windows XP

  And now I'm looking forward to porting Robot R-29 onto the Mac and iPhone/iPad.