Newsletter
Published on 22nd July 2024
Welcome to Phaser World Issue 189 and another packed week filled with games, news and updates - and we are excited to share them with you.
The big news item for this week is that Phaser is sponsoring js13k 2024. Have a look at the article to learn more!.
In addition to that, you will find links to impressive games, as well as a link to a community-curated list of (more than 100!) awesome Phaser 3 resources. There is a tutorial to get started with building Zuma in Phaser 3, and finally, if you've ever wondered just how many great games have been made with Phaser, you can have a look at the Top Phaser games on itch.io.
We hope you have a great week - see you next issue!
Game of the Week
Rogue Fable IV
The latest iteration of this successful rogue-like project that has spanned nearly a decade of development lands on Steam.
Harvest Horizons
Start your journey with a modest patch of fertile land and a handful of wheat seeds. Plant your wheat, nurture it, and watch your farm flourish!
Top Games made with Phaser on Itch.io
3,644 results.
Phaser Editor Beta
We have just published a brand new beta-release of Phaser Editor 4.1.1. This release includes support for setting a network proxy via a new UI screen, which should allow it to work across VPNs and in other corporate and network-restricted environments.
Login to your Phaser account and get the beta from the Downloads page. Click the Phaser Editor tab and scroll-down to find the Beta release. Please let us have your feedback if you do try this across a VPN - either in our Discord, or email support@phaser.io
Newsletter Mini Survey:
Do you use AI to help you code? (Click one of the buttons below)
Creating Zuma with Phaser Tutorial
Build a HTML5 game like Zuma with Phaser and TypeScript.
Phaser sponsors js13k
Phaser sponsors the js13kGames coding competition.
More than 100 awesome Phaser 3 things
A curated list of awesome Phaser 3 things including tutorials, plugins, templates and more.
Frame Rate Distribution
SetInterval vs requestAnimationFrame.
Phaser Debugger
Game debugging extension based on the Phaser 3 game engine in the Chrome Web Store.
Rich:
Today, we had our July 2024 All Hands meeting - which involved everyone in the company on a single Zoom call in which Brian and I presented the current state of Phaser Studio and our objectives for the rest of the year.
One of my slides was a quick overview of all the public releases and achievements we have completed so far this year:
This isn't comprehensive, as it doesn't include beta releases of Zeus or Nexus or all the work done on the website, documentation, and examples, but you should still get a good sense of progress. It's a great achievement for such a small team in such a short period of time. Rest assured, things are not going to ease up. The next two quarters will be our busiest ever.
Francisco: Greetings to everyone another week.
With the goal of improving the tutorials and the Phaser API to make it more accessible for everyone, I have been analyzing the beginners section of Phaser, gathering information for a year.
I made a script to be able to obtain the history and extract the possible questions that have been asked during all that time, the result has been 12k questions.
After obtaining the 12k questions, we processed them and made a small summary of each question, while at the same time filtering out what was possibly not a question.
Arian:
Hello friends. This was a post-phaser-editor-release week. This means that we have to take a big breath and get back to developing new features. Although in this iteration our plan is to work on some details, such as allowing the user to configure a proxy for the editor's internet connections. This is something we have already completed and is in testing. We also made some attempts to update the version of the Spine runtime that we use internally in the editor. It was not possible. For some reason I still can't figure out, version 4.2 of the Spine runtime doesn't work in some parts of the editor. However, this is not something we should do urgently, as it does not affect whether you can use the latest version of Spine in your game. The Spine library is constantly updated, so we will take some time to integrate its latest version into the editor.
We also started working on what would be the most important feature to incorporate in the next version of the editor: the Video game object. We already have something to show:
Can: Greetings, Phaser enthusiasts!
This week, I’ve made significant progress in integrating SVG animations into our modular structure. Our approach allows us to create intricate, scalable animations while maintaining clean and reusable code. By leveraging this, we streamline the development process, ensuring our animations are both robust and adaptable.
Excitingly, new CSS features for SVG motion path animations are on the horizon, offering even more variety and creativity in our projects. These enhancements will enable smoother and more dynamic animations, perfectly complementing our existing modular structure. Stay tuned for more updates as we continue to push the boundaries of what’s possible with Phaser and SVG animations! There will be benchmark tests comparing both CSS and Web Animations API usage in this regard, too.
Until then, have your pixels high quality everyone!
Zeke: Hello from the Builders and Bug Busters Squad.
The weekly report (July 19, 2024)
*[ The Bug Chronicles ]
Bugs Zapped: 5
Phaser Timelines were throwing a tantrum when being destroyed. The culprit? A missing var declaration. This bug was swiftly dispatched to the nether realm.
Phaser Tweens had their own set of shenanigans:
1. Chained Tweens were rudely triggering the onActive event twice per loop instead of once.
2. Chained Tweens also refused to trigger the onStart event more than once, no matter how many loops were assigned.
Both events have been reprimanded and now behave as they should.
Thanks to the ever-diligent @rexrainbow for diving into the fray to fix these miscreants:
1. Dragging a game object in a scene with multiple cameras led to synchronisation chaos. When dragging a circle game object attached to a scrolling camera, its position sometimes wrongly synced with the main camera. This bug has been thoroughly squashed.
2. Drag pointers causing disruption when removed during an event were no match for cloned drag pointers, maintaining the sanctity of the processing loop.
*[ The Feature Forge ]
Dazzling Doohickeys: 3
Once again, @rexrainbow graced us with a brilliant new feature:
1. Helper methods were added to GameObject to alter their rendering order. Now, you can easily move a game object to the top or bottom of the display list or position it above or below another game object with finesse.
Kudos to @samme for these fantastic additions:
1. The new timeScale feature for Phaser Timelines lets you control the flow of time. Values greater than 1 speed up time, while values less than 1 slow it down. Setting it to 0 freezes time completely, offering ultimate control over your timelines.
2. The LoaderPlugin now boasts a brand new removePack method, enabling developers to unload asset packs efficiently. This enhancement automates asset management in multi-scene games, especially on mobile devices, by handling the unloading process without manual intervention.
We extend our heartfelt gratitude to our passionate community members for their invaluable contributions and the practical new features added this past week.
Ben: 2024-07-19
I hope everyone's enjoying Phaser Beam Technical Preview 3! The new renderer has plenty of new features, and I'm excited to develop examples to take advantage of them.
But this week, I did some blue sky research. Empowered by the back end of the Beam renderer, with its sturdy control of shader attributes, I experimented with an alternate approach to rendering, to see how far we can really push the limits.
There are a number of limits on rendering. Every command sent to the GPU takes a little bit of time to get there. Every byte of data takes a little bit of time to send. Every vertex takes a little bit of time to calculate. And all that data takes some time to compute on the CPU before you send it off to get rendered.
So how much of that can we skip?
Well, actually, we can skip almost all of it. If we just put static data on the GPU, and don't touch it, it renders abominably fast. Up to a hundred times faster - fast enough to handle millions of game objects.
But it's static. What good are game objects that don't move? You might as well just draw a picture and use it as a single texture.
The key is to realize that "static" doesn't mean "still". We can encode limited animation data into this process, based on Phaser's Tween system, and run it all in the vertex shader. And presto, millions of objects in motion, perfect for hyper-detailed backgrounds that actually move.
It's a very limited test so far. We're certainly not going to replace any main game systems with it. It's limited to a single texture, and because it has to be static, you can't use it for things like characters and effects that have to move around and react to other things in the game. We actually ran out of available attributes for setting data! But it shows what's possible when you really take advantage of WebGL.
Phaser Releases
Phaser 3.85.0 Beta 1 released 21st June 2024.
Phaser Editor 4.1 released 12th July 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