In
another thread, I was asked about the custom algorithm I created to move objects in a straight line, instead of AGI's default (that moves objects diagonally, then horizontally).
To demonstrate how it actually works, I created this little demo game - Flag Quest.

Flag Quest is a simple arcade-style game, where the object is to collect the flags on the screen while avoiding bombs that are shot at you by a roving saucer.
To play the game, you'll need your own interpreter files. It needs to be a version that supports menus and multiplication/division (MSDOS version 2.411 or higher on DOSBox). I haven't tested it on NAGI or SCUMMVM, but I think it should work just fine on those platforms too.
The bomb object (I guess I could have called it a missile, but I'm not much of an artist, and a simple pulsating 'bomb' graphic is about the best I could draw!) uses what I call the 'move.straight' custom movement method, instead of AGI's built-in 'move.obj' method. This custom method moves the object in the straightest possible line, so it looks more natural on the screen.

I developed this algorithm independently, but it is basically an implementation of the Bresenham line-drawing algorithm (which I only recently learned of). It uses signed 16-bit integer math to do the calculations that control the object movement. This means that some math 'tricks' are necessary to get AGI's unsigned 8-bit variables to mimic 16-bit signed numbers. The source code contains a lot of detailed comments explaining exactly how to do it.
The game also includes a detailed example of the custom status line feature that I discussed in
this post. It's actually pretty easy to create any kind of status line that you want. Again, detailed comments are in the source code.
Speaking of the source code, Flag Quest was developed on WinAGI, so if you want to open it in AGIStudio, you will need to add include statements for the globals.txt file and reserved.txt file to every logic (WinAGI does that automatically). With a bit of minor tweaking, you should be able to get a version of this to compile in AGIStudio. But of course, because it's so much better, I'm sure you'll just use WinAGI anyway! :-)
In addition to the source code, I'm also attaching a copy of just the game files, if all you want to do is play the game without looking at the source code.
If you have any questions at all about how either technique ('move.straight' method and custom status line) works, just ask! I'd be happy to answer any questions!.
Oh, and if you encounter any bugs in the game, let me know! I did as much testing as I could, but it's always hard to get all the bugs out without an extra set of eyes doing the testing.
Enjoy! (And post a screen shot of your highest score. I'm curious to see that - I haven't made it past level 5!)