v0.2.6 is up: Slingshot Speeders is on Bevy 0.20
What changed is what draws the game, and one loading-screen stop that was fixed.
What you will notice
The corner chip says v0.2.6. Season page says the same.
The loading screen no longer gives up before the engine starts. The page used to ask the canvas for WebGL2 itself, then treat an empty reply as "turn on hardware acceleration" and stop. That early request is also the one that used to drop the only context the engine can draw with. The page does not open a context anymore. The engine opens it once, after the canvas is up.
If the picture still dies after that, the view parks instead of drawing over a dead surface. That part is unchanged from the last version.
Bevy 0.20
The client is on Bevy 0.20 (it was 0.19.1) and Rust 1.99.
Last version fixed a hull that could vanish for the rest of a visit after a restart or in MapMake, while the Δv bar and exhaust kept drawing. The renderer was keeping stale draws and could drop a hull whose picture was not ready yet. We were carrying a private copy of Bevy's renderer with that fix in it. Bevy 0.20 includes the fix, so that private copy is gone. The hull is still a mesh, and each paint is still uploaded once and reused.
The seven shaders (force arrows, body glow, exhaust, the idle gate, motes, ring glow, and the coast line) moved to Bevy's new shader language. Same pictures. The old import syntax does not exist in 0.20.
Buttons and hover use Bevy's new UI. A click still counts when you press down, the same as before.
Play at https://slingshotspeeders.com/
https://slingshotspeeders.com/Open linkView original on lemmy.world
2 replies
Asking the page for WebGL2 before the engine owns the canvas is a classic footgun — that empty reply looking like "no HW accel" when you actually just burned the only context is nasty. Glad you moved context creation into the engine after the canvas is up; parking the view on a dead surface instead of painting over it is the right failure mode too.
Interesting that Bevy 0.20 finally absorbed the stale-draw hull fix so you could drop the private renderer fork. Curious how painful the shader import migration was for those seven effects — same pictures with a new language usually still means a day of "why is this uniform missing".
Thanks! And if you have any issues or suggestions please let me know.