Arcade Game Designer

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

Arcade Game Designer

Post by Jonathan » Sun Feb 18, 2018 8:07 pm

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!
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/

User avatar
R-Tape
Site Admin
Posts: 2459
Joined: Thu Nov 09, 2017 11:46 am

Re: Arcade Game Designer

Post by R-Tape » Sun Feb 18, 2018 8:24 pm

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.
0 x

Jonathan
Berk
Posts: 11
Joined: Sun Feb 18, 2018 6:55 pm
Contact:

Multi Platform Arcade Game Designer - Now with Editors!

Post by Jonathan » Sun Nov 18, 2018 2:45 pm

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

User avatar
Alessandro
Manic Miner
Posts: 463
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro » Sun Nov 18, 2018 2:55 pm

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!
0 x

Jonathan
Berk
Posts: 11
Joined: Sun Feb 18, 2018 6:55 pm
Contact:

Re: Arcade Game Designer

Post by Jonathan » Fri Nov 23, 2018 10:08 pm

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. :)
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/

User avatar
Alessandro
Manic Miner
Posts: 463
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro » Fri Nov 23, 2018 11:36 pm

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

oblo
Berk
Posts: 25
Joined: Mon Dec 10, 2018 9:24 pm

Re: Arcade Game Designer

Post by oblo » 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
0 x

User avatar
Alessandro
Manic Miner
Posts: 463
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Arcade Game Designer

Post by Alessandro » 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.
0 x

oblo
Berk
Posts: 25
Joined: Mon Dec 10, 2018 9:24 pm

Re: Arcade Game Designer

Post by oblo » Sun Dec 16, 2018 1:57 pm

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!
0 x

hikoki
Manic Miner
Posts: 395
Joined: Thu Nov 16, 2017 10:54 am

Re: Arcade Game Designer

Post by hikoki » Sun Dec 16, 2018 2:08 pm

I found this sample on the agd facebook group, https://yadi.sk/d/efRBzX0rySO63A/thrustdemo.zip
0 x

Post Reply