On ‘Pale’


You may have seen on Twitter and Google+ last night that I have officially published my first game of 2014! It’s one of many I hope to publish on itch.io and expand out to the Android and even Ouya marketplaces this year. It’s also the start of a new commitment to helping others with their games through code examples and game assets too. But more on that a little later in the post.

Slow Progress

I began the project with two goals:

  • Have no-game text past the menu. (The Proteus challenge.)
  • Use only the colors black and white

Starting in early February, I created various prototypes and even envisioned releasing it on the Ouya first. Unfortunately, as I’ve detailed in posts dating over a month ago, that failed in many ways. I ended up spending weeks patching Phaser, Pixi.js, and recording issues for others. In fact, releasing it on Ouya was the plan up until learning CocoonJS doesn’t support IAP on the Ouya anyway and, oh yeah, images are often broken with CocoonJS as of Phaser 2.0 (!).

Having spent many days in e-mail communication with several different people about the image issue starting about two weeks ago, I finally gave up late last week. I couldn’t sell on the Ouya until the promised ‘choice‘ materialized. And I was tired of politicking for patches that might not even be needed once CocoonJS updates anyway. It was time I scaled back and tried to actually put something out.

And that’s what Pale became. It was an execution of my goals in a smaller, compact way.

Weeks worth of effort went into trying to create platformer physics that ‘felt okay’ and could be believable in a black and white setting. Many, many days were spent trying out different patterns of the two colors and in a configuration that wouldn’t make me dizzy trying to play it. (This was, believe it or not, a serious concern. One of the early builds that had flashing parts gave me a headache after playtesting it several times.)

I even spent a couple days just trying to get the elevator working the way I want. Something, it turns out, that is non-trivial using Phaser’s ‘Arcade’ physics and tweening system at the same time.


Throughout this whole journey, I have had a whiteboard next to my desk. It keep track of various upcoming events and my personal TODO lists. It has things, looking at it now, that include ‘Work on The Lost Bits’, ‘Finish the Flash RPG guide’, and ‘Make Phaser autorunner guide.’ It also has, in the upper right-hand corner, a note I wrote to myself months ago to ‘Release game art on OGA.’ It’s something, since I haven’t publicly released a game in months, I haven’t been able to act on much. That is, until now.

Within minutes of Pale going live, I posted the tiles I made on Open Game Art too. Like my GameBoy-styled art from months ago, it is CC-BY 3.0 licensed. You are free to use or remix them, just give me credit somewhere.

And I also plan to put out an updated version of “Create a basic platformer game in Phaser using NetBeans and Tiled” at some point soon too. The internal APIs of Phaser have changed quite a great deal even in the last few months and that, for all of its screenshots, is out of date when it comes to the code itself. Now that I’ve had time with the ‘arcade’ physics system Phaser uses, I have a much great feel for gravity and velocity values for a platformer I hope to incorporate.