A few scripting examples in Stencyl, showing my 'Click to Select' behavior

Event based, drag-and-drop, pretty colors and asset pipeline simplicity - scripting in Stencyl

I keep wanting to make more games – tiny, little, niche games that would have a market of one (me) – but, as it has been pointed out to me in the past, I have been irreparably scarred for life by a love affair with BASIC.  Try as I might, more ‘grown up’ languages like C++ (or even C#) just baffled me with their convoluted asset pipelines and frustratingly long-winded setup and grammar.  Even dabbling with something accessible like XNA had me throwing up my arms over scope, types, and constructors.

Lately, I wanted to dabble with some Flash game making – 2D specifically – and after failing to find all the correct versions and up-to-date tutorials for Flixel, I discovered Stencyl.  Oh, my word – how it’s been a balm to my BASIC-crippled mind!

The asset pipeline is fall-off-a-log simple.  If I want to create a new tileset – I press the button and it gives me a visual editor for the tile size and grids.  A new tiled-map?  Why, a drag and drop editor using the tilesets I’ve imported.  Feeling TRULY lazy?  Press the button that opens the asset website, and download one of the freely available ones.  Simply handling the asset pipeline would be cause enough to like it – but then it goes and offers a visual, drag-and-drop (Scratch-derived) scripting editor for behaviors that you can just attach to actors or scenes, and I’m a happy bunny!

Of course, there are a few wrinkles – like everything I do, I instantly found things I wanted to do in Stencyl, that it doesn’t elegantly support (like 2d arrays – a Flash-descended issue).

The truly wondrous thing, is that you can just click a tab on the visual editor for the scripting, and it will show you the underlying code!  I can dabble with the clicky-boxes, and see how the real code changes underneath – a much better, and sneakier way to learn.  If I want, I can even drop a box in that will let me write lines of ‘raw’ code.  Should I feel particularly ambitious, I can just write a ‘behavior’ in 100% code, and interface with it in the other, box-based behaviors.  If I feel particularly UNambitious, I can just download a few available behaviors and get basic 2d platforming working in seconds.

So far, it seems to be the ideal 2d Flash-game gateway drug for BASIC-cripples like me.

Screenshot of my super-awesome graphics for my pathfinding test

It's OK to weep a little at the beauty of my graphics - you're only human, after all.

(I’m currently implementing click-to-move behaviors, with pathfinding stuff showing you where your movement points can take you based on terrain – standard turn-based strategy behavior.  Still managing to boggle my own head as to whether a scene behavior oversees all the pathfinding, or whether each actor handles it’s own.  Code architecture – oh, you subtle and critical thing, you.)