On April 12th 2013 we pushed the first every commit of Phaser up to the github repo. So we're now 1 year old :) It's incredible to think how much has changed since then and in such a short period of time.
The first version of Phaser was a more or less direct port of Flixel into TypeScript. I literally hacked it together over the space of a couple of days just to get something up and running. I wanted to develop it 'visibly', so commited all of my work to a public github repo as I built it.
Over time it grew more powerful, and some early adopters had picked it up and start using it, releasing games. This was a huge motivation boost for me, and I continued to plough time and energy into it. Right up until the v0.95 release Phaser was built in TypeScript, and I had received a few contributions towards it, but it was still very small scale.
Then a really important thing happened: Microsoft totally messed up the release of TypeScript 0.9. Phaser no longer compiled under it, and I literally wasted weeks of my time trying to resolve it. But TypeScript was so unstable it was draining me of all willpower. This lead me to ask on the forum if anyone cared if I swapped to using plain JavaScript instead, and the response was incredible. The overwhelming majority wanted Phaser to be written in JavaScript. Lots had been scared away by it being TypeScript in the first place. So I literally cleared down everything and started from scratch.
Second Reality
This allowed me to make a second really important change: Moving to using Pixi.js as the renderer. Pixi was gaining real traction at the time and the fact it would give Phaser WebGL access was a real boost. It meant I had to cut some quite powerful features out, such as multiple camera support (something we've still not got back yet), but the positives were too vast to ignore. Pixi went in, powering the rendering and JavaScript driving it all.
That was the major turning point. By using plainJavaScript the community could get involved easily. It didn't rely on them understanding TypeScript first. As a result involvement skyrocketed and we haven't looked back since.
Phaser has evolved a lot since those early days, but I've still tried to keep it true to the original aims: It should be fun and easy to work with. A single file, a simple text editor and nothing more and you can get running.
I strongly believe that the moment a framework depends on npm or similar package managers, or a module system that enforces a coding style you may not be used to (or like!) then you're already limiting who will use your framework. By all means let them adopt their own workflow, just don't force yours onto them. It was a mistake I made in the early days, but definitely learnt from. And Phaser has totally benefitted as a result.
Future TimeJump
So what's in store? We already touched on it in the previous issue: retaining a stable API, fixing issues as they arise and adding enhancements where suitable. And building new examples and tutorials, both of which we've got well underway.
So thank you everyone who has ever tried Phaser. And thank you if you've gone that extra mile by writing a tutorial, helping fix a bug or added new features.
Here's to another year :)