Newsletter
Published on 4th November 2016
Welcome to Issue 54 of Phaser World
This week has been one giant long period of intense non-stop development on Phaser 3, and honestly I've never been more buoyed than I feel right now. Things are falling into place, and I've made a video you can find in the Dev Update this issue.
I'm not the only one who's been busy though - there are some great games and tutorials this week. Boeva The Game is simply glorious! I had such fun playing it to write my article and take screen grabs. You'll also find a couple of videos from the Bristol JS session I spoke at last 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.
Advanced Phaser Course Offer
Get this great video course on advanced Phaser development for just $29 during November.
Games made with Phaser
Game of the Week
Play through mini sized versions of classics like Street Fighter, Outrun and Virtua Cop.
Staff Pick
Drive the Mystery Mobile and scoop-up Scooby Snacks in this game for Dr. Gerards.
Press down to charge your jump, and then leap for it! Just make sure you land on a platform.
Spiderette solitaire is a variation of Spider with one deck of cards and Klondike-like positions.
Adventure with Atani as you help defeat the zombies by choosing the right animal names in Chamorro.
Phaser News & Tutorials
BristolJS Phaser Development Video
Richard Davey's BristolJS presentation on HTML5 Game Development with Phaser.
Recreate the classic GameBoy game Pyramids of Ra.
Book now for the Phaser workshop at JS Kongress conference.
Josh Regan's Bristol JS session on Prototyping with Phaser.
A new modular book and source code package, that takes you through the process of creating games in Phaser.
Patreon Updates
Thank you so much to the following new Phaser Patreons who joined us this week: Chase Noel, Phillip Zolla, Gilberto Bic, Giancarlo Achler, Mike Arlington and Jesse Crockett.
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 has been an insane one in terms of work on Phaser 3. A quick glance at the dev branch commit history will give you some idea of the level of work I've been putting in.
If you support Phaser on Patreon (thank you!) then you'll have seen the video I uploaded already. It's a 1 minute run through of some of the Phaser 3 renderer tests I've been working on.
What you're seeing in the video are some new features, including the Pixel Field Game Object. Think of this as a way to plot pixels to the canvas (or webgl context) extremely quickly, and with minimal memory overhead. You can control the size and color of each pixel, and internally it uses a special shader I built specifically for the task. We're talking 10's of thousands of pixels in a single frame, and a single draw call, allowing for some really sweet effects in your games.
I had the new batch renderer finished last week, and performance was awesome! But I also wanted the ability for you to be able to do really advanced stuff with your games, so I spent a number of days implementing a new Frame Buffer Object (fbo) system in, which is what the video is really showing.
In Phaser 3 each State has its own frame buffer, meaning that the State itself renders to a GPU bound texture, allowing you to then apply all kinds of effects on the top of it, or pass it over to another shader for further processing. Because Phaser 3 states can run in parallel it means you can do some really neat stuff, like applying a huge 'ripple' effect to just the background of your game, or rendering your Phaser game into a three.js texture.
I also continued to work on refining the number of calls taking place under a normal 'single state' environment. I managed to get it to the point where a full scene was completing in literally 1 draw and just 4 WebGL calls, by optimising away needless calls, and aggressively caching shaders, blend states and other things that all take-up needless little WebGL calls when not always needed.
Towards the end of the week I recoded the Phaser State Manager. This was a huge chunk of work, but progress has been great, and I'm really pleased with the direction it's moving in. I'll talk more about it next week, hopefully with another video, because what it allows you to do now is so exciting, and I've rambled on for long enough already this week :)
As always, thank you to the Phaser patrons who make all of this possible, by funding the time I can spend on development. I'm incredibly happy with how things are shaping up, and I'm even more happy by the fact that I finally am responsible for every single line of code in the core library - there are no more excuses about doing things 'because that's how X does it', it's literally crafted exactly the way I want it to be, and the results are speaking for themselves.
Geeky Links
Wonderland XIII is a Commodore 64 demo by Censor Design. This is a video capture from a real unmodified C64 and shows some incredible effects. But the part that is blowing everyone away is Part 3, where you can hear an incredible rendition of The Prodigy's Smack my bitch up. Remember, this is a C64, where just 3 seconds of 8hz audio would fill all available memory.
Electronic Plastic is a site dedicated to handheld and desktop games from the 70s and 80s. There are over 900 of them archived, with lovely photos and side shots. The search options even let you filter by color!
The GitHub Game Jam 2016 has started! The theme is 'hacking, modding and / or augmenting'. It's a month long jam and super-easy to take part in. Previous years entries have been great. If you enter a jam game made with Phaser don't forget to let me know!
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.