Newsletter
Published on 9th September 2016
Welcome to Issue 46 of Phaser World
There are two great games this week: Pac-Man Run! and Avengers Tactics. Both represent high profile brands, creating high profile games. And sadly, both are geo IP restricted (I only got to play them thanks to a web proxy service). So for most of you, you'll have to make do with the awesome promo video instead.
Hulk Smash region locking!
On a lighter note, we've stacks of news this week. Big Patreon updates, Developer Progress rants, lots of new tutorials, a great book, and plenty of games we can all play and enjoy, no matter where we live.
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.
Patreon Updates
Earlier this week I spent some time updating the Phaser Patreon page. Patreon is a way for you to donate money towards the Phaser project, on a monthly basis, starting from just $1.
I have completely overhauled the Rewards received for every level of pledge. All patrons now get a special badge on the HTML5 Game Devs Forum. All patrons now also get discounts on new Phaser products, no matter what your pledge level. The higher the level, the bigger the discount.
Those who pledge $10 or above are now entitled to free personal technical support, direct from me, once a month. The pledge level dictates the duration of the support, but it starts at 15 minutes, and goes up from there.
You're free to use this time to discuss anything Phaser related with me via Slack. Perhaps you'd like some advice on the best way to tackle a problem? Or you'd like me to look at some code you've written? Or maybe you'd like me to code you a small example demonstrating a feature? All of these things are possible, as long as they fit within the time allocated.
Click here for more details about Patreon
This Weeks New Patrons
Thank you so much to the following patrons who joined us this week: Jurriaan van Teunenbroek (and the team at Orange Games), Aapo Saaristo and Alessandro Nunes.
Games made with Phaser
Game of the Week
Run, eat and chose the ghosts! Pac-Man does what he does best, with completely new gameplay.
Staff Pick
Take control of the Avengers, and save the city in this tactical battle game.
A growing collection of game source, including 2048, Angry Birds Space and an ASCII Roguelike.
With Kitten Pet Carer your kids will learn to take care of a cute little virtual cat.
It's the Shamans vs. the Witches in this potion collecting game jam entry.
Phaser News & Tutorials
A video showing off the new features of Phaser Editor.
Desenvolvendo jogos mobile com HTML5 is a brand new Phaser book in Portuguese Brazilian.
In part 5 of this series you learn how to control the game with swipes.
Easily change Sprite properties from a UI interface.
Trying out Kineo Adapt with a Phaser game.
5 complete royalty-free Game Templates to use in your own commercial games or client projects.
The latest version of Phaser Editor is released, with a new Arcade Physics level editor.
Development Progress
This week I had the decidedly unglamorous task of moving the Phaser web site from one server to another. The new server is sufficiently more powerful, and capable of dealing with the increased daily traffic we now get. There were a few teething issues, and I'm aware of a couple of old legacy redirects that need putting in place, however on the whole it went well. I'm now using DeployBot, so pushes to the Phaser site, or Phaser Examples git repos, are atomically deployed to the server.
Pew Pew
I've also been working through the Phaser Issues, merging in Pull Requests, closing Issues, and enhancing existing classes. This week the Weapon Plugin got a nice boost, allowing you to blast out whole patterns of bullets in a single call.
The House of Cards
I've also been looking at the Animation system within Phaser, and figuring out how best to support animations that span multiple textures. This is sadly more complex than you'd expect, due to legacy reasons. A recurring problem that I keep hitting my head against as I work inside of Phaser. Just last night I was ranting at poor Felipe on the Slack channel, bemoaning the way things are strung together, and wanting to nuke the whole lot from orbit. Thankfully I slept on it, and am being more rational today :)
Even so, the problem still remains: Phaser is a house of cards, and if you're not careful when working inside a part of it, it's easy for it to all come tumbling down. The crux of the issue is that several years ago, when I first built Phaser on-top of Pixi, I didn't want to mess with it in any way. I extended Pixi classes, never changing them, constantly keeping Pixi updated with their releases (and helping that process along).
This has lead to nested inheritance chains everywhere though. For example, returning to my original issue of wanting to enhance animation support, I've got to fight my way through a coupling of: BaseTexture -> Texture -> Frame -> FrameData -> Animation -> AnimationManager -> Game Object. Suddenly, what seemed like an innocuous change, risks tampering with 7 different classes at a minimum.
As we work through issues, and merging the renderer updates back into v3, part of me is screaming out that things like this need changing (there are many other examples.) They're not broken as such, the system does actually work, it just needn't be so massively chained any more. Maybe it's time to remove a whole stack of cards, and replace them with more solid ones.
[ You can chat to the Phaser developers in the Phaser Slack channel - or in the Phaser Forum - let us know your thoughts! ]
Geeky Links
I feel a bit guilty that I've never mentioned it before, but I strongly recommend the GameDev.JS Weekly Newsletter! Currently it 140 issues, it's a great set of links.
As well as being a fantastic game, Doom (2016) has some serious rendering going on. Check out this fascinating frame by frame break down. Puts our little canvas troubles into perspective, doesn't it?
Lastly this week is the Smile Game Builder. It's like RPG Maker and Minecraft had a baby, and it looks sweet!
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.