Newsletter
Published on 18th November 2016
Welcome to Issue 56 of Phaser World
Node Knockout 2016 was a 48-hour coding jam in which teams competed to build the best, or most fun, node.js app they could in 2 days. All the entries are now up to see, and loads of the game entries were made with Phaser. You can find several this issue, including the lovely TNTeam.
Until the next issue, keep on coding. Drop me a line if you've got any news you'd like featured (you can just reply to this email) or grab me on the Phaser Slack or Discord channels..
Games made with Phaser
Game of the Week
Blast your way through randomly generated dungeons as an archer, wizard or warrior.
Staff Pick - Use your water to stop the fire reaching the TNT in this multiplayer Node Knockout entry. If you hear the fuse burning, run!
A tasty combination of the puzzle games 2048 and 1010 - add the pastries together to remove them.
Get on your skis and flee the yeti! In this Node Knockout entry.
A multiplayer space battle adventure, created for the Node Knockout competition.
Dare you take on the role of a taxi driver in Warsaw, Poland? Find out in this multiplayer Node Knockout entry.
Advanced Phaser Course Offer
Get this great video course on advanced Phaser development for just $29 during November.
Phaser News & Tutorials
Learn programming while on the go, with hundreds of pocket-size coding lessons, including Phaser game development.
A new plugin that allows you to step through the frames of a Phaser game.
A small example showing a method of implementing Tilemap collision.
A new beginners tutorial from LoonRide.
Join us on our new Phaser Discord channel.
Patreon Updates
Thank you so much to the following new Phaser Patreon who joined us this week: Vitor Augusto Brandao.
Patreon is a way to donate money towards the Phaser project on a monthly basis (you can also make one-off donations). Donations start at $1 and receive discounts, forum badges, private technical support from me, and my eternal gratitude, in return :)
Development Progress
This week's newsletter almost never happened. I spent most the week unable to code or do much work, and returned back to normality just today, Friday, the day the newsletter is sent. Before I fell ill the week started out really well, and I managed to complete two things ...
Phaser 2.7 Special Release
Last issue I ran a survey asking if I should release Phaser 2.7, or just carry on development of Phaser 3. Over 130 of you completed the survey and 74% said to ignore 2.7, and carry on with Phaser 3.
Also, 94% of you said you didn't have a game on hold due to a bug in Phaser 2.6, which was quite reassuring to be honest :) Taking both of these facts in to consideration my first thought was to ignore 2.7 totally. As the overwhelming majority of you didn't need it. However, I guess you could also look at the stats the other way, which shows that 26% of you did want 2.7, which is over a quarter. So I came to the decision to release it into its own git branch.
You can download Phaser 2.7 from GitHub.
There won't be an "official" release of it, nor will it get pushed out to the CDNs or npm. Consider it an interim build for those of you who needed it, and can't wait for Phaser 3. As it stands though, it has a bunch of fixes in, and some new features. The README has all the details as usual.
Phaser 3.0 Blitter
At the start of the week I created a new Game Object called a Blitter. The concept behind it is painfully simple: it's a single Game Object which has one sole task: to render texture frames as fast as it can. You can add as many different items to it as you want (internally they are called BOBs, or Blitter Objects, and yes I'm fully aware of the Amiga connotations here), and each one can be positioned and transformed, but that is it. Here are a bunch of them in action:
Think of a Bob as being a texture frame you can render, and nothing more. They don't have update loops, they don't even live on the core display list, they don't have Data components, or pretty much anything at all really.
The whole idea behind them is that they aren't Game Objects, in the sense that they take up none of the same resources a Game Object does, or have the same properties. They're ultra-light weight. In lots of frameworks they're called Particles, but I didn't want to confuse things as Phaser devs are used to Particles belonging to a Particle Emitter.
In practise you create a single Blitter object, which itself has an entry on the display list (and can be rotated, scaled, and so on). You then use a handful of helper methods to create Bobs within it, and they render away happily. It uses a custom batch and shader, with minimal vertex data being sent. In short, they're fast little buggers. Out of sheer interest I tried creating a Tilemap renderer using them, and with 1900 of them on-screen (each an 8x8 tile), and scrolling around a huge map, it was still blissfully fast and completed in a single draw call. I probably won't use them for the Tilemap system, as we've got a custom shader written for that, but it was a great stress test all the same :)
I really wanted to make a new video this week. I also wanted to test multiple WebGL renderers on the same page, and do some mobile performance tests, but sadly illness put paid to that. Next week however there will be lots of things to show, so make sure you're here :)
Geeky Links
A few months ago, Mozilla began a project to make significant changes to their Gecko rendering engine, to make it faster and more reliable. This project is called Mozilla Quantum and you can read about progress in this fascinating blog post by Quantum developer Bill McCloskey.
Mozilla also recently announced debugger.html - a modern JavaScript debugger from built as a web application. Development started early this year in an effort to replace the current debugger within the Firefox Developer Tools, and supporting debugging multiple targets and functioning in a standalone mode.
And last, but by no means least this week is NervBlitz - the portfolio of Swedish artist Simon Stålenhag. Oh boy, does he have some incredible images up there too!
Phaser Releases
The current version of Phaser is 2.6.2 released on August 26th 2016.
Phaser 2.7 is available its own git branch.
Phaser 3.0.0 is in development in the GitHub dev branch.
Please help support Phaser development
Have some news you'd like published? Email support@phaser.io or tweet us.
Missed an issue? Check out the Back Issues page.