[A]tari [G]ame [T]ools - 2D prototyping engine for STE

GFA, ASM, STOS, ...

Moderators: exxos, simonsunnyboy, Mug UK, Zorro 2, Moderator Team

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

[A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 9:45 am

I haven't posted for a while but between persistent bursts of real-life have been quietly preparing usable release of this project -

AGT game prototyping engine for STE

If you're someone with a bit of programming experience, interested in designing games, wanted to make something for the Atari STE, were disappointed with the limits of STOS for making games and just don't have the time to code everything up from scratch just to get something worthwhile off the ground, this *may* be for you...

Note: This continues work which began in an earlier thread, here: viewtopic.php?f=16&t=29615


Here's an outline of what you can expect from AGT, straight away:

- Produce and test 2D game ideas in minimum time
- Develop in C or a mixture of C and 68k (or can use 68k for everything except the entrypoint/mainloop, if preferred)
- High performance - can match or exceed almost any commercial game, even if using only C. All examples are 50hz.
- Any type of scrolling - vertical, horizontal, 4- or 8-way, fixedpoint vector, direction & speed changes.
- Work with 16x16 or 8x8 tilemaps, of any size
- Single or dual-layer tilemaps (both layers editiable in TILED, with second, transparent layer masked on top of first)
- Live-editable map layers ('mapmod' function) with optimised refresh of edited tiles for animation, doors or limited parallax
- 4 different sprite formats optimised for different scenarios (drawing speed vs. size vs. memory overhead vs. extraction time)
- All sprite methods provide clipping & automatic background clearing/restore
- Flexible entity/AI system supports:
-- spawn chaining (entities can spawn or kill entities)
-- vistrigger mode (spawned into map at level load, dormant/no-overhead until entering viewport)
-- plenty of example code for different kinds of behaviour
-- object parent linkage & tracking

- Object Interaction system provides mechanism for collisions, triggers
- Input layer provides direct and debounced key & joystick state.
- Comprehensive tools for converting, extracting assets including maps, tiles, sprites (& related), palettes
- Edit maps in TILED editor and export to AGT in seconds
- Collision tilemaps can be created and imported separately from the main visual tilemaps
- Edit object/entity placements in TILED and export with map for direct parsing by game
- Built-in debugging features including:
-- message console for errors, warnings & user info
-- asserts to catch unexpected values etc.
-- game object safety checks & diagnostics (bad animation frames etc.)
-- debugdraw object rectangles
-- memory tracing
-- Hatari and STEEM message logging

- Top/bottom overscan & optional colour boosting via interlaced playfields
- Lots of demos and examples including playable game levels - all with source code
- Wiki tutorials cover the fundamentals with more obscure features illustrated via samples

This is a shortlist of features *currently* supported. None of it is 100% complete but all items listed are now fully usable. Some other features are still WIP. If the system gains use, more features are planned. I may return to maintain this post as things change.

The system is primarily based around Cygwin & m68k GCC toolchain (either BrownELF GCC 6.2 or Vincent's MiNT GCC 4.6 compiler) with a choice of either RMAC or VASM assembler. All tools (except the compiler) are delivered in the bin/ directory as Windows executables. However the system has been successfully used on Linux and OSX either by compiling the tools for those systems or by wrapping the Windows bin/ tools with the WINE emulator (probably the least hassle if you just want to get moving - especially since I have little time to maintain multiple ports/builds of the tools).

While the upper layers (mainloop etc.) are defined in C, the game content can be written in C, C++ or 68k as required. However all of the examples were coded in C to demonstrate whats possible without having to use assembly. They are all 50hz and have plenty going on. There is no baked/prepared data being used - all AI is 'thinking' realtime for every object to provide meaningful examples (it is assumed that you can bake whatever data you like, but it doesn't provide good learning material so I don't use it).

While the demos are aimed at 50hz, the engine will support lower framerates for games which require it.


If you're interested in finding out more or giving it a try, you can find the project, Wiki docs and tutorials here:

https://bitbucket.org/d_m_l/agtools

The Wiki & tutorials are WIP and still growing. If there is interest, I'll keep adding to both the engine and the tutorials/examples.

That's all for now. Updates and news on AGT will be posted here from now on - the older thread will be left as it is.

User avatar
troed
Atari God
Atari God
Posts: 1178
Joined: Mon Apr 30, 2012 6:20 pm
Location: Sweden

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby troed » Tue Apr 25, 2017 10:21 am

Big shoutout. Incredible effort you've put into this.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 10:38 am

Thanks Troed :)

It's been fun working on it. Hopefully others can have fun building stuff with it - or at least learn something useful from it.

User avatar
AtariCrypt
Captain Atari
Captain Atari
Posts: 353
Joined: Fri Mar 14, 2014 5:04 pm
Location: Lancashire, England
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby AtariCrypt » Tue Apr 25, 2017 10:55 am

This is one of the most amazing projects I've ever seen. A huge thank you from me also, amazing work. I hope many find a use for this.
AtariCrypt ... ST/e gaming https://ataricrypt.blogspot.com

User avatar
AdamK
Captain Atari
Captain Atari
Posts: 232
Joined: Wed Aug 21, 2013 8:44 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby AdamK » Tue Apr 25, 2017 10:58 am

dml, this is fantastic :D
Atari: FireBee, Falcon030 + CT60e + SuperVidel + SvEthlana, TT, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x Portfolio (HPC-006)

Adam Klobukowski [adamklobukowski@gmail.com]

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 12:15 pm

:cheers:

For those of you who followed the older thread you've probably seen the Gradius, BossCore & Alien Breed coding examples as screenshots or YT links... (e.g. https://www.youtube.com/watch?v=Ul_9PRt9cpo) I will be posting a *new* example soon which will be even more familiar and uses more features, including the import of maps, collision contours and game object instances from a PC based editor (Tiled: http://www.mapeditor.org).

The new example is only about half-way done (and my time is split between engine, examples and wiki docs!) but I'll drop a preview soon. It's probably the best indicator of what sort of stuff you can now do with AGT.

User avatar
Anima
Atari Super Hero
Atari Super Hero
Posts: 627
Joined: Fri Mar 06, 2009 9:43 am
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby Anima » Tue Apr 25, 2017 12:53 pm

:cheers:
Welcome back Doug. Looking forward to the new example.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 1:56 pm

Anima wrote::cheers:
Welcome back Doug. Looking forward to the new example.


Thanks Sascha, good to see you've also been busy with new secret projects. ;)

User avatar
spiny
Disk Imager Supreme
Disk Imager Supreme
Posts: 2332
Joined: Mon Aug 11, 2003 11:53 pm
Location: just outside bristol
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby spiny » Tue Apr 25, 2017 3:50 pm

brilliant stuff :)

