[HN Gopher] Bevy 0.3: game engine built in Rust ___________________________________________________________________ Bevy 0.3: game engine built in Rust Author : _cart Score : 94 points Date : 2020-11-03 21:04 UTC (1 hours ago) (HTM) web link (bevyengine.org) (TXT) w3m dump (bevyengine.org) | adamnemecek wrote: | You guys should also check out rg3d | https://github.com/mrDIMAS/rg3d | | Join the discord channel https://discord.gg/xENF5Uh | _cart wrote: | Author here. I'm happy to answer any questions you have about | Bevy! | kiliancs wrote: | I enjoyed reading this release announcement. Thanks for all the | details. | ffhhj wrote: | Great work! I have developed games in several game engines, but | I'm new to Rust. Can it run inside a WebView and communicate | with Java (Android) thru a JS interface? That would be awesome. | Vermeulen wrote: | Any plans for scripting/logic other than Rust? I can't imagine | it working well to quickly iterative on gameplay | gameswithgo wrote: | The developers of EVE Online had this same thought, about | C++, so they used python as the gameplay scripting language. | A few years later faced with unsolveable performance issues | with large scale battles they had to resort to slowing down | time by a factor of 4, during large scale battles. | | Just a single anecdote but can be important to keep in mind. | As well, some types of scripting languages can have their own | productivity problems as projects get large. Lack of types | making code hard to follow, bugs harder to track down, | refactors riskier etc. | _cart wrote: | Rust isn't inherently slow to iterate, its just easy to write | code that compiles slowly if you aren't careful. One of | Bevy's primary focuses is to have fast iterative compile | times. Changes to our examples can be recompiled in ~0.8-3 | seconds (according to your hardware, os, and linker). We have | a "fast compiles" configuration that works quite well. | | First we do plan on exposing hooks to allow scripting | languages to be plugged in to Bevy. We actually already have | a pull request out for that. | | However my default answer to the scripting question is that | it is a non-goal for Bevy, and is in fact maybe even an anti- | feature. I want Rust to be the "one language" people use to | build Bevy games. I think a cohesive ecosystem is an | incredibly important part of an engine's success. If half of | Bevy devs use rust and the other half use C#, then | compatibility and interop become a huge problem. The Rust | language choice does set a high bar, but Bevy doesn't need to | be all things to all people. Additionally, the Bevy API is a | Rust API. Defining FFI on top means we need a second api | surface that is the "lowest common denominator" (aka a C | api). This both increases maintenance burden and creates the | "rust experience" and the "everyone else" experience. | | In the near future 3rd party Bevy scripting plugins will | start popping up, but I doubt I will ever officially endorse | them. | _cart wrote: | I also think on of the major selling points of Bevy is that | "bevy game devs" are actually "bevy engine devs" ... they | just don't know it yet. Bevy is implemented using the same | plugin interface that games use, which blurs the line | between engine code and game code. | | Adding scripting languages into the mix removes this | benefit and cuts down on the number of people capable of | contributing back to the engine. | nahuel0x wrote: | what about using rust for scripting but compiled to wasm, | so beavy can (hot-re)load wasm modules? | dang wrote: | Related threads from recent months: | | https://news.ycombinator.com/item?id=24123283 | | https://news.ycombinator.com/item?id=24334307 | | https://news.ycombinator.com/item?id=24123283 | victoriasun wrote: | Man, you guys really kill it with blog/changelog announcements. | Great job! | barnabees wrote: | How does this compare to Amethyst or Piston? | _cart wrote: | (author here) | | Here is a link to a conversation we had about this in the | Amethyst community: https://community.amethyst.rs/t/bevy- | engine-addressing-the-e... | mrmonkeyman wrote: | Nice engine, but Rust's edit-compile-test-cycle is more like 5 | minutes than 5 seconds which, to me, is ridiculous for game dev | which by its nature demands more and faster experimentation than | other lines of work. | jokethrowaway wrote: | That's a great pace of changes! | | For my use case, Bevy web (and mobile is nice too) support would | mean switching from Godot, 100%. | | It will be interesting to see if cross platform support will | trickle down to amethyst (I think they share the gfx upstream), | who is currently migrating to a faster ECS library (legion). | | Exciting times! | runevault wrote: | Isn't Legion more different then just faster? Last I heard the | big change was switching to an archetype based ECS which gains | speed in some scenarios but does worse if you regularly | add/remove components (so temporary effects are just a | component you add for a brief time then remove). ___________________________________________________________________ (page generated 2020-11-03 23:00 UTC)