What is MPAGD? Multi-Platform Arcade Games Designer
MPAGD is a Windows development tool for creating games for 8 bit computers. The software is designed and created by Jonathan Cauldwell. Although my primary aim is to develop games for the Sinclair ZX Spectrum computers, one of the benefits of MPAGD is the ability it offers for porting games to other retro machines, including the Amstrad CPC, MSX, Dragon 32, Acorn, BBC and a bunch of others (sadly not the Commodore 64...yet).
It's also relatively easy for non-developers to get their heads around. I say that, as a non-developer who has managed to develop a couple of games that have been pretty well received...all thanks to MPAGD.
Basically MPAGD handles all of the boring stuff you need to create an 8-bit machine code game, letting you focus on the fun stuff, designing graphics, screens/levels, and gameplay.
Of course, designing a game for a 35+ year old computer does come with its own challenges.
Not least of which is memory.
Let's put it into perspective. See the logo at the top of this page? That logo is 42Kb
That logo requires more memory than an entire ZX Spectrum game (a 48K ZX Spectrum has about 40Kb of usable memory)
And that logo doesn't move, jump over things, shoot baddies...or anything more than just sit there.
Fitting a game into the available memory is a challenge and a half. I learnt this the hard way when developing Cocoa and the Time Machine, my first MPAGD game. It's all well and good having a 12 frame animation that beautifully portrayed falling stalactites crumbling into the ground. But that single animation required around 500 bytes, about 3% of the total available space (it ended up as 1 frame!).
There are many other compromises that I had to make, my 100 screen epic had to be sized down to about 30, other animation frames were ditched, and a weekend spent recfatoring all of the gameplay code shaved another 800 or so bytes....which I ended up using to improve other aspects of the game.
Unlike modern software, where memory is no issue, and its all about 'what can I put in?', designing for the limitations of a retro computer is more about 'what can I take out'.
And that's half the fun.
MPAGD has a simple scripting language that you can use to customise
your game to your hearts content. And I mean Simple...even I have pretty much mastered it and the last coding I did was a bit of COBOL in about 1992. It's BASIC like in its instruction set...its kind of a more basic BASIC.
It might be simple, but it doesn't need to be simplistic. In fact you can create games that are quite complex, invent new mechanics...and do whatever else you can squeeze into 40K of memory
So, I thought I'd start this blog, a duffer's guide to retro game development, for middle aged muppets, who still love their Speccy* (*other 8 bit retro computers are available). So, even if you've never coded before, let's create a game with MPAGD. It'll be fun, honest.