The selfish creation. I like match three games, so I made one. What I don’t like in games is time pressure whatever more ‘excitement’ it may bring. So I made me a little relaxing game. When I thought about making it public I added a timed mode, because there are people who like that. The most interesting fact from the developer side of view: I did the whole game in FlashDevelop and there is not a single graphical asset included. It’s all code generated.
- Create a casual game as expandable and thus exploitable template
- Learn to work with FlashDevelop
The mechanism of a match three is trickier than thought. I decided against a flood fill check algorithm and instead used a double loop (rows, then columns). That way the first check is cheaper because only the swapped region (1 row and 2 cloumns or 2 rows and 1 column) is checked. I managed to implement detection of all kinds of combos. By checking rows first and columns later there are combinations that aren’t easily marked as having the same elements. But a little backwards loop over all found matches afterwards did that.
The game features:
- A title screen with the expanded kegMenu® and some fluffy clouds floating around. The game uses automatic language detection via
System.Capabilitiesfor english and german.
- A settings screen with full sound control (main, music and effects) as well a language choice.
- A screen showing the basic instructions
- A screen that informs the player that a link he clicked is not working. This is mostly due to the parameters
allowScriptAccessset by the site owner. When it is detected via
try...catchthe link is copied to the clipboard and the user is informed that he can just paste it into the address bar. I didn’t want to block the game at this moment. One could include the domain where the links are blocked for a dynamic blacklist or something but blocking the game would be rather annoying for the player.
- And a little ‘console screen’ though no input is possible. I included it just for me to see if the game is working correctly. It is accessible via keyboard input ‘IDDQD’. In-game this leads to a faster game end, a feature that I needed to test the leaderboards.
- And of course the game. As this is the developer log I just wanted to show off the gimmicks first. As already mentioned, all graphics are code generated. The size of the final swf including the MochiAds preloader is 307KB with:
- 238KB for the background loop (‘Winter’s Dream’, also on NewGrounds Audio)
- 10KB for the sound effects
- 39KB for the game itself
And here is the game link.
Have fun playing it and leave a comment if you like to. Though it is still no ‘industrial standard’, I feel that this is my most professional work and I had a lot of fun developing it with only free tools. FlashDevelop is very comfortable for writing code, not only regarding the space on the screen for conding on a laptop monitor.