Arcade Game Designer
Arcade Game Designer
For those who don't already know, I've updated the editorless version of AGD, fixed one or two bugs and added Amstrad CPC464 support. It's now possible to create a Spectrum game using BASIC-like AGD script and then convert it to the Next/Timex and the CPC by pasting in some new graphics and not much else! Even the coordinates in DEFINEOBJECT or SPRITEPOSITION remain the same across all three machines, despite the Amstrad's 160x200 resolution.
I've uploaded a zipfile with compiler source and executables, engines, a simple test program, a skeleton program, coding templates and documentation at http://arcadegamedesigner.proboards.com ... x-spectrum
You'll need to edit the Test.AGD file if you wish to compile it for the Spectrum or Next/Timex as it's configured for the new CPC compiler by default. Just comment out the CPC graphics and uncomment the ones you want.
To build the Test.AGD program, type:
CompilerZX Test.AGD
CompilerNxt Test.AGD
CompilerCPC Test.AGD
...depending on the target machine. You should end up with a file Test.AGD.asm which you can put through a Z80 assembler. I've tested the generated code in SjAsmPlus, 2500AD and the assemblers built in to ZX Spin and WinApe and it all builds perfectly. Can't vouch for other assemblers though.
Enjoy!
I've uploaded a zipfile with compiler source and executables, engines, a simple test program, a skeleton program, coding templates and documentation at http://arcadegamedesigner.proboards.com ... x-spectrum
You'll need to edit the Test.AGD file if you wish to compile it for the Spectrum or Next/Timex as it's configured for the new CPC compiler by default. Just comment out the CPC graphics and uncomment the ones you want.
To build the Test.AGD program, type:
CompilerZX Test.AGD
CompilerNxt Test.AGD
CompilerCPC Test.AGD
...depending on the target machine. You should end up with a file Test.AGD.asm which you can put through a Z80 assembler. I've tested the generated code in SjAsmPlus, 2500AD and the assemblers built in to ZX Spin and WinApe and it all builds perfectly. Can't vouch for other assemblers though.
Enjoy!
1 x
Not on Twitter, left the Spectrum scene on 4th December 2018. Thanks folks, it was a pleasure knowing you.
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
Re: Arcade Game Designer
Just when I'm getting used to v4.7!It's now possible to create a Spectrum game using BASIC-like AGD script and then convert it to the Next/Timex and the CPC by pasting in some new graphics and not much else!
Can I add a big thanks to Jonathan for permission to host his stuff. Some of it's available now, and some (like editorless AGD) needs sorting/adding/updating and will be available next weekend.
0 x
Multi Platform Arcade Game Designer - Now with Editors!
Wow, just nine months ago and so much has changed since then. AGD is no longer editorless, for a start. Back in April I bit the bullet and started coding a full set of Windows x64 editors for Spectrum, CPC, Timex TC2048 and Acorn Atom. The result was Multi-Platform Arcade Game Designer but it appears I didn't think to announce it here so it is about time that was addressed.
The latest version is 0.7.1 and comes with lots of features. Here are some:
Superior scripting language to the one used in AGD 4.7 with more commands to read from data statements, redefine keys and loads of other stuff.
You can still use messages, LINE and COLUMN in the usual way but commands like AT 10,15 PRINT "Hello World" work too.
WHILE loops. REPEAT can be nested to 3 levels, WHILE to more (10 if memory serves...)
More efficient compiler with optimisations for some cases of ADD, SUBTRACT, DIVIDE and MULTIPLY.
Operators < > <= >= <> = all recognised.
Comments allowed, everything between a semi-colon and the end of the line is ignored by the compiler.
Edit scripts in an editor of your choice, MPAGD will fire it up for you.
Import games written with AGD 4.0 to 4.7, modify them, convert them to other machines etc.
Automatically convert graphics between formats, generating placeholders you can edit.
Import 16x16 sprites from SevenUp files.
More intelligent templates, so basic integrated scripts can be generated to get you started - you don't necessarily have to write a line of code!
Comprehensive language reference manual with examples for all instructions. Instructions for editors included too.
Mostly mouse-driven but pop-up help exists for keyboard functions/shortcuts.
New collectable blocks, last seen in PGD...
Output to assembler source. Set up your own batch files to assemble to binary and run emulators if you wish, MPAGD will run them at build time.
Copy, paste, mirror, invert and scroll sprites around in the editor grid. Animate them back and forth.
Use ALL available memory, no editors getting in the way.
Link:
http://www.spanglefish.com/egghead/inde ... eid=397755
The latest version is 0.7.1 and comes with lots of features. Here are some:
Superior scripting language to the one used in AGD 4.7 with more commands to read from data statements, redefine keys and loads of other stuff.
You can still use messages, LINE and COLUMN in the usual way but commands like AT 10,15 PRINT "Hello World" work too.
WHILE loops. REPEAT can be nested to 3 levels, WHILE to more (10 if memory serves...)
More efficient compiler with optimisations for some cases of ADD, SUBTRACT, DIVIDE and MULTIPLY.
Operators < > <= >= <> = all recognised.
Comments allowed, everything between a semi-colon and the end of the line is ignored by the compiler.
Edit scripts in an editor of your choice, MPAGD will fire it up for you.
Import games written with AGD 4.0 to 4.7, modify them, convert them to other machines etc.
Automatically convert graphics between formats, generating placeholders you can edit.
Import 16x16 sprites from SevenUp files.
More intelligent templates, so basic integrated scripts can be generated to get you started - you don't necessarily have to write a line of code!
Comprehensive language reference manual with examples for all instructions. Instructions for editors included too.
Mostly mouse-driven but pop-up help exists for keyboard functions/shortcuts.
New collectable blocks, last seen in PGD...
Output to assembler source. Set up your own batch files to assemble to binary and run emulators if you wish, MPAGD will run them at build time.
Copy, paste, mirror, invert and scroll sprites around in the editor grid. Animate them back and forth.
Use ALL available memory, no editors getting in the way.
Link:
http://www.spanglefish.com/egghead/inde ... eid=397755
1 x
Not on Twitter, left the Spectrum scene on 4th December 2018. Thanks folks, it was a pleasure knowing you.
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
- Alessandro
- Manic Miner
- Posts: 279
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Hi Jonathan,
is it possible with the new AGD to add calls to external code like in the traditional AGD, through a CALL instruction strategically inserted in the scripts as ASM 205 etc.? I did that in several of my games in order to add custom sound/visual effects.
I noticed in fact that after importing a .SNA snapshot from one of such games, namely Apulija-13, the reference to the external code in the corresponding script is "commented", i.e. the ASM commands are preceded by a semicolon sign. By re-exporting the game as an .ASM source file and reassembling it with Pasmo, a game file is generated, but the external code is not called anymore.
I would also like it if you could set the traditional Spectrum palette as default instead of the ULA Plus one. Again, when importing a game snapshot, all blocks are converted into the ULA Plus palette and the result looks odd to say the least. In order to make them revert to the original default palette, you should change the colors for each one of them. Quite a pain in the neck when you have more than 200 blocks in your game!
is it possible with the new AGD to add calls to external code like in the traditional AGD, through a CALL instruction strategically inserted in the scripts as ASM 205 etc.? I did that in several of my games in order to add custom sound/visual effects.
I noticed in fact that after importing a .SNA snapshot from one of such games, namely Apulija-13, the reference to the external code in the corresponding script is "commented", i.e. the ASM commands are preceded by a semicolon sign. By re-exporting the game as an .ASM source file and reassembling it with Pasmo, a game file is generated, but the external code is not called anymore.
I would also like it if you could set the traditional Spectrum palette as default instead of the ULA Plus one. Again, when importing a game snapshot, all blocks are converted into the ULA Plus palette and the result looks odd to say the least. In order to make them revert to the original default palette, you should change the colors for each one of them. Quite a pain in the neck when you have more than 200 blocks in your game!
0 x
Re: Arcade Game Designer
Hi Alessandro,
Thanks for your suggestions, there's a new CALL command to call an external routine. You can also switch between standard and ULAplus palettes.
In other news, I've added the Next, Dragon and Electron. They share graphics with the Timex and Atom but they're in and they will attempt to build, pending compilers for one or two. There are other bug fixes and improvements too.
Download 0.7.2 from the usual place.
Thanks for your suggestions, there's a new CALL command to call an external routine. You can also switch between standard and ULAplus palettes.
In other news, I've added the Next, Dragon and Electron. They share graphics with the Timex and Atom but they're in and they will attempt to build, pending compilers for one or two. There are other bug fixes and improvements too.
Download 0.7.2 from the usual place.

