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!
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.
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
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
- Dynamite Dan
- Posts: 1908
- 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!
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.
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
- Dynamite Dan
- Posts: 1908
- 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?
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
Cheers.
- Alessandro
- Dynamite Dan
- Posts: 1908
- 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 pm 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
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.
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 pm 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
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.
Cheers.
Re: Arcade Game Designer
I found this sample on the agd facebook group, https://yadi.sk/d/efRBzX0rySO63A/thrustdemo.zip
- Alessandro
- Dynamite Dan
- Posts: 1908
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Thanks hikoki. On a side note, it would be much better if some of the members of the AGD facebook group could also post here (and on the AGD forum) examples and code snippets. I really can't stand that downright mess that facebook groups generally are, trying to follow a discussion or to retrieve useful information from any of them is a Sisyphean task to me.
- UltraNarwhal
- Drutt
- Posts: 30
- Joined: Sun Dec 23, 2018 11:30 am
- Contact:
Re: Arcade Game Designer
Recently discovered that Blimpgeddon & OctuKitty when played on ULAplus hardware has incorrect colours. When making these games the first thing I did was change ULAplus palette to look like standard palette, but the emulator (ZXSpin) I used wasn't really showing me correct colours.
So if you've made a game in AGD and want it to look correct for players using ULAplus use this tool to fix the palette.
https://xor-rox.itch.io/nuagcf
So if you've made a game in AGD and want it to look correct for players using ULAplus use this tool to fix the palette.
https://xor-rox.itch.io/nuagcf
Re: Arcade Game Designer
Thank you for sharing my tool. I'm very glad you're finding it usefulUltraNarwhal wrote: ↑Mon Jul 29, 2019 6:07 pm Recently discovered that Blimpgeddon & OctuKitty when played on ULAplus hardware has incorrect colours. When making these games the first thing I did was change ULAplus palette to look like standard palette, but the emulator (ZXSpin) I used wasn't really showing me correct colours.
So if you've made a game in AGD and want it to look correct for players using ULAplus use this tool to fix the palette.
https://xor-rox.itch.io/nuagcf
Everyone can read the What, How, Why of almost all AGD games showing strange colours on ULAplus devices including the ZX-HD (500+ sold) and ZX-Uno and how to fix it on the tools page, including a multi-page article with images explaining and illustrate everything.
For testing, SpecEmu, Retro Virtual Machine (with a ZX-Uno virtual machine) and ZEsarUX should give you quite accurate ULAplus colours. I created an overview with (Windows) Spectrum emulators that support ULAplus and how to turn ULAplus on in them.
For the non-Facebook users, I put it here:
https://www.dropbox.com/s/p7xq9zxcmg9oc ... 9.pdf?dl=0
For people that do use Facebook: you're more than welcome to join the official ULAplus group here: https://www.facebook.com/groups/ULAplus
Is there a special section for AGD on this forum, or is it being considered?
Re: Arcade Game Designer
I think it's bad that ULA+ is automatically installed in the finalised game - it should be a choice. In my last AGD game I forgot, but I usually disable it myself with Poke 32698,201.
I think we should stick to this subforum for now (programming), and only consider a new one if we get more AGD specific threads.
- Alessandro
- Dynamite Dan
- Posts: 1908
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
We do not need a subforum dedicated to AGD, since AGD already has its own forum. A duplicate would be not only unnecessary, but also confusing, because the AGD forum is already full of code snippets, suggestions, downloads etc. and people would have to go back and forth from here to there and vice versa to get everything.
- Ast A. Moore
- Rick Dangerous
- Posts: 2640
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Arcade Game Designer
Seconded.Alessandro wrote: ↑Sun Aug 04, 2019 12:04 pm We do not need a subforum dedicated to AGD, since AGD already has its own forum.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Arcade Game Designer
I totally agree. As you can read in the article, that's one of my suggestions to AGD maintainers.
- Alessandro
- Dynamite Dan
- Posts: 1908
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Hi [mention]XoRRoX[/mention], I wrote you an answer on the AGD forum.
[mention]R-Tape[/mention] Thanks for suggesting that "cure". Applying it will require a lot of time and cause major headaches, but at least I am going to get rid of that nasty unwanted colors.
[mention]R-Tape[/mention] Thanks for suggesting that "cure". Applying it will require a lot of time and cause major headaches, but at least I am going to get rid of that nasty unwanted colors.
Re: Arcade Game Designer
Dear god—you mean you're going to correct every version, of every AGD game you've done?Alessandro wrote: ↑Tue Aug 06, 2019 12:16 pm @R-Tape Thanks for suggesting that "cure". Applying it will require a lot of time and cause major headaches, but at least I am going to get rid of that nasty unwanted colors.
- Einar Saukas
- Bugaboo
- Posts: 3070
- Joined: Wed Nov 15, 2017 2:48 pm
Re: Arcade Game Designer
Noooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!R-Tape wrote: ↑Tue Aug 06, 2019 5:52 pmDear god—you mean you're going to correct every version, of every AGD game you've done?Alessandro wrote: ↑Tue Aug 06, 2019 12:16 pm @R-Tape Thanks for suggesting that "cure". Applying it will require a lot of time and cause major headaches, but at least I am going to get rid of that nasty unwanted colors.
Re: Arcade Game Designer
I should mention in advance that I will be on holiday when this happens.
Re: Arcade Game Designer
Just to be clear - is this an issue with ZXSpin or with AGD games in general?UltraNarwhal wrote: ↑Mon Jul 29, 2019 6:07 pm Recently discovered that Blimpgeddon & OctuKitty when played on ULAplus hardware has incorrect colours. When making these games the first thing I did was change ULAplus palette to look like standard palette, but the emulator (ZXSpin) I used wasn't really showing me correct colours.
So if you've made a game in AGD and want it to look correct for players using ULAplus use this tool to fix the palette.
https://xor-rox.itch.io/nuagcf
Re: Arcade Game Designer
It's the latter. AGD automatically OUTs a ULA+ palette whether the author chose one or not. I've seen the same thing happen on the Vega nonplus - unusually coloured AGD games.
Another good reason to choose SPIN 0.666 though.
- Alessandro
- Dynamite Dan
- Posts: 1908
- Joined: Wed Nov 15, 2017 11:10 am
- Location: Messina, Italy
- Contact:
Re: Arcade Game Designer
Stay calm, I won't do that anytime soon, neither will all of my games be corrected at once. Like I wrote, it will take a lot of time, moreover I have other priorities at this time.
- Einar Saukas
- Bugaboo
- Posts: 3070
- Joined: Wed Nov 15, 2017 2:48 pm
Re: Arcade Game Designer
Even if you update only one of your games, it still means hundreds of files!!!Alessandro wrote: ↑Wed Aug 07, 2019 7:28 pm Stay calm, I won't do that anytime soon, neither will all of my games be corrected at once.