Idioctopus - Mutiplatform Puzzle Game

Hi everyone,

Last month we (Badgerhammer) released our OpenFL puzzle game Idioctopus on Steam, Itch, iOS and Android. Here’s the website: http://idioctopus.com

It’s taken a long time time in on/off development (It was an NME game before the fork to OpenFL and an AS2, AS3 then XNA game before that) as we’ve been making it alongside other jobs and mainly bringing it out as a project to learn new programming languages and ecosystems, before it grew into a releasable game.

It’s a nice feeling to have finally released it and I’d like to thank all the OpenFL contributors, and the creators of the libraries we used(listed below)

Libraries used:

msignal
Since starting to use them on Idioctopus I really love signals, I tend to create a signal box class that holds them then give access to the other classes that need to listen for them being called.

crash dumper
This didn’t ship in the game but was a big help early on, particularly for remote testers reporting problems.

haxe-ga
We collect some game statistics using Google Analyitcs. I set up a website structure with folders for level-start, clear, death which then contain the the name of the level inside. e.g. level-start/level-1 or clear/level-30. We can also use the stats to upset ourselves with how many more people are playing on Android than have bought it on the play store.

Tools used:

After Effects
The majority of the game animations are created in After Effects then saved out to sprite sheets.

Spine
After it’s kickstarter I became aware of Spine, and saw the benefits skeletal animation could add to the game. Particularly for cut scene like full screen animations in the title page, menus, and post level animations. At the time we started looking at spine there was no runtime for haxe so I wrote one myself, this chewed up a load of dev time in future I’m going to try to avoid writing too many tools.

Flash AS2
The editor for the levels is laughably written in AS2, as that’s what I was using on the game at one point, and never felt I had the time to rebuild. I guess it got me through making the 80 levels in game though so maybe it didn’t really need a rewrite

Sublime Text
Due to moving between Mac, Linux and Windows near the end of production I eventually settled on Sublime text as my haxe editor. I also use FlashDevelop and HIDE along the way, but in the end having the same editor on all the machines won out.

Notes:

Graphics.drawtiles()
The game heavily uses Graphics.drawtiles() as this was the fastest method at the time I started working with OpenFL, and I wrote a display list like system to make it a bit more user friendly, but it was never as user friendly as the standard OpenFL/Flash display list. The performance, particularly at the time we started on OpenFL was fantastic though so it was worth the battle :slight_smile:

Spritesheets also got full quite quick with all the After Effects animation for the characters and environment. Had we had Spine from the start, this would not have been an issue.

Haxelib.txt
As the project was developed over such a long period, the libraries we were using were updated fairly often, breaking parts of the game requiring engine fixes. Where possible I decided to freeze my haxelib libraries, so added a haxelib.txt file to the root of my project to paste my current haxelib state to each time I updated any libraries. This made reinstalling or moving between computers far less painful as I could easily install the required library versions.

Thanks for reading :slight_smile:

Nick H

10 Likes

wow, thanks so much for sharing this info. This is really valuable to see the practical necessities to make even a rather simple top-down 2D puzzle game! It looks like recent

Sublime text over HaxeDevelop! :open_mouth: Yeah, if only it were cross-platform. :frowning:

I’m very very curious about how HIDE was for ya… especially for a 2D game.

Damn. It just seems like you’ve went through so much work, making your own tools to make the game. Surely it doesn’t have to be this way? ;(

PuzzleScript seems killer for this, but no clue when that came out…

Looks like a great game, like Steven Lavelle’s and Draknek’s stuff.

Congrats and thanks for sharing! Will play during off-time. :slight_smile: