09 May 2011


Here and there I've coyly mentioned that I'm working on a Sonic game engine in Game Maker, for instance in this old thread (in which I unwisely muddied the issue by illustrating the engine with a remake of the 8-bit Sonic 1, which is now indefinitely shelved) or in a now-out-of-date YouTube video or two.

But I realise that nowhere have I really officially announced it. Time to fix that!

Thanks to Overbound for the snazzy logo graphic! ^_^

Announcing AeStHete, "An Excellent Sonic The Hedgehog Engine That's Editable"! (After much struggle I managed to find a name that was obscure, immodest, and annoying to type! Am I cool or am I cool?) It's made in Game Maker, but there's a possibility it will be ported in the future.


Sonic looks annoyed at being in yet one more GHZ remake.

'What's wrong with the HUD?' I hear you asking. Well, how else would you know it wasn't a screenshot of the real game? It's just that good, folks!

The zone graphics are optionally fogged out to make the objects being edited stand out.

Waaaa! What's all this about? Yes, you can enter Edit Mode at any time and create or modify levels as you play - there's no need for a separate level editor. The interface can be customised, and there are several resolution options for Edit Mode.

Though I began making AeStHete expressly for my own Sonic fangame project, I've decided to make it totally Open Source - so, in addition to being able to edit levels and so on using the interface, you'll also be able to modify the interface and engine yourself in whatever way you see fit (that is, if you know Game Maker's scripting language). Think of it like hacking a ROM, only instead you're hacking a fangame.

Because of this, Sonic Time Twisted will be the first game to use AeStHete once it's finished. When will that be? I can't really say (I've as much as promised demos before and missed the deadline, and I'm not interested in doing that again). The thing is I keep finding bugs - and then discovering that these bugs actually exist in the original Yuji Naka engine, and that means I can't simply do more research into the originals in order to solve them. I have to work out how to improve on the engine myself, and this takes some time. (Why not settle for "as good as the original?" I'm a perfectionist, dammit!)

But rest assured that progress (and a lot of it) is being made. On that note, I made a semi-mysterious tweet a couple days ago saying I was happy about some obstacle I had overcome. I was referring to having successfully implemented palette cycling, an effect which classic consoles could do in their sleep, but that Game Maker doesn't natively support (scroll to the bottom of the page for Mark Overmars' list of things he'll never add). In the end, pixel shaders, specifically this shader extension, came to the rescue. Now I can confidently say that AeStHete can do everything the original 16-bit games do, just as well and often better.

Now that the hedgehog's properly and officially out of the bag, I'll probably be blogging and tweeting about AeStHete's progress more often, like this:

 I just typed a line of code.
 Oops - made a mistake. Hit backspace a few times.
 Compiling and testing now...
 Damn, omitted a semicolon.
 Okay, that's got it. It works now, but I think I should increase this value a bit...
 Pausing for snack. BRB

What, not that often? Whatever.


04 May 2011


I've been waiting 15 years to see a screenshot like this in a magazine article about an upcoming Sonic game.

Thanks, Sega. That is all.