Phaser 3.60 Beta 10 is out

Published on 21st September 2022

Hi everyone!

First of all - thank you so much for the kind comments resulting from my previous post. I'm doing a lot better now, and while still not at 100% health, I'm still managing to get a good amount of coding done every day.

And you can see the result of that today with the 3.60 Beta 10 release :)

Grab it from the GitHub releases page or from npm.

Dist files are available, and I spent a long time getting the new TypeScript defs building without error for Beta 10, too. They can be found in the GitHub repo as per usual.

I've done a huge amount of work across the API in this release, but the biggest change has been with Tweens. I overhauled the Tween system entirely and gave it a much-needed shot in the arm. This includes some breaking changes, such as removing Tween Timelines but also introducing perfectly sequential Tween Chains and lots of other fun new features. Have a look at the following demos to see Tween Chains in action:

Tween Chain Chest demo (click the chest to open it)

Tweening Bats demo (click bats to 'kill' them)

Fishy Tween Chains

I've still got some more tests to do and a few docs to finish off, but on the whole, I'm very happy with the new tween system.

It's not all tweens, though! As I've been hanging out in Discord, lots of you have suggested really nice little enhancements to the API, several of which I have added. For example, you can use the new RenderTexture frame fill feature, which allows you to fill a Render Texture with a repeating frame:

RenderTexture Frame Fill demo

Or a subtle change to the Texture Manager 'addSpriteSheet' method, so you can now pass in a Texture instead of an Image, meaning you can use it to create sprite sheets from assets such as SVG files.

I've also redone the TimeStep class. This is the class responsible for controlling Request Animation Frame and SetTimeout. I removed a lot of redundant properties and reworked the game flow, so you can now set a fixed hard-cap FPS rate on your game, and it'll be respected without having to force the use of SetTimeout, as you had to do in the past! So if you are creating something more akin to a graphical tool, or a really low-intensity game, you can lock the frame rate at, say, 30 fps, and it'll only update and render at this speed.

There are a few more tasks left on my list, including performance testing on iOS16, so I cannot give a definite release date - yet I hope you can tell from the commit log that I've been hard at work (as much as my health currently allows!)

There are likely to be a couple more beta releases before the final v3.60. For comparison, v3.50 went up to beta 12 before release, so this is quite typical for Phaser.

Please do join us on Discord and send me your feedback, or open an issue on GitHub.

Hi everyone!

First of all - thank you so much for the kind comments resulting from my previous post. I'm doing a lot better now, and while still not at 100% health, I'm still managing to get a good amount of coding done every day.

And you can see the result of that today with the 3.60 Beta 10 release :)

Grab it from the GitHub releases page or from npm.

Dist files are available, and I spent a long time getting the new TypeScript defs building without error for Beta 10, too. They can be found in the GitHub repo as per usual.

I've done a huge amount of work across the API in this release, but the biggest change has been with Tweens. I overhauled the Tween system entirely and gave it a much-needed shot in the arm. This includes some breaking changes, such as removing Tween Timelines but also introducing perfectly sequential Tween Chains and lots of other fun new features. Have a look at the following demos to see Tween Chains in action:

Tween Chain Chest demo (click the chest to open it)

Tweening Bats demo (click bats to 'kill' them)

Fishy Tween Chains

I've still got some more tests to do and a few docs to finish off, but on the whole, I'm very happy with the new tween system.

It's not all tweens, though! As I've been hanging out in Discord, lots of you have suggested really nice little enhancements to the API, several of which I have added. For example, you can use the new RenderTexture frame fill feature, which allows you to fill a Render Texture with a repeating frame:

RenderTexture Frame Fill demo

Or a subtle change to the Texture Manager 'addSpriteSheet' method, so you can now pass in a Texture instead of an Image, meaning you can use it to create sprite sheets from assets such as SVG files.

I've also redone the TimeStep class. This is the class responsible for controlling Request Animation Frame and SetTimeout. I removed a lot of redundant properties and reworked the game flow, so you can now set a fixed hard-cap FPS rate on your game, and it'll be respected without having to force the use of SetTimeout, as you had to do in the past! So if you are creating something more akin to a graphical tool, or a really low-intensity game, you can lock the frame rate at, say, 30 fps, and it'll only update and render at this speed.

There are a few more tasks left on my list, including performance testing on iOS16, so I cannot give a definite release date - yet I hope you can tell from the commit log that I've been hard at work (as much as my health currently allows!)

There are likely to be a couple more beta releases before the final v3.60. For comparison, v3.50 went up to beta 12 before release, so this is quite typical for Phaser.

Please do join us on Discord and send me your feedback, or open an issue on GitHub.