phaser
bevy_mod_scripting
phaser | bevy_mod_scripting | |
---|---|---|
7 | 5 | |
36,421 | 352 | |
0.7% | - | |
9.8 | 7.9 | |
5 days ago | 15 days ago | |
JavaScript | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
phaser
- Alternatives to Flash Player for Videogame Coding?
-
3 years of fulltime Rust game development, and why we're leaving Rust behind
If you're targeting the browser first why not use a browser first library like PhaserJS [0]?. I don't see a reason to work around with WASM; HTML5 canvas might be everything that you need.
[0] https://phaser.io/
-
Gamedev.js Jam 2024 start and theme announcement!
Gold : GitHub, Phaser Studio, Arcadia
-
Introduction to JavaScript: Empowering Web Development with Interactivity
Versatility: JavaScript is not limited to web browsers. It's used in a variety of environments, including mobile app development (using frameworks like React Native), game development (using libraries like Phaser), and even serverless computing (using platforms like AWS Lambda).
-
A developer portfolio as a 2D top-down walking simulator
This reminds me of my first real dev job, 10y ago, making small facebook games with https://phaser.io it was actually kind of fun now that I think back.
-
Aftermath of switching from VSCode to Neovim
Is it worth it? I think while attempting to create a game engine with the Canvas API and vanilla JavaScript. (I quickly ditched that idea and started using PhaserJS)
-
Phaser: A fast, fun and free open source HTML5 game framework
I didn't try to build anything with Phaser, but I evaluated it a bit when trying to pick a game engine for a 2D web game.
The tech didn't impress me that much, but it also seemed like the most mature 2D game engine available in JS.
Notably, Phaser 4 was announced ~four years ago and was an attempt to get the project written natively in TypeScript. It looks pretty dead in the water - https://github.com/phaserjs/phaser and having a "best effort" TypeScript experience layered onto Phaser 3 didn't excite me.
Additionally, with browsers gaining support for WebGPU, I expect any game engine worth their snuff to begin rapidly adopting support for WebGPU. As best I can tell, any hope of Phaser supporting WebGPU is lumped into Phaser 4, so... not much to say there.
Overall, it was a little tough for me to tell if I was being overly critical and viewing a mature product as a ghost town, but that's the impression I took away from it.
As far as I can tell, BabylonJS is king in town for a TypeScript game engine, but its focus is 3D experiences. I didn't find an especially compelling 2D game engine. I ended up making a prototype using React + PixiJS + React-Pixi, but that was hardly an engine and had significant performance issues.
Now I am building in Rust with Bevy. It's slow going, creating UI elements sucks right now, but the underlying tech is super solid and I feel good about what I write and what I learn even if I'm dismayed at the pace in which I am creating.
bevy_mod_scripting
-
3 years of fulltime Rust game development, and why we're leaving Rust behind
As someone who's become a core contributor to Bevy lately, while also doing contract work in Unity on the side, I obviously disagree with the idea that Rust isn't up to the task of game dev. The grass isn't greener on the Unity side, with a mountain of technical debt holding the engine back. (They're still using Boehm GC in 2024!) Bevy is a breath of fresh air just because it's relatively new and free of legacy. Using Rust instead of C++ is just one part of that. Bevy has a more modern design throughout: for instance, it has a relatively straightforward path to GPU-driven rendering in an integrated system, without having to deal with three incompatible render pipelines (BiRP, HDRP, URP).
What I find more interesting is the parts of the article that boil down to "Rust isn't the best language for rapid development and iteration speed". And that may well be true! I've long thought that the future of Bevy is an integrated Lua scripting layer [1]. You don't even need to get into arguments about the suitability of the borrow checker: it's clear that artists and designers aren't going to be learning Rust anytime soon. I'd like to see a world in which Rust is there for the low-to-mid-level parts that need performance and reliability, and Lua is there for the high-level logic that needs fast iteration, and it's all a nicely integrated whole.
Long-term, I think this world would actually put Bevy in a better place than the existing engines. Unity forces you into C# for basically everything, which is both too low-level for non-programmers to use and too high-level for performance-critical code (unless you have a source license, which no indie developer has). Unreal requires C++, which is even more difficult than Rust (IMO), or Blueprints, which as a visual programming language is way too high-level for anything but the simplest logic. Godot favors GDScript, which is idiosyncratic for questionable gain. I think Rust and Lua (or something similar) would put Bevy in a Goldilocks spot of having two languages that cover all the low-, mid-, and high-level needs well.
As for the other parts of the article, I disagree with the ECS criticism; ECS has some downsides, but the upsides outweigh the downsides in my view. I do agree that Bevy not having an official editor is an ongoing problem that desperately needs fixing. Personally, I would have prioritized the editor way higher earlier in Bevy's development. There is space_editor [2] now, which is something.
[1]: https://github.com/makspll/bevy_mod_scripting
[2]: https://github.com/rewin123/space_editor
- Open call for maintainers: bevy_mod_scripting
-
Bevy 0.10: data oriented game engine built in Rust
So far, there are promising experiments like https://github.com/makspll/bevy_mod_scripting, but nothing's really caught fire in the community yet.
-
Fyrox Game Engine 0.29
Interesting. Personally I find Rust-only pretty appealing, but people definitely have differing opinions: https://github.com/makspll/bevy_mod_scripting
- Repos using rlua/mlua
What are some alternatives?
kaboom.js - 💥 JavaScript game library
Blightmud - A terminal mud client written in Rust
Excalibur - 🎮 Your friendly TypeScript 2D game engine for the web 🗡️
bevy-inspector-egui - Inspector plugin for the bevy game engine
cocos-engine - Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-performance, engaging 2D/3D games and instant web entertainment.
kayak_ui
Godot - Godot Engine – Multi-platform 2D and 3D game engine
tealr_doc_gen - an online documentation generator for apis written with tealr
A-Frame - :a: Web framework for building virtual reality experiences.
lotus - :zap: Fast Web Security Scanner written in Rust based on Lua Scripts :waning_gibbous_moon: :crab:
melonJS - a fresh, modern & lightweight HTML5 game engine
bevy_async_task - Cross-platform ergonomic abstractions for async programming in Bevy.