Newsletter
Published on 2nd October 2016
Welcome to Issue 49 of Phaser World
Sorry that this issue is a couple of days late, but that doesn't lessen the quality of the content! Some great games (I've played far too much Aerial Dogfight this week), and a new series of tutorials can be found.
On-top of that though I've been literally coding my fingers to the bone, working on Phaser 3. You can get an overview in the Dev Progress report this week - trust me, it's exciting stuff though. Even if it does mean I've ben going to sleep as the sun rises all week.
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 channel.
New Phaser Book
Create a Procedural Endless Runner Book
This brand new 177 page book covers build a flexible procedural runner game, with full source code.
Games made with Phaser
Game of the Week
You’ll flip for this innovative puzzle game. Can you make all of these delicious candies match up before you run out of moves?
Staff Pick
A challenging and addictive WW1 dog fighting game.
Play as YouTuber Ridhwan, flying on a unicorn through candy land.
The classic Pong, turned into a journey through unique levels and twists.
The game featured in the tutorial series is now available on Android.
Phaser News & Tutorials
A tutorial on creating a game like the iOS hit Memdot.
In part two the prototype is completed, allowing game progress and a timer.
Learn how to create Rabbit Defender in the first video of the tutorial series.
Learn how to create Rabbit Defender in the second video of the tutorial series.
Learn how to create Rabbit Defender in the third video of the tutorial series.
Patreon Updates
Thank you so much to the following new Phaser Patreon who joined us this week: Matija Han.
Patreon is a way for you to donate money towards the Phaser project, on a monthly basis, starting from just $1, and receive discounts, forum badges, private technical support from me, and my eternal gratitude, in return :)
Development Progress
If you have the Phaser GitHub repo on your Watchlist, then you'll no doubt have seen a massive flurry of activity last week. The commit list alone should give you some clue as to what has been going on.
First of all, I spent several days doing nothing but tackling issues reports on GitHub. Believe me, this is a (mostly) thankless task. I know you all appreciate the effort I put in, but sadly that doesn't make the process any more enjoyable! The majority of issues raised for Phaser now are deep and complex ones, with very few 'easy wins' along the road. Having said that, I do enjoy seeing the issue count steadily fall. My aim is to keep the total number of issues below 50, and I'm very close to that now. A few more weeks hard work should see it cleared.
Consolidating Pixi
The other big change is that in the dev branch I've been steadily consolidating all of the Pixi source code. The objective is to get rid of the deep inheritance tree structure, and to give everything a really good tidy-up, replacing legacy systems where needed. A quick glance at the commit list will show that I've been really busy here, often coding into the small hours of the morning trying to get this done. I've been merging Pixi classes into Phaser, getting rid of lines of redundant code, tidying up duplicate properties, and getting our house in order.
There are going to be some very significant internal changes in Phaser 3. Yes, it's still ES5. Yes, it's still our heavily rebuilt Pixi engine at the core. But to all other intents and purposes, there are loads of changes and new features as a result. At the end of the week I finished off working on the new Texture system. It had long bothered me that Textures had such a long class tail, and that Animation was quite inflexible as a result. Due to the way I chose to structure Phaser on-top of Pixi, the simple act of getting a texture on a Sprite went through too many layers, and it was terrible at re-using them too.
After the days of work I put in, the new texture system is much better and simpler. Textures are shared and pooled. This means that 1000 Sprites using the same texture frame, will all now just use the exact same underlying TextureFrame object. Where-as in Phaser 2 there would exist one shared BaseTexture, but 1000 unique Textures, FrameData sets, Animation Managers and Frames! I worked hard to boil this all down, and it unlocked great new features as a result. For example Phaser 3 now supports multi-packed (or split) texture atlas files. It supports the ability to have Bitmap Fonts or Sprite Sheets as frames in an atlas. It supports animations being able to have frames within them from any texture, in any atlas, and it does it all using far less memory than before.
So keep your eye on the dev branch if you don't mind being inundated with emails, because there is a lot going on, it's all pretty exciting, and next week is going to be even more intense.
Geeky Links
What happens if your game gets a raging rant of a review? You get a brilliant voice-over artist to read it, bad spelling included, and then animate it. Dot Dot Dot is the hilarious end result.
This guy quit his job, bought an army truck,and spent 19 months driving around Africa. Amazing photos ensue.
"Greetings, Starfighter. You have been recruited by the Star League to defend the frontier against Xur and the Ko-Dan armada." The Last Starfighter was an 80s classic film, where an arcade game was used to recruit star pilots. And these guys have rebuilt the cabinet and coded the game used in the film for you to play.
Phaser Releases
The current version of Phaser is 2.6.2 released on August 26th 2016.
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.