News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Jonathan.

Arcade Game Designer

Started by Jonathan., 02:22, 18 February 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jonathan.






Update:


I've now released a Windows editor which allows you to edit blocks, sprites, objects, screens etc and generate much of the AGD file automatically, leaving you just a few bits and pieces to code yourself.  All very basic at the moment but it's a start.


What it will do is allow the user to import a snapshot of recent 48K Spectrum AGD games and it will then generate placeholder graphics for CPC as a base to start with.  You can flip between formats easily, one minute you're editing graphics for the Timex Sinclair, the next the CPC.


My priority now is to start testing this tool on bigger games.  All very well playing Dodgy Geezer on a CPC, Spectrum or Atom but people want to create bigger games than that.  In the meantime, let me know how you get on so I can fix any problems that arise.



http://arcadegamedesigner.proboards.com/thread/555/agd-version-first-windows-editors


Jonathan.

Version 0.6 is now available to download.

Lots of bug fixes this time, this has been tested with several games and as part of that I converted a couple of existing Spectrum games to the CPC.  All good fun although I'm sure there are people here who'll make better use of the Amstrad's graphics than I ever could so I'll let others look into converting Spectrum AGD games.  There are dozens of games that could be given a CPC conversion though.

Multi-Platform AGD is now an all-in-one program.  Blocks, sprites, objects, screen layouts, map, font, palette, sprite/object positions... there are editors for everything except code so you'll have to edit the scripts separately.  It will even export the game as an assembly language listing; all tested with 2500AD, SjAsmPlus and the assembler built in to WinApe.


http://www.spanglefish.com/egghead/index.asp?pageid=397755

Have fun, there'll be plenty of bugs so do let me know when you find any.  And don't be too harsh on my Windows API programming, it does the job for now... ;)


EgoTrip

#27
I played around with it a bit using Wine. I might make a small game or two, because I will be able to easily port it to the other platforms. But my main games will still be done on cpctelera. I've not made anything significant yet, but I have some suggestions:

Could you add a grid on the sprite/object/block/screen editors, with a button to toggle it on/off?

Also, maybe an actual-sized on-the-fly preview of what you are editing in each editor.

When you drag across the tiles, it will draw whatever you have selected, it saves having to repeatedly click each one individually. Maybe an undo/redo button too.

There was something else which I can't recall right now.

oss003

#28
Hi guys, I uploaded my CPC suite to simplify the testing of AGD games.


- Unpack the zip file
- Go to the WinAGD directory
- Start WinAGD and develop your game
- Save the game in the CPC suit directory, eg TEST.AGD
- Go to the CPC suite directory
- Type BUILD TEST


Now the game is compiled, assembled and started in the emulator for testing.
Jonathans demogame TEST is included so you can test it with BUILD TEST.



You can download the CPC suite here:


  https://drive.google.com/open?id=1n1sQUNR5fKUcuKdm89OXmBjwjc6ZnXAc


Greetings
Kees


Jonathan.

Here's the latest update - version 0.7 - with bug fixes, improved editors, more tools, extra functionality, new commands and updated documentation among other things.  Oss003's build suite can now be integrated by editing the MPAGD.INI file, automating the build process.


Still much to do of course but have a play and let me know how you get on.



Jonathan.

#30

Version 0.7.3

Now available in 32-bit and 64-bit Windows versions!  Some additions since last time...
There's a new option to import AGD/AGDX games from TAP files, new options in the script generator, imported games will now convert the CONTROLMENU command into equivalent code with a place where you can add a new redefine keys routine, there's a new tool for automatically checking mistakes, 2 default fonts, numerous bug fixes and support for the Acorn Electron, Dragon/Coco and Enterprise machines.

It's quite cool being able to just click the mouse and have MPAGD automatically generate code to make a drone sprite orbit the player. With a quick change to the script you could make it orbit an enemy sprite instead so how about having a boss sprite with several orbiting sprites firing at the player? Simple! Pushable block sprites are also now an option in the script generator. MPAGD will generate code reasonably intelligently and where code is required in multiple events it will generate that too, provided you are generating code for that event at the same time. Even your control menu and redefine keys routines are written for you, though you can always change them if you so desire.

There are bug fixes to the Amstrad, Spectrum, Timex and Next compilers and these now have an option to produce output specifically for SjAsmPlus in order to create the binary. The CPC compiler also has an additional option to produce code for WinAPE with a -nolist line at the top for speedier builds.  The documentation has been updated with a few screenshots and now runs to 52 pages.


Going forward I have a few ideas for sprite movement editors. Sine waves, circular motion, maybe waypoints. All possible thanks to the fact that MPAGD's sprites have local READ, DATA and RESTORE commands. That said, don't worry too much about RESTORE as READ is cyclical on MPAGD, it loops automatically.

Thanks go to the awesome Kees van Oss for putting together the 32-bit stuff, complete with build suites.

GUNHED

Nice. Is there an example available?

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Jonathan.


There is a simple example project included, a simple ladders-and-levels game where the player has to collect diamonds.  For more examples it's very easy to import Spectrum games that were written with AGD versions 4.0 to 4.7 (over 100 titles) and see how they were constructed or to play around with them.


GUNHED

Ah more Spectrum conversions... if there is a final program somewhere or a video somewhere please let us know.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

VincentGR

Quote from: Jonathan. on 15:49, 23 March 19
There is a simple example project included, a simple ladders-and-levels game where the player has to collect diamonds.  For more examples it's very easy to import Spectrum games that were written with AGD versions 4.0 to 4.7 (over 100 titles) and see how they were constructed or to play around with them.


I would like to see a tutorial about the port.

Jonathan.