1 x
Not on Twitter, left the Spectrum scene on 4th December 2018. Thanks folks, it was a pleasure knowing you.
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
http://www.spanglefish.com/egghead/
http://arcadegamedesigner.proboards.com/
https://jonathan-cauldwell.itch.io/
- Alessandro
- Manic Miner
- Posts: 279
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Thank you Jonathan
I also noticed you dropped the FADE command, do you think you will reinstate it?
If I do not use any AY sound effects, can I delete the definitions from the source code, those that appear at the bottom of the .ASM file, to make the final game code shorter?

I also noticed you dropped the FADE command, do you think you will reinstate it?
If I do not use any AY sound effects, can I delete the definitions from the source code, those that appear at the bottom of the .ASM file, to make the final game code shorter?
0 x
Re: Arcade Game Designer
Hi. I've downloaded the Multi-Platform Arcade Game Designer 0.7.2 and start to read documentation before try anything.
Anyway, do AGD support no gravity/loose inertia (I don't know how to put it), something like an astronaut in space or a top-down car like Ironman Offroad, or something like that, were the player has to control at every moment the movement of the controlled sprite?
Thanks and regards
Anyway, do AGD support no gravity/loose inertia (I don't know how to put it), something like an astronaut in space or a top-down car like Ironman Offroad, or something like that, were the player has to control at every moment the movement of the controlled sprite?
Thanks and regards
0 x
- Alessandro
- Manic Miner
- Posts: 279
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Hi Oblo, do you mean you would like to move the player sprite just by tapping the key/joystick so that it always moves in the same direction until you tap another key, or the joystick in a different direction?oblo wrote: ↑Tue Dec 11, 2018 8:33 pmHi. I've downloaded the Multi-Platform Arcade Game Designer 0.7.2 and start to read documentation before try anything.
Anyway, do AGD support no gravity/loose inertia (I don't know how to put it), something like an astronaut in space or a top-down car like Ironman Offroad, or something like that, were the player has to control at every moment the movement of the controlled sprite?
Thanks and regards
Or do you mean Cybernoid-style controls. i.e. up, left and right, with the sprite falling towards the bottom of the play area?
Both are possible in AGD.
0 x
Re: Arcade Game Designer
Thanks Alessandro, I was looking for the first option but it's nice to know both are supported, thanks!Alessandro wrote: ↑Sun Dec 16, 2018 1:30 pmHi Oblo, do you mean you would like to move the player sprite just by tapping the key/joystick so that it always moves in the same direction until you tap another key, or the joystick in a different direction?oblo wrote: ↑Tue Dec 11, 2018 8:33 pmHi. I've downloaded the Multi-Platform Arcade Game Designer 0.7.2 and start to read documentation before try anything.
Anyway, do AGD support no gravity/loose inertia (I don't know how to put it), something like an astronaut in space or a top-down car like Ironman Offroad, or something like that, were the player has to control at every moment the movement of the controlled sprite?
Thanks and regards
Or do you mean Cybernoid-style controls. i.e. up, left and right, with the sprite falling towards the bottom of the play area?
Both are possible in AGD.
0 x
Re: Arcade Game Designer
I found this sample on the agd facebook group, https://yadi.sk/d/efRBzX0rySO63A/thrustdemo.zip
0 x