Newsletter
Published on 15th July 2024
Welcome to Phaser World Issue 188
This issue we've got a brand new release of Phaser Editor, a new version of Phaser Beam (our shiny new renderer), matching fishies and a whole arsenal of guns. Sadly that's not "fish with guns", although I reckon there's an interesting game concept there. Let's dive in ...
Game of the Week
Sea Match
A challenging underwater puzzle adventure with timed levels and unique match-3 mechanics.
Arsenal Online
High-octane 2D shooter. Put your shooting skills to the test with over 200 weapons and attachments. Play solo or co-op online!
Phaser Mario tutorial
Deliver pizza to various characters.
Books turned into games with AI
Our recent jam had devs use Rosebud AI to create games from literary works, and these are the results.
Word Search Classic Word Puzzle Game
Connect letters to uncover every word on the board. Brain training has never been easier - or more relaxing.
Newsletter Mini Survey:
Would you consider using game templates to speed up development? (Click one of the buttons below)
Phaser Editor v4.1.0 Released
Introducing native installers, easy to use templates, visual particle emitters, dependency installation and more in the largest Phaser Editor update this year.
Phaser Beam Technical Preview 3
Explore the latest advancements in the new Phaser renderer, featuring improved Game Objects, enhanced lighting, TileSprites and many more features!
How to load assets via JSON
Scott Westover's New YouTube Tutorial: Efficiently Load Game Assets in Phaser 3 Using External JSON Configurations.
First Look at the New Phantasmagoria 2.1 version
Paul and Daniel Albu will unveil the new and improved version of Daniel's brilliant Phantasmagoria: A Puzzle Of Flesh fan game (currently titled Phantasmagoria 2.1).
Grid Engine
Add grid movement to your game, use with Phaser or standalone.
Rich:
Hey all - last week was pretty intense, to say the least! A new release of Phaser Editor and a new release of Phaser Beam. Plus Zeus and Nexus both advancing and Phaser v3.85 nearing release. We've also got a brand new website being built. So yeah, lots going on.
Our main objective for the rest of July is to get Phaser v3.85 released. There are only a handful of high-priority issues left to resolve, but we also need to update the Editor and all of our templates and tutorials to ensure they're all in sync. Gone are the days when I could just stick a smiley in the change log and hit 'publish' :) Beyond this, we need to plan how Phaser Beam fits in. Obviously, it's our brand new renderer and has been built specifically for the current version of Phaser - however, I firmly believe that simply pushing it out under a '3.90' version number is massively undermining the months and months of hard work that has gone into it. Maybe v3.100 would be a big enough signifier? Maybe it needs to be v4? Right now it's not entirely clear, but it contains some seriously top-tier rendering architecture - this ain't your Dad's Phaser anymore. And whatever we do needs to reflect that.
All the same, it's a nice choice to have :)
Mart: Hi!
My name is Mart, I’m from Estonia (UTC +3) and I’m excited to join the team in the role of Content Manager!
My previous professional experience is in front-end development so this is a bit of a change of pace for me, but I think my experience as a developer will help me speak to other developers as well.
My role here will focus on defining and executing Phaser’s content strategy, along with producing written content for our audience.
I’m looking forward to getting to know you! My email is mart@phaser.io in case you want to discuss ideas for content or just to chat :)
Francisco: Greetings to all.
This week I continued my research with Tauri and now it's time to work with Linux.
For these tests, I created a virtual machine with Debian and made some scripts so that games compressed in .zip can be compiled into an executable.
As you can see, the compilation through a fairly basic virtual machine takes around 3-4 minutes, all depending on the size of the zip and the virtual machine.
Once the experiments with Tauri were completed, we decided to try Electronjs with the aim of comparing both technologies.
Electron produces a much larger package compared to Tauri (a difference of ~100MB) and this is due to the use of Chromium in Electron, while Tauri opts to use WebView2 for Windows and WebKit for macOS.
My experience with all these tests is that Tauri has done a good job of abstracting the Rust part in its basic configuration, and if you want more power, you can use Rust in the back-end, achieving good support with C/C++ packages and libraries.
Thank you very much for reading, happy coding.
Arian: Greetings Friends!
What a week! Finally, we have finished and released the latest version of Phaser Editor. This was an important release as it brought new features that you and we long awaited. Among them are a visual Particle Emitter editor and a new installer for our software, certified by Microsoft and Apple. I recommend that you read the release notes to learn everything new in the editor.
We immediately finished publishing version 4.1 of the editor and started working on the next version. We are currently working on enabling the editor with the necessary configurations that allow it to integrate into corporate environments, where VPNs and proxies are frequent.
The next version of the editor will have a lot of this, new features focused on the different environments our customers work in. However, this latest version has a lot to cut through, so if you have any questions or ideas, you can talk to us on our Discord channel #phaser-editor.
Can:
This week, we've taken a deep dive into the world of web animations, particularly focusing on SVG paths and general animation techniques. Our journey has led us to explore more complex examples, testing the limits of what modern browsers can handle. This process has been both challenging and enlightening, as we've uncovered new ways to optimize and enhance our animations to ensure smooth performance across different platforms.
Before Web Animations API, I've implemented CSS Path animation feature for SVGs. Basic example would be:
We create our SVG Path, we get total length of stroke, and voila! As you can see, we can also merge both CSS/WAAPI with our Tween system! Pretty cool, isn't it?
Stay tuned as we continue to push the boundaries and bring you more exciting updates in the world of web animations!
Zeke: Greetings, esteemed code masters and digital alchemists,
Once more, the Builders and Bug Busters Squad emerges from the trenches of tangled syntax and labyrinthine logic to regale you with the chronicles of our weekly skirmishes.
This week's saga (July 12, 2024)
[ The Bug Chronicles ]
Unresolved Mysteries: 1
It has come to our attention, dear reader, that a critical report of memory leakage when using preFX and a Spine object within the same scene has surfaced. This nefarious issue, we have discovered, is due to the Spine plugin itself. Our team is currently entrenched in investigating its root cause and strategizing ways to overcome this issue.
Backlogged Issues: 1
Ah, the sweet allure of the future! We are drafting grandiose plans to overhaul and improve the existing Phaser documentation—a Herculean task, considering we have over 2000 source code files cluttering our proverbial desk.
Bugs Exterminated: 3
Firstly, creating new Tilesprites with a width or height of 0 led to the unfortunate circumstance of a Tilesprite expanding to the full dimensions of the applied texture. Setting a width or height of 0 will now only match the appropriate horizontal or vertical dimension of the texture.
Secondly, BitmapText was exhibiting two curious quirks. When setting maxWidth on a BitmapText and ending a line with a white space, the white space threw a tantrum, causing the following line to ignore the maxWidth boundary entirely. Additionally, only the second line of text had the audacity to claim prominence by overlapping the first. Swift discipline was delivered. After a brief period of sulking and lamentation, white spaces and second lines have now returned to their former cheerful state.
[ The Feature Forge ]
Shiny New Features: 0
Alas, the well of new features ran dry this past week. The bugs proved to be wily adversaries, evading our every attempt at extermination.
In conclusion, dear reader, let us march forward with unwavering determination. The path to game development glory is fraught with trials. Keep the faith, keep coding, and remember: the game must go on!
Ben: 2024-07-12
This week, I've been prioritizing features for Technical Preview 3 of the new renderer. This shows a greater range of game objects - in fact, with a few exceptions, they're all there. The next phase of development concerns post-processing: masks, FX, and other things that happen after the game objects have done their bit. We're just missing Shader, RenderTexture, and the Mesh family of objects, all of which have complexities better suited to the next phase.
And it was a full week. On Monday I implemented self-shadowing in our light shader, based on a really sophisticated technique called Bent Normals. We're not actually using bent normals, though! We're faking it, by combining the regular normal map with the implied shadows of the regular texture itself. This allows us to guess the concavity of the surface, and cut off light that is likely to hit something on the way in. It's a neat option for adding a touch of realism to your scenes. (And it is an option; because of all the guesswork involved, you need to set it up for your assets.)
On Tuesday I got Rope working. Now it supports batching! If you haven't used Rope yet, don't sleep on it - it's not just a rope; you can use it for elegant trails and sparks and all sorts of things.
On Wednesday I got TilemapLayers working. Tiles are pretty fundamental. We've got some ideas for improving them, but for now they work fine. They support self-shadowing lighting, too, if you've got the normal maps.
Finally, I got TileSprites working. More than working, actually. TileSprites historically had a lot of technical restrictions, and they're all gone now. The previous version used GL texture wrapping to tile the texture repeatedly, so it couldn't use texture atlases, or animations, or compressed textures... it was pretty limited. The new version supports everything! Oh, and you can rotate the tiles too. This is all due to a new shader and a lot of matrix algebra.
As you can see, this isn't just a new renderer. It's an improvement to just about everything: speed, quality, flexibility. I'm really happy with its capabilities, and look forward to the day when it's ready to share in full!
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