Published on 26th April 2024
Welcome to Phaser World Issue 177.
We're very happy to announce the release of Phaser Editor v4.
Phaser Editor enables you to visually create Phaser games. Instead of entering numbers in your code to position Game Objects, you can drag and drop them into place, tweak their animations, adjust their physics bodies, enable special effects and more. It's quicker and faster for both artists and developers alike and publishes to pure Phaser code.
With built-in tools such as a visual level and Scene Editor, Asset Packer, Animation Editor, Physics Editor, Prefabs, FX system, and lots more, this is a powerful app to have installed. It integrates seamlessly with VS Code, so you don't have to give up the code editor you already love - but rather empower it by adding Phaser Editor into the mix.
The brand-new version 4 is available for download on Windows, macOS and Linux right now as part of a Phaser account subscription, along with lots of other juicy benefits!
Game of the Week\ Frogger\ An arcade perfect conversion of the classic Konami frog-hopping road-running game.
Fantasy Jigsaw Puzzle\ Play this classic jigsaw puzzle.
Hope Escape\ Locked in room?! What happened? How to get out?
Dead Gunner\ Dead Gunner remake using Phaser 3.
The curtain has fallen on the Phaser Game Jam 2024\ Over 1,300 students participated in preparatory courses, honing their skills for the main event that brought together over 130 aspiring developers divided into 25 teams from 20 schools in the region.
Blinking/flashing effects\ We’ll make a sprite blink with alpha and a tint fill 3 times, 1 second apart.
Modd.io (HTML5 Game Engine) is now open-source\ Modd.io is a collaborative HTML5 game engine that runs in browser. It's kind of like Figma for game dev.
HTML5 prototype of “Block it” using Box2D in an Arcade way, powered by Phaser and featuring compound objects and custom contact callback, written in TypeScript\ We are going to build the prototype using Box2D, which is much more complex and realistic than Arcade Physics, and in this case the drawback is Box2D is too much realistic. See also part 2, part 3, and part 4.
Francisco: Hola a todos.
This week I've been working on improving the code for the Phaser Sandbox and adding new features that I'm sure many will love.
In the upcoming version, you'll be able to see who the creator of the post is.\ In your edits, you'll be able to add a small description.
Additionally, you will be able to favorite the posts that you liked.
Arian: Greetings Phaser friends.
Fridays are the best day of the week. At Phaser Studio we have good humor built in and we enjoy the day (is it because in our internal chat we have a very active meme channel?). But Fridays are something special. I think we all managed to relax a little. Well, Rich always has a huge amount of pressure on him, but he still shows the best of spirits and is unattainable. This Friday is even more special for me because we are already closing some cycles around Phaser Editor, more specifically, version 4 in its desktop mode. We have worked all week on its documentation and some new features such as Window Layouts. This version comes fully integrated into Phaser services and eventually the entire editor ecosystem will be intertwined on the Phaser site. Phaser Editor is an eight-year-old boy, and seeing him now grow into the wider Phaser family fills me with joy.
Robert: ¡Hurra por el fin de semana!
This week I kept at the examples, improving the routing and searching for the new setup to make it future proof. It also includes numerous user features for creating and multi file support with folders! Like everything with our new site, it will all be connected to your user account and be integrated into our other tools that have been rolling out.\ Adiós hasta la semana que viene.
Can: Merhaba!
It’s been hectic here at Phaser Studio for the last couple weeks. Yet, it’s full of worth the effort from the whole team!
I worked more on the Phaser by Example book, updated it to look better, more readable so your eyes don’t have to bleed! Also, LaTex rocks! Now with the version 2.0, we have detailed table of content, more readable text and source code, fixed missing images, up to date content and released as EPUB as well for those interested in.
Till next week, have a great weekend everyone! Did I mention LaTex rocks??
Rich: nuqneH!
Wow - what a week! So last week, we released the Phaser by Example book, and it has been going down a storm, with hundreds of you grabbing a copy. As Can mentioned, this week we spent a good amount of time tidying the layout up, fixing formatting issues, and publishing v2. It's a much better update, so if you did grab it before, please download v2.
This week has been all about Phaser Editor v4 and launching our new Phaser subscription service today. This replaces what was Patreon and comes in two flavors: One for hobbyists and one aimed at professionals, i.e., those of you who create Phaser games as part of your job or studios that rely on it for their clients. One of the biggest features of Patreon was the 1:1 technical support we offered, and this carries over in the new Pro plan. Both levels get Phaser Editor, of course, and we have lots and lots of really nice features coming down the pipe in the next few months!
If you have any questions about the subs, please drop me a line. You can simply reply to this email or grab me on Discord.
Next week, I'm going to be working on Phaser v3.90 - and, it appears, playing a lot of GameDev.js Game Jam entries, as that ended today and the game list looks huge! Oh, what a life :)
Ben: 2024.04.26
The foundations of the new rendering system are in place. We've settled on drawing instanced quads with hardware transforms. We've looked for mobile device support, and haven't found any problems yet; this technology looks solid. Rich and I have checked over the foundations, and found a few key performance areas.
The first was a long pause when loading Phaser, sometimes followed by a WebGL context loss. This was my fault. A vital part of the renderer is a "vertex buffer", a chunk of data sent to the GPU to tell it what to draw. That data has to be structured in specific ways ("attribute bindings"). Once you know the structure, and the number of instances to draw, you can compute precisely how much memory to allocate to the vertex buffer. But as I was developing the structure from the ground up, I rewrote it a few times. And I accidentally left a rather large multiplier in, resulting in a 1.8GB buffer instead of a 458KB one. Once I spotted that, I fixed it, and then automated the whole procedure so I could never make that mistake again.
The second was a tiny piece of code, a single line that turned out to be occupying about a quarter of the CPU usage. When we compose a batch of quads to render, we check which texture they're using, because the GPU can only support 8-16 textures at once. What could be simpler? Just put the textures in an array, and check whether batchTextures.indexOf(glTexture) === -1 (because indexOf returns -1 if it finds nothing). But that one line ate a massive amount of performance. Why? Because in a complex scene, most of the CPU time is devoted to processing quad data, and this line repeats many, many times. And that means it runs a lot of checks every time it repeats. If the texture is at the start of the list, it runs once, fine. But if it's at the end, it runs 8 or 16 times. We resolved this by coming at it from the other end: the texture has a space for batch data, and we just check that. Bam, 20% faster.
Note, this isn't necessarily making the whole renderer faster. It only happens when you've got lots of objects on screen, using lots of different textures. But it's pretty cool nonetheless.
Right now, the renderer only handles very basic sprites. I'm expanding it out to the rest of Phaser's feature set, where its ability to composite draw calls sensibly will give us the stability we need to get masks and FX working together flawlessly.
Phaser Releases
Phaser 3.80.1 released 27th February 2024.\ Phaser Editor 2D 4.0.0 released 26th April 2024.\ Phaser CE 2.20.0 released 13th December 2022.
Have some news you'd like published? Email support@phaser.io or tweet us.
Missed an issue? Check out the Back Issues page.
©2024 Phaser Studio Inc | 548 Market St PMB 90114, San Francisco CA 94104