As a former Linux-only gamer, releasing Color/Shift on Linux has always been a requirement for me, but until now I hadn’t tried it. Thanks to the cross-platform magic of Haxe, I got this running in around ten minutes with no changes to the code whatsoever.
When I released Slide, nearly everyone who played it encouraged me to get it working on mobile devices, but unfortunately the framework I used to make it wasn’t compatible with iOS or Android. For the past two weeks (well, three including a massive false start, but I’ll get to that later) I’ve been working on porting it to Haxe/OpenFL with that very goal in mind.
At this point I’ve reimplemented about 99% of the mechanics of the original game, and added a heaping helping of polish to the whole mix. I’m planning to release it on all three major desktop platforms (Windows, Mac, and Linux) and Android for sure. Windows Phone 8 and iOS are two other targets that I’d like to hit as well, but I don’t currently have hardware to test on.
I repurposed our elevators as trampolines.
My OneGameAMonth entry for July is a puzzle game called Slide.
I’ve never made a puzzle game before, so this was a great way to broaden my horizons. It turns out that coming up with puzzles is really, really hard at first. If the systems of the game are straightforward it can be difficult coming up with problems that don’t have immediately obvious solutions, but a puzzle game with opaque mechanics is never fun to play. Eventually, the process clicked and I was coming up with puzzle ideas faster than I could open a new level in the editor (the vast majority, alas, never made it past their first iteration before being scrapped).
Since the mechanics in Slide are pretty simple (strictly speaking there are exactly three of them), designing levels was all about challenging the way the player would . It was really interesting to think about what the obvious move in a certain scenario would be, and then subvert that idea and require a move that was slightly different in order to solve it. I still remember playing Rush Hour at the age of 12 or 13 and suddenly having the realization that just because a piece could be moved all the way to the other side of the board, in some cases it was necessary to stop one square short. Most of the levels in Slide are based on this kind of approach; get the player used to behaving in a certain way, and then introduce a situation where that behavior won’t result in the desired outcome after all.
Of course, in order to be able to solve a puzzle one must first understand the systems involved. Slide’s tutorial follows my design philosophy of teaching through curiosity; when shown a screen that is empty save for an interesting or out-of-place item, the player will eventually be drawn to that item and will try to interact with it. This kind of exploratory learning is something I try to encourage in all my games, and I think it is especially suited to puzzle games.
There’s no clear point where Slide’s tutorial actually ends; after a certain point it simply stops introducing new systems. I didn’t want to communicate to the player at any time that there was no more to learn, because a puzzle game can only last as long as it is able to expand on itself in interesting ways. I had originally planned to ship the game with a minimum of 25 levels; it ended up having only 16, and I think that 16 was enough. I might come back and add some more someday, and I included the Ogmo editor project file with the release bundle in case anyone else feels like creating some of their own, but I’m satisfied with the final count. I feel that going further would have resulted in the inclusion of a bunch of levels that rehashed old mechanics and added nothing new to the experience.
When I started work on this project I had no idea what it was supposed to end up like — my entire plan consisted of the words “puzzle game” and “colored squares”. Fortunately the design seemed to flow naturally as I worked, and I’m very happy with the way it’s turned out.
If you liked the game, or if you created a level and want to share it, please let me know!
Of all the games I’ve made so far, Hypothermia has seen the most success. I somehow managed to get reviewed by both Indie Impressions and IndieStatik shortly after release, which drove a lot of traffic to my site that I just wouldn’t have had any way of attracting otherwise. I check back on the download counter every now and then and it’s fun to see that it’s still being downloaded over six months after I released it.
Today I did a search to see if there was any coverage I had missed out on and found this:
Someone from China did a Let’s Play of my game.
This is the best feeling in the world.
I know how to count to three in Chinese, and that’s about it. Watching this video was really interesting for me, because even though I didn’t understand his words I could still tell what he was feeling as each phase of the game played out; worried tension as he got close to losing, and then surprised relief as he finished the game and got the good ending. It really makes me happy that I was able to create something that someone from a totally different culture could enjoy and relate to.
When I design games I try to use as few words as possible while still conveying the story. I like my games to be accessible to as wide an audience as possible; particularly one that might not be able to speak English. Baseborn and Humphrey’s Tiny Adventure were both designed in this way, and I’m while Hypothermia’s two endings each have their fair share of text, the rest of the gameplay didn’t rely on any dialogue. Until today I’ve never had the kind of reach where this kind of accessibility mattered, but this makes it all worthwhile.
Bug of the day: In an attempt to simulate friction, I turned every surface in the game into ice, causing everyone to flail about wildly at the slightest movement.