User avatar
simonsunnyboy
Moderator
Moderator
Posts: 4774
Joined: Wed Oct 23, 2002 4:36 pm
Location: Friedrichshafen, Germany
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby simonsunnyboy » Tue Apr 25, 2017 4:16 pm

This is a great effort. If it brings more games to the ST, it is more than welcome.

Sometimes, as a coder, the fun is still in reinventing the techniques ;)
Simon Sunnyboy/Paradize - http://paradize.atari.org/ - STOT: http://www.npoi.de/stot/

Stay cool, stay Atari!

1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Jabber: simonsunnyboy@atari-jabber.org

User avatar
TheNameOfTheGame
Atari God
Atari God
Posts: 1020
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby TheNameOfTheGame » Tue Apr 25, 2017 4:23 pm

Wonderful news! Was wondering if this was still alive!

Maybe we can have a yearly AGT coding competition.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 5:43 pm

Here's a preview of a future tutorial - yet to be broken down into steps.

https://www.dropbox.com/s/26mqinbi51qlm ... o.zip?dl=0

keys: WSAD, SHIFT, SPACE

It's still rough around the edges but getting fairly close. There is framedrop in places - this has more to do with scheduling object updates than the number of objects involved so it should improve when I get time to sort that out.

This sample uses collision maps (affecting player + entities) and map animation, which the earlier demos didn't have.

The tutorial code will not be submitted with the original source gfx but will use 'degraded' versions to avoid any grief - just enough to support the tutorials. The built preview uses the originals though so you can see how a polished version might look...

User avatar
npomarede
Atari God
Atari God
Posts: 1124
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby npomarede » Tue Apr 25, 2017 6:15 pm

Huge ! (although Xenon without music is not really Xenon :) )

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Tue Apr 25, 2017 6:18 pm

npomarede wrote:Huge ! (although Xenon without music is not really Xenon :) )


Agreed :)

User avatar
shoggoth
Nature
Nature
Posts: 848
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby shoggoth » Tue Apr 25, 2017 8:52 pm

Stop this madness! Where's a proctologist when you need one!
Ain't no space like PeP-space.

User avatar
viking272
Captain Atari
Captain Atari
Posts: 239
Joined: Mon Oct 13, 2008 12:50 pm
Location: west of London, UK

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby viking272 » Tue Apr 25, 2017 9:07 pm

This sounds amazing Doug, I knew there was a reason to buy an STE recently :)

User avatar
CiH
Atari God
Atari God
Posts: 1092
Joined: Wed Feb 11, 2004 4:34 pm
Location: Middle Earth (Npton) UK
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby CiH » Tue Apr 25, 2017 10:49 pm

Well there's the Outline party coming up at the end of May if anyone wants to thrash something together quickly.

Alternatively, for those people with a bit more time on hand, the prospect of a new Sillyventure party is being floated for December :-)

Oh, and, awesome work Doug!
"Where teh feck is teh Hash key on this Mac?!"

User avatar
chlu600
Retro freak
Retro freak
Posts: 11
Joined: Wed Mar 04, 2015 8:32 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby chlu600 » Wed Apr 26, 2017 6:38 am

Brilliant!

User avatar
Ragstaff
Atari Super Hero
Atari Super Hero
Posts: 609
Joined: Mon Oct 20, 2003 3:39 am
Location: Melbourne Australia
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby Ragstaff » Wed Apr 26, 2017 1:44 pm

This is such a fantastic tool. I seriously intend to have my first go at making an ST game using it.
An AGT comp category would be cool at Outline or Sillyventure? You might get some entries from new people - those of us who aren't hardcore sceners but who program on the PC or other platforms and never learnt how to bash the ST hardware in assembler. I would definitely aspire to a December deadline.... well, I'm going to play with the tool regardless, but perhaps a thought to encourage others?

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3468
Joined: Sat Jun 30, 2012 9:33 am

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby dml » Wed Apr 26, 2017 2:08 pm

It would definitely be good news if some new projects got kicked off for compos etc. or even just as experiments.

I should also have said in the original post - all the source for the engine, demos/samples/tutorials and agt-specific tools are provided. There are no 'secret libraries', black-box .bin files or other magic sauce. I will share/comment the code for all the projects I make with it to help document it if nothing else. It can also be hacked around to extend features where needed (although as it improves the need for engine hacks/edits should diminish a bit).

The more complex demos are partly a form of documentation but also a way for me to determine what is still missing/incorrect/inconvenient and it helps guide improvements and effort spent in the right areas. It is also a useful way to find the bounary between generic engine features and things which are better coded inside the game itself. Some aspects of collision detection, game data import etc. falls in this area. All entity behaviour will be game-specific also. Still the demos provide some reference code for common cases which can be reused or adapted to suit.

Anyway I'll soon get this new demo tidied up and break it up into the next set of tutorials for the Wiki.

User avatar
LaceySnr
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Wed Jun 26, 2013 5:00 am
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby LaceySnr » Thu Apr 27, 2017 1:23 am

I've been meaning to post about this for ages, but I've started working on a platformer using AGT. Stalled a little recently but will try and get back into it over the next couple of weeks. It's going to be called Dave the Dragon :) Here's an out of date screenshot, might post a quick test build at some point (there's not much to do right now apart from jump around and shoot ineffective fireballs :roll: )

Image

User avatar
TheNameOfTheGame
Atari God
Atari God
Posts: 1020
Joined: Mon Jul 23, 2012 8:57 pm
Location: Almost Heaven, West Virginia

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby TheNameOfTheGame » Thu Apr 27, 2017 2:40 am

LaceySnr wrote:I've been meaning to post about this for ages, but I've started working on a platformer using AGT. Stalled a little recently but will try and get back into it over the next couple of weeks. It's going to be called Dave the Dragon :) Here's an out of date screenshot, might post a quick test build at some point (there's not much to do right now apart from jump around and shoot ineffective fireballs :roll: )

Image


Sweet! Hope you continue to develop your game!

User avatar
Ragstaff
Atari Super Hero
Atari Super Hero
Posts: 609
Joined: Mon Oct 20, 2003 3:39 am
Location: Melbourne Australia
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby Ragstaff » Thu Apr 27, 2017 2:55 am

LaceySnr wrote:I've been meaning to post about this for ages, but I've started working on a platformer using AGT. Stalled a little recently but will try and get back into it over the next couple of weeks. It's going to be called Dave the Dragon :) Here's an out of date screenshot, might post a quick test build at some point (there's not much to do right now apart from jump around and shoot ineffective fireballs :roll: )

Image

And here is the real reason I'm so bullish about having a play with the tool - I've got Matt to help sort out any issues I might have in person :-p
Can't wait to see Dave the Dragon continue to progress!


User avatar
AtariCrypt
Captain Atari
Captain Atari
Posts: 353
Joined: Fri Mar 14, 2014 5:04 pm
Location: Lancashire, England
Contact:

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE

Postby AtariCrypt » Thu Apr 27, 2017 7:47 pm

Been following you for a while, this is looking superb!!
AtariCrypt ... ST/e gaming https://ataricrypt.blogspot.com


Social Media

     

Return to “Coding”

Who is online

Users browsing this forum: No registered users and 2 guests