I am making a-game-a-week(ish).
These will be short prototypes, very unpolished, probably broken.

As requested, a word game for the second.

The colours refer to different scores. Red is 1, purple is 2, yellow 3, blue 4, orange 5, green 8 and maroon is 10.


This second one makes the 'ish' of a-game-a-week(ish) more true, as it's been a couple of weeks since the first one went up.

The game:

A (very) basic join-the-letters word games, with physics elements.

This game went through a number of iterations before it reached its current state.

In terms of the basic interaction, I started with word boxes / tiles (like Scrabble tiles) but soon found they simply do not work well as physics objects in this context. The boxes would just pile up, one on top of the other, making awkward not-quite-grid patterns that made joining them up to create words a pain. Moving to circular collision shapes to solve this provided the inspiration for flipping gravity and using 'balloons'.

This was a minor issue compared to getting my head around making a word game. Initially, the letters were selected from a weighted list, based upon how often they appear in the English language.

This worked fine, were the aim to simply randomly drop letters based upon their weighted distribution in the language. It turns out, this does not make for a playable games. Simply by virtue of randomness, it would sometimes generate screens with no vowels whatsoever... 

So I turned to Scrabble, and created a virtual 'Scrabble bag', with the letters taken from the bag, until empty, and then re-filled.

Obviously, Scrabble's tile distribution is not designed for adjacency-based puzzles. Finally, I went where, in retrospect, I should have started: Boggle... A list is created that simply lists each face on a Boggle dice, and the balloons randomly select one of a block of six values on that list. An very simple solution, the code is minimal in comparison to my earlier attempts, but it took me embarrassingly long to reach that solution...

The result is that I haven't been able to implement any way of re-arranging the balloons, nor even simple effects such as a burst animation, nor the 'bursting' balloons applying any force to nearby balloons. What remains is a playable(ish) but exceptionally bare-bones game.

The engine:

Unlike Flowlab from last week, Stencyl is actually based on 'proper' coding. However, rather than typing the code in, lines of code are dragged-and-dropped, and are formatted in a usually very readable manner. 'If' functions, 'Repeat until' loops, list, arrays, variables etc. are all properly instigated. It does, therefore, require some basic coding knowledge. What really helps, is that many of its constituent 'blocks' also come clearly shaped. For example, conditions for 'if' functions or loops, can only include diamond-shaped blocks. This means that you can readily tell what 'pieces' you can use to help you build conditions. So, despite not having heavy documentation aimed at total beginners, its is possible it somewhat intuitively pick-up the basics of coding simply by trial and error, as it is very good at simply not letting you do things that would result in errors. In this way, it shares the benefits of drag-and-drop systems by avoiding the chasing down syntax errors,

However, it is through Stencyl that it becomes clear how drag-and-drop systems can be laborious. It's so close to written code, that I was soon wishing I could just type in commands. However, the really clear blocks and colour coding is very welcome, and produces some of the most readable code I have ever created. This probably says more about my own abilities to create tidy code, but it made me wish for a text editor that could display my code in such bright, clear blocks of colour...