#35
Looks like the example project was messed up.  I've fixed it and attached a new example project.


Quote from: GUNHED on 15:29, 24 March 19
Ah more Spectrum conversions... if there is a final program somewhere or a video somewhere please let us know.

Given the large number of Spectrum games that were written with AGD I suppose conversions are one starting point but it's not just about converting Spectrum games, this is a fully functioning game designer for the CPC and has already been used to create a couple of games for the machine. 
Here's one.


Quote from: VincentGR on 16:07, 24 March 19
I would like to see a tutorial about the port.

I've recorded some rambling tutorial videos.  Although I'm creating a Spectrum game in these it could just as easily have been a CPC game, it's just a question of selecting CPC from the machine menu instead of Spectrum and then building the assembler file in WinAPE instead of importing a binary in FUSE.


Part 1

Part 2

Part 3

MiguelSky

Quote from: Jonathan. on 13:53, 28 March 19it's just a question of selecting CPC from the machine menu instead of Spectrum and then building the assembler file in WinAPE instead of importing a binary in FUSE.
I'm not able even to assemble the EngineCPC asm in WinAPE assembler as a lot of undefined symbol messages are thrown. I have to paste this file in the Assembler editor including at the end the .agd file generated when Exporting source code, right?

Jonathan.

Quote from: MiguelSky on 21:24, 28 March 19
I'm not able even to assemble the EngineCPC asm in WinAPE assembler as a lot of undefined symbol messages are thrown. I have to paste this file in the Assembler editor including at the end the .agd file generated when Exporting source code, right?



Not enginecpc.asm.


You need to export the source code and choose a name for your file, let's say you call it mygame.  Then answer "Yes" when prompted to create the assembler listing and it will create a file, mygame.asm.  That is the file that you need to load in the WinAPE assembler.


MiguelSky

#38
Thank for your answer. In my PC only the agd files are created. I just tried also with Spectrum Standard, Dragon and some more with the same result...


EDITO: I've downloaded the entire suite again, just in case...


MiguelSky

Sorry the double post. I've doing more testing and I've realized that Geezer compiling stops at the line "wintop defb WINDOWTOP      ; top of window."


"Undefined symbol", it says. It's the same line where it stopped during my first tries, when I reported my problems using the program.

Jonathan.

Quote from: MiguelSky on 00:42, 30 March 19
Sorry the double post. I've doing more testing and I've realized that Geezer compiling stops at the line "wintop defb WINDOWTOP      ; top of window."

"Undefined symbol", it says. It's the same line where it stopped during my first tries, when I reported my problems using the program.



:doh:



You're right, I've somehow managed to break it.  A couple of lines need removing from the engine and pasting at the end of the code so I'll need to modify the engine and the compiler to fix that.  I've also spotted a problem with the collectable blocks on the CPC so that will need fixing too.  I'll get a fix together ASAP for the first problem then start looking into the collectable blocks.


If you take these two lines:
WINH   equ WINDOWHGT * 8
WINW   equ WINDOWWID * 5




...and move them to the end of the assembly code it should build.


Thank you very much, I don't get many bug reports for MPAGD or AGD.  A lot of Spectrum bugs were left unfixed for years because I hadn't found them and nobody told me they were there.  Your feedback is really appreciated!


In other news, the project was mentioned on Hackaday at the weekend and as a result MPAGD has gained lots of new users, traffic at the MPAGD download page went crazy.  Fingers crossed for more games.   :)


MiguelSky

No, sorry, it's not working. I have also tried by importing from another speccy game (Monty's Honey Run) unsuccessfully. I'm afraid I have to wait for your fix.

Jonathan.




The attached files should get you up and running, I got Diamond Geezer to build in WinAPE and SjAsmPlus with these.


Jonathan.

Just a change to the engine this time.  Have fixed the collectable blocks code and got CLS working correctly.

MiguelSky

#44
During Easter holidays, I tried 64bit version and it worked better in my laptop than 32bit one in my PC.


Now I have updated to the new 0.7.4 https://jonathan-cauldwell.itch.io/multi-platform-arcade-game-designer/devlog/77278/version-074-released and both versions 32 and 64 seem to work even better although I continue without having a converted game playing properly. I get some results by changing some params but some games refuse to assemble and complain about undefined symbols, mainly evntxx.

Jonathan.

#45

It looks like the random number routine wasn't working.  There's a fix to the CPC engine attached, give it a try and see if it improves things.

If you let me know which games are proving difficult to convert I'll take a look at them and fix any bugs I find.


Incidentally, I made a five minute YouTube video showing how to convert a Spectrum AGD game to the CPC:

https://youtu.be/2bd5idEW790

MiguelSky

#46
By following your mini-tutorial I managed to fix some wrong behaviour and now I have a playable version of Roboprobe when I work in MPAGD 64bit version but I'm not able to do the same with 32bit version of MPAGD. It keeps throwing messages about undefined symbols. I join a capture and the tap of the game.


EDITO: I tried with apulija and it hangs MPAGD when I try to load the 48kb sna file.

Jonathan.


Looks like you're running an old version of the CPC compiler, 0.7.2.  The latest version should display 0.7.3.  Make sure you're using the most recent CompilerCPC.exe and the WINH error will disappear.


VincentGR

I did the same conversion of that game in your video but you can't go back on the left to revisit a screen.
Maybe games need more changes :-/
Awesome suite though.

MiguelSky

Quote from: VincentGR on 21:11, 23 April 19
I did the same conversion of that game in your video but you can't go back on the left to revisit a screen.
I managed it to work in other game by replacing the < symbol with =.

Powered by SMFPacks Menu Editor Mod