Project M

ProjectM01

Things are settling down with moving in to our new home and getting it how we want it. I have my office looking good and workable. It’s at that point where you are making fine adjustments here and there to make it just right, we are a fussy bunch us coders 😵 or it could just be me. I have also had a lot of other personal things to deal with (I won’t bore you with the details).

My nice new setup.
My nice new setup.

The Paradroid Remake is on hold; there is a few reasons for this:
I started the remake on a new development system (to me anyway), so I was learning it on the fly as well as making the game. I will be the first admit that it probably wasn’t the wisest move that I have made, as I was finding issues with the development system and with previous knowledge of other systems, things were not working as expected. This led to a lot fudging bits and pieces until I forced them to work. As my knowledge of Game Maker increased, the code I was writing was getting better but I was still working around the code that I had already got working. Slowly it was becoming a bit of a nightmare so I decided to take a break and wrote iDef again in GMS. The whole process took around 6 weeks from start to finish with a nice holiday slapped in the middle of it, so all in it was just over 3 weeks of real time work. The core of the game was done in a few days, then adjusting the graphics from iPhone/iPad screen resolutions to working on a PC/Mac screen took a few days, then the dreaded last part (the flashy title screen) all the bits and pieces that happen behind the scenes taking  the remainder of the time. I also tweaked the gameplay a bit to make it feel much better.

So with this in mind, and the fact that I had Christmas and the house move going on I decided to work on another new project. Project M. One of my other favourite games on the Commodore 64 was Monty On The Run: Partly because the music is amazing and as platformers go it was good fun, albeit very, very hard! I also looked at it as a nicely sized project that I could pick up and put down as time allowed.

Now Monty On The Run (MOTR as I will call it from now on), isn’t a small game to remake but its no where near is complex as Paradroid was/is.

What is MOTR?

Monty on the Run is a computer game created by the software house Gremlin Graphics and released in 1985 for the Commodore 64, ZX Spectrum, Amstrad CPC and Commodore 16, written by Peter Harrap for the ZX Spectrum with music by Rob Hubbard.

On the run from the authorities after his intervention in the Miners’ strike, Monty the mole must escape from his house and head for the English Channel and freedom in Europe. In traditional platform game fashion, along the way he needs to collect various objects and solve puzzles to complete his escape. Before the game, five objects must be chosen to form Monty’s Freedom Kit. Choosing the wrong items will leave the player unable to pass certain screens. This also acted as an anti-piracy measure, since the objects were only given numbers onscreen meaning the player had to refer to the accompanying manual. The final screen sees Monty boarding a ferry to France.

Source: Wikipedia

The Basics
There is a Title screen and completion screen.
There are 54 screens that make up the game map. Each screen is made up of multiple 8×8 pixel blocks (the character size on the Commodore 64), these characters can be:

  • Solid: Monty cannot pass through them in any direction.
  • Platforms: Monty can jump through and walk across the top of them, he cannot fall through them.
  • Climbable: Monty can travel in every direction on them.
  • Hazardous: Touching these hurts our hero Monty, the fate is always death!
  • Empty: Have no effect on Monty.

Each screen can have upto 4 baddie sprites which move either on the X axis (Up and down) or the Y axis (Left and Right). There are reasons for the baddie number, I will discuss this at a later date.
There are also other objects in some rooms that Monty can collect, for points or lives.
There are ‘Crushers’ that kill Monty on contact.
There are ‘Objects’ that are there to trap/kill Monty.
The are ‘Teleporters’ that can either help or hinder Monty’s progresssion.

Starting the remake

With the map in mind I set about trying to find screenshots for the whole game:
I could try and play the whole game through and take screen shots of each screen to help build up the games map. This would obviously take a lot of time to do or I got Google to find a handful of screenshots and a play thru so was able to start thinking about the game and where to start.
Meanwhile, Tony was able to find a fan site that had the whole map as an image, here. So a huge thanks to Andreas Goller for his hard work!

This gave me the whole map to play with: So I set about making the the map usable:

  • The first thing to do was to be able to get the image into a paint package; this turned out to be a lot harder than you expect! I tried handful of packages some just crashed others just became unusable or unresponsive! The image is 25504×4000 pixels in size, which is pretty big but come on a mighty little Commodore 64 had all that data and more in its memory! Eventually I wrote a little Apple Script to scale the image by a half. I then was able to load the image into Adobe Fireworks. /Phew!
  • Next I set about removing all the game objects and baddies, so I painstakingly cut them out and stored them in another image so I knew what else I had to get at a later date.
  • At the same time I started to create a image map of the unique 8×8 pixel characters. So I could build up the game in tiles. This process took a lot of time spread over a few weeks, in between packing boxes and dump runs ready for moving.

With the tidied up game map and the new imge map that I created I then set about recreating the whole game map as a tilemap within Game Maker. Again this process took some time again spread over a few days just before Christmas and while the house sale was going through.

The game map inside Game Maker Studio.

The game map inside Game Maker Studio.

The individual tiles that are used to build up the whole game map.

The Tiles

The individual tiles that are used to build up the whole game map.