Phaser Category

  • Phaser 1.1.3 “Arafel” has landed with a shadery splash


    I’m pleased to say that version 1.1.3 of Phaser is now released! And we’ve also got over 1000 stars on our github project, which is excellent 🙂

    This release focused on updating Phaser to use the latest version of Pixi.js, which introduces the wonderful world of shaders to your WebGL games. We have been busy creating and modifying shaders for your use and you’ll find a bunch of them in the new filters folder in the repository plus examples in the Examples area. They include fire, plasma, light beams, marble, blur effects and there are lots more coming. It’s safe to say we’re a little bit addicted to creating shaders at the moment. They can add a visual sheen to 2D games that transport it to another level entirely. Don’t worry though, we haven’t bloated out the core library: we allow you to load them dynamically as needed.

    There is also a brand new (but still experimental) BitmapData object which we’ll work on making more solid over the coming weeks. But it essentially gives you a blank canvas onto which you can draw, plot lines, render text, copy and paste pixels and perform all kinds of effects. It is designed to be used as a texture by any Sprite. So multiple sprites can share the same dynamic texture now. We’ll carry on ironing out this class in future releases, but it’s already pretty powerful.

    I have spent a long time updating the documentation as well. Some classes which didn’t have any, like the Tilemap ones, are now fully done. And I’ve replaced lots of instances of place holder documentation with actual meaningful descriptions, with many type definitions have also fixed. Thanks to community help the TypeScript definitions file is now a lot more accurate too.

    There is a brand new Getting Started guide on the Phaser site and we will start releasing new tutorials in the coming weeks too.

    Marching towards 1.1.4

    We will aim to get version 1.1.4 (“Kandor”) released before the end of the year, and then start planning out the features that will form the backbone of the 1.2 release. Right now we’re almost certain that will consist of a proper physics system, as our p2.js tests have been going extremely well.

    It never ceases to amaze me just how receptive the community has been to Phaser. Every day we’re seeing more and more games created in it, new developers signing-up to the forum and some fantastic contributions via github, both in the shape of reported issues, fixes and enhancements. Not a day goes by when something isn’t improved or planned, helping us take it that little bit further with each step. I’m genuinely excited about what 2014 will bring.


  • Phaser 1.1 is released! New API docs, 150+ examples and hundreds of updates


    We’re really pleased to announce that Phaser version 1.1 was just released and pushed to the master branch of our github repo. We’ve worked extremely hard on this release to make Phaser the most stable and powerful 2D HTML5 game framework we can.

    Here are some of the headline new features:

    API Docs are live!

    We know these were a long time coming, but we’ve finally documented nearly every part of the framework with jsdoc3 and published the resulting docs as well. So you can at least now look at the docs first before having to dig through the source code to figure things out. We’ve still got more work to do in this area, but it’s a great start.

    150+ Examples!

    We’ve got a brand new Example Test Suite, with a great design, two display modes (full stack or side-by-side) and over 150 different examples for you to work through. We’ve tried to cover all of the core features of Phaser, there are even little mini games included (some in more complete states than others) and lots of demos.

    What’s more, we’re looking for new Examples to add to our collection and we’ve got prizes for the best submission each month 🙂

    Enhanced Arcade Physics

    The Arcade Physics system that ships with Phaser has been almost completely rewritten. It’s now considerably more robust than before, the Sprite update loop has been heavily optimised and refined, and collision is now a lot more stable. Gone are the ‘jitters’ and potential wall-sticking of the previous release!

    Read More

  • Phaser 1.0 and the journey we took to get there


    After months of hard work everything came to a head on Friday September 13th when we released version 1.0 of Phaser, our HTML5 game framework. This was a monumental milestone release for us, and the fact that it has taken us 3 days to even write about it on our own site should give you some indication of the whirlwind that ensued following launch.

    We punched the shiny ‘release’ button quite late on Friday, which not only pushed 1.0 to our github master branch but also unveiled the lovely new Phaser web site as well. Although just a single page site for now the design reflects everything that I want a game framework to be: fun, fast and easy to use. I wanted people to look at the site and instantly feel like it was approachable: not too ‘serious’ or dour, but by no means amateur either. The site certainly had the desired effect, as sure enough the tweets spread like wildfire and the site is getting thousands of visitors a day. As a result we’re seeing great levels of activity on our github repo and the Phaser section of the HTML5 Game Devs forum has exploded, with fresh new sign-ups and questions coming every hour.

    Read More

  • Closing in on the Phaser 1.0 release


    Although the master branch of Phaser has been quiet for a couple of months we have been extremely busy working on what will be the 1.0 release. If you take a look at the 097 branch README you’ll get an idea of the sheer scale of change that has happened to the framework.

    Although the initial release was heavily inspired by Flixel, indeed taking lots of the core classes and directly porting them over, this has been mostly reversed for 1.0. We hit limitations pretty quickly and were constantly stretching the framework in different directions until one day it  finally snapped and we realised it needed a fresh approach.

    So while the majority of the core classes have changed entirely, we’ve been extremely careful to ensure that actually using Phaser is just as easy as Flixel is (if not more so in some places!). We’ve worked really hard to make sure you can rapidly build games with it. For example the following code will create a new game, load an image, create a sprite and display it on-screen:

        var game = new Phaser.Game(this, 'game', 800, 600, init, create);
        function init() {
            game.load.image('bunny', 'assets/sprites/bunny.png');
        function create() {
            game.add.sprite(0, 0, 'bunny');

    Needless to say the sprite is now under your full control. Alpha it, tween it, flip it, animate it, rotate it, move it around with touch/mouse/keyboard, collide it, emit it in the particle system, etc.

    We’ve been hard at work creating several large games for clients with Phaser, so we’re able to battle test it and evolve it through actual use. The first of these games was released onto the BBC site last week, and although aimed primarily at small children it still allowed us to deploy a Phaser game to a heavily trafficked audience and gauge response.

    So what’s new in 1.0?

    Read More

  • Phaser 0.9.5 Released – Camera FX, lots of Tilemap updates and more!

    And here’s Phaser 0.9.5 🙂 A lot has changed in this update. The most fundamental updates include:

    New FXManager

    In previous versions, as in Flixel, camera effects like shake, flash and fade were all bundled into the main Camera class. This has now changed. A new project, Special FX was created and all of the effects moved there. A Camera now has an fx property to which you can register any number of effects that you want. The effects are also compiled to their own js file (phaser-fx.js), so if you don’t need to use any of them in your game you can save some extra bytes. The Camera class is now a lot smaller and faster as a result too. It also allowed us to add in new effects, so feel free to play with the Camera Scanlines and Camera Mirror effects 🙂

    In a future version we’ll adopt use of the FXManager for other game objects, not just cameras.


    Lots of Tilemap Updates

    Tilemaps have really been given an adrenalin boost in this update. For example collision with them is now much more flexible. You get a list of all colliding tiles returned (not just a boolean), you can control if a tile should cause separation if an object collides with it or not and finally set your own collision callbacks.

    As well as this we added a lot of map data manipulation commands. For example replaceTile will scan the map (or a region of it that you define), replacing all instances of a specific tile for another. There is also swapTile, fillTiles, putTile, randomiseTiles and new methods to get tile data. You could now easily create an in-game tile editor should you wish. The above screen shot is from one of the new tests showing putTile in action.

    Boot and Pause Screens

    Phaser has always had a built-in boot and pause screen. Before they were bundled into the Stage class, but have since moved into their own area (system/screens) making them much easier for you to customise as you see fit, and also keeping Stage cleaner as a result.

    TypeScript declarations

    The project is now generating TypeScript declaration files. This was important to get the new SpecialFX library working and we’ve updated all of the test suite to use them. Basically it means you can now start a fresh TypeScript project and just copy in the lib.d rather than all the source for the whole framework. Of course if you’re coding using JavaScript this means nothing to you 🙂

    As well as the above there are lots of bug fixes, thanks to the support of devs reporting issues on github. Please do keep them coming.

    I’ll be away for most of next week in LA at Adobe Max, so 0.9.6 will be at least 3 weeks away, but it will focus heavily on expanding the Input handling.

    Check out Phaser on this site, or direct on github.