Arcade Game Designer

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Jonathan
Drutt
Posts: 11
Joined: Sun Feb 18, 2018 6:55 pm
Contact:

Arcade Game Designer

Post by Jonathan »

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!
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/
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape »

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!
Just when I'm getting used to v4.7!

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.
Jonathan
Drutt
Posts: 11
Joined: Sun Feb 18, 2018 6:55 pm
Contact:

Multi Platform Arcade Game Designer - Now with Editors!

Post by Jonathan »

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
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/
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

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!
Jonathan
Drutt
Posts: 11
Joined: Sun Feb 18, 2018 6:55 pm
Contact:

Re: Arcade Game Designer

Post by Jonathan »

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. :)
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/
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

Thank you Jonathan :D

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?
User avatar
oblo
Drutt
Posts: 31
Joined: Mon Dec 10, 2018 9:24 pm

Re: Arcade Game Designer

Post by oblo »

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
Cheers.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

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
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?

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.
User avatar
oblo
Drutt
Posts: 31
Joined: Mon Dec 10, 2018 9:24 pm

Re: Arcade Game Designer

Post by oblo »

Alessandro wrote: Sun Dec 16, 2018 1:30 pm
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
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?

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.
Thanks Alessandro, I was looking for the first option but it's nice to know both are supported, thanks!
Cheers.
hikoki
Manic Miner
Posts: 576
Joined: Thu Nov 16, 2017 10:54 am

Re: Arcade Game Designer

Post by hikoki »

I found this sample on the agd facebook group, https://yadi.sk/d/efRBzX0rySO63A/thrustdemo.zip
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

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.
User avatar
UltraNarwhal
Drutt
Posts: 30
Joined: Sun Dec 23, 2018 11:30 am
Contact:

Re: Arcade Game Designer

Post by UltraNarwhal »

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
XoRRoX
Manic Miner
Posts: 231
Joined: Wed Jul 11, 2018 6:34 am

Re: Arcade Game Designer

Post by XoRRoX »

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
Thank you for sharing my tool. I'm very glad you're finding it useful :D
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?
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape »

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.
XoRRoX wrote: Thu Aug 01, 2019 9:13 pm Is there a special section for AGD on this forum, or is it being considered?
I think we should stick to this subforum for now (programming), and only consider a new one if we get more AGD specific threads.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Arcade Game Designer

Post by Ast A. Moore »

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.
Seconded.
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.
XoRRoX
Manic Miner
Posts: 231
Joined: Wed Jul 11, 2018 6:34 am

Re: Arcade Game Designer

Post by XoRRoX »

R-Tape wrote: Thu Aug 01, 2019 10:10 pm I think it's bad that ULA+ is automatically installed in the finalised game - it should be a choice. In my last

I totally agree. As you can read in the article, that's one of my suggestions to AGD maintainers.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

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.
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape »

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.
Dear god—you mean you're going to correct every version, of every AGD game you've done? :o
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Arcade Game Designer

Post by Einar Saukas »

R-Tape wrote: Tue Aug 06, 2019 5:52 pm
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.
Dear god—you mean you're going to correct every version, of every AGD game you've done? :o
Noooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape »

Einar Saukas wrote: Tue Aug 06, 2019 6:04 pm Noooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!
I should mention in advance that I will be on holiday when this happens.
User avatar
ZXDunny
Manic Miner
Posts: 498
Joined: Tue Nov 14, 2017 3:45 pm

Re: Arcade Game Designer

Post by ZXDunny »

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
Just to be clear - is this an issue with ZXSpin or with AGD games in general?
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape »

ZXDunny wrote: Tue Aug 06, 2019 6:46 pm Just to be clear - is this an issue with ZXSpin or with AGD games in general?
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.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro »

Einar Saukas wrote: Tue Aug 06, 2019 6:04 pm
R-Tape wrote: Tue Aug 06, 2019 5:52 pm Dear god—you mean you're going to correct every version, of every AGD game you've done? :o
Noooooooooooooo!!!!!!!!!!!!!!!!!!!!!!!!
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.
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Arcade Game Designer

Post by Einar Saukas »

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.
Even if you update only one of your games, it still means hundreds of files!!! :)
Post Reply