• Bruce

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.







aboutME

Hello, I'm Bruce and I write games for old 8bit computers using Jonathan Cauldwell's excellent Multi-Platform Arcade Games Designer (MPAGD)

I've written a few successful* games for the Sinclair ZX Spectrum and MSX platforms that have been (largely) well received with my most recent game - Twenty Four Hour Parsley People scoring a 10 out of 10 on Planeta Sinclair.

In my blog I am sharing lots of the code that I wrote for my games, in a way that you can use in your own games.   I've commented it so that you'll learn some of the techniques I use to create interesting new mechanics and help your games stand out from the pack.

MPAGD includes lots of standard scripts, they're great to get you started, but if you're new (or just rusty) when it comes to writing code, hopefully my tutorials will help you get started and  turn your imagination into awesome 8 bit games!

All my code is free to use and do with as you please, but if you find them useful please feel free to buy me a coffee :)

*successful is a very relative term in 8bit computer games

Subscribe Form

  • Twitter

©2020 by Minilop Retroware