{"author":"przmk","children":[{"author":"_cart","children":[{"author":"andrewmcwatters","children":[{"author":"ncallaway","children":[{"author":"andrewmcwatters","children":[{"author":"CooCooCaCha","children":[],"created_at":"2023-11-04T20:17:48.000Z","created_at_i":1699129068,"id":38144726,"options":[],"parent_id":38144664,"points":null,"story_id":38144417,"text":"I think it depends on how the developer views 0.x releases. In Bevy&#x27;s case there has been discussions around backwards compatibility and I think it&#x27;ll happen but right now it doesn&#x27;t make sense until the major systems are in place.<p>My impression from being in the community for awhile is that the devs don&#x27;t want to perpetually stay with 0.x releases. It&#x27;s just that a game engine is a big thing with a lot of moving parts.","title":null,"type":"comment","url":null},{"author":"unshavedyak","children":[],"created_at":"2023-11-04T20:25:15.000Z","created_at_i":1699129515,"id":38144776,"options":[],"parent_id":38144664,"points":null,"story_id":38144417,"text":"&gt; What will most likely happen is that there with be large subsets of Bevy users who never use a formally stable Bevy codebase, and then leave for something different, because there are no guarantees.<p>But naming it 1.0 won&#x27;t give them guarantees either. If it&#x27;s assumed, it would just be annoying when breakages do occur. What you&#x27;re really asking for (it sounds like) is for there to be less breakages or longer term releases .. and that&#x27;s a staffing issue imo.<p>If users avoid it because they don&#x27;t want churn, and the devs are choosing churn - then everyone is in agreement currently, no? The bevy devs are writing software in a way that fits them currently, and users who prefer to wait for 1.0 are doing so currently. Everyone gets as advertised.<p>Do you see it working differently?","title":null,"type":"comment","url":null},{"author":"ncallaway","children":[],"created_at":"2023-11-05T00:00:05.000Z","created_at_i":1699142405,"id":38146542,"options":[],"parent_id":38144664,"points":null,"story_id":38144417,"text":"&gt; What will most likely happen is that there with be large subsets of Bevy users who never use a formally stable Bevy codebase, and then leave for something different, because there are no guarantees.<p>But you haven&#x27;t asked for them to release a formally stable Bevy codebase. You just asked them to change to a 1.0 version that implicitly promises a stable codebase. You specifically asked:<p>&quot;and if you plan on breaking it quarterly, just be upfront with people and move through major versions.&quot;<p>That&#x27;s not being up-front with people. A game-engine that breaks quarterly absolutely isn&#x27;t ready to be versioned with a major-version. As I said in response to your first post, a &quot;0.x&quot; versioning system *is* being up-front with people.<p>If instead of suggesting: &quot;can you switch to a 1.0 major version that you increment quarterly&quot;, you&#x27;re instead suggesting: &quot;can you stabilize the API and not release breaking changes quarterly&quot; I think those are two entirely different requests. Your first post made the former request, which is what I was responding to.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:10:10.000Z","created_at_i":1699128610,"id":38144664,"options":[],"parent_id":38144623,"points":null,"story_id":38144417,"text":"What will most likely happen is that there with be large subsets of Bevy users who never use a formally stable Bevy codebase, and then leave for something different, because there are no guarantees.<p>Maintainers of all sorts of different projects also signal to their users their investment value in working with a large critical dependency.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:05:51.000Z","created_at_i":1699128351,"id":38144623,"options":[],"parent_id":38144554,"points":null,"story_id":38144417,"text":"&gt; and if you plan on breaking it quarterly, just be upfront with people and move through major versions.<p>Isn\u2019t that exactly what a 0.x version means? This seems far more up front with people that releasing a 1.0 that bumps to 2.0 3 months later.<p>I think until the engine is baked enough that the API avoids breaking changes for years at a time it should remain pre 1.0.","title":null,"type":"comment","url":null},{"author":"alice-i-cecile","children":[{"author":"epage","children":[],"created_at":"2023-11-04T23:46:17.000Z","created_at_i":1699141577,"id":38146455,"options":[],"parent_id":38144892,"points":null,"story_id":38144417,"text":"I&#x27;m hoping public&#x2F;private dependencies RFC will help some. One idea we have for a follow up is to declare that you should get the version req for one crate from another.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:38:33.000Z","created_at_i":1699130313,"id":38144892,"options":[],"parent_id":38144554,"points":null,"story_id":38144417,"text":"We&#x27;ve discussed this pretty recently on GitHub [0].<p>I&#x27;m personally in favor of shipping 1.0 within the next year or so.\nThe most interesting part of that to me is figuring out how to decouple the crates without creating major confusion, in order to reduce trivial plugin churn.<p>For the most part, this is just marketing and semantics, but Bevy is nearly ready for commercial users and we should start communicating that. Quite a few brave users are already <i>building</i> production games (and non-games), and feedback is generally very good! [1]<p>[0]: <a href=\"https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;discussions&#x2F;9789\">https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;discussions&#x2F;9789</a>\n[1]: <a href=\"https:&#x2F;&#x2F;github.com&#x2F;Vrixyz&#x2F;bevy_awesome_prod\">https:&#x2F;&#x2F;github.com&#x2F;Vrixyz&#x2F;bevy_awesome_prod</a>","title":null,"type":"comment","url":null},{"author":"earthling8118","children":[],"created_at":"2023-11-05T16:28:45.000Z","created_at_i":1699201725,"id":38152572,"options":[],"parent_id":38144554,"points":null,"story_id":38144417,"text":"It can be communicated when it becomes stable and goes to 1.0.0 for the version. Until then it shouldn&#x27;t dare move past 0.x.0 just because people think it should.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T19:57:30.000Z","created_at_i":1699127850,"id":38144554,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Have you considered moving off of 0.x.x? You have people consuming this software, it&#x27;s public, and if you plan on breaking it quarterly, just be upfront with people and move through major versions.<p>L\u00d6VE made the same mistake for years, and their version history looks odd as a result due to the sudden jump from 0.10 to 11.0.<p>You&#x27;ll be working on Bevy for years. When do you decide it&#x27;s ready for public &quot;stable&quot; usage, and how do you plan on communicating this to users?","title":null,"type":"comment","url":null},{"author":"Tade0","children":[{"author":"przmk","children":[{"author":"pests","children":[{"author":"IceSentry","children":[],"created_at":"2023-11-04T22:20:08.000Z","created_at_i":1699136408,"id":38145772,"options":[],"parent_id":38145036,"points":null,"story_id":38144417,"text":"The UI framework will be bevy_ui just like godot uses godot ui library. What needs to be done is improve it so it can actually work for making a complex app.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:56:20.000Z","created_at_i":1699131380,"id":38145036,"options":[],"parent_id":38144638,"points":null,"story_id":38144417,"text":"Yep. Built with Bevy similar to how Godot is self-hosted. They are still figuring out the details like which UI framework to use and how to save scenes. Which abstractions to introduce - nodes like Godot, objects+components like unity, etc? Then debate on how &quot;prefabs&quot; are designed - are they just bundles? Entity and component serialization.... Tons of architectual decisions.<p>It&#x27;s coming together.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:07:25.000Z","created_at_i":1699128445,"id":38144638,"options":[],"parent_id":38144627,"points":null,"story_id":38144417,"text":"Not the author but there&#x27;s a Bevy Editor on the roadmap.","title":null,"type":"comment","url":null},{"author":"_cart","children":[{"author":"Tade0","children":[],"created_at":"2023-11-04T21:03:27.000Z","created_at_i":1699131807,"id":38145090,"options":[],"parent_id":38144832,"points":null,"story_id":38144417,"text":"Oh wow, that is a <i>detailed</i> post. Thank you for your hard work!","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:30:55.000Z","created_at_i":1699129855,"id":38144832,"options":[],"parent_id":38144627,"points":null,"story_id":38144417,"text":"Yup! The Bevy Editor is our current highest priority. The first step is building out a new Scene &#x2F; UI system that will serve as the foundation for the editor (as the Bevy Editor will be built as a Bevy App).<p>I have a post about this (with working prototypes) here: <a href=\"https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;discussions&#x2F;9538\">https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;discussions&#x2F;9538</a>","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:06:25.000Z","created_at_i":1699128385,"id":38144627,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Any chance for some sort of &quot;Bevy Studio&quot; app to appear in the future?<p>It&#x27;s not that I don&#x27;t like programming, I&#x27;m just brutally time-constrained (kids).","title":null,"type":"comment","url":null},{"author":"sdwr","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T20:39:23.000Z","created_at_i":1699130363,"id":38144897,"options":[],"parent_id":38144634,"points":null,"story_id":38144417,"text":"Bevy tries to have its cake and eat it too. We have a large, opinionated featureset (ex: how should rendering code look, high level materials, sprites, meshes, animation, scenes, etc) where everything works nicely together. However we are extremely modular to the point that you can do pretty much anything in Bevy. People build their own renderers, do command line only terminal UIs, custom UI systems, etc etc.<p>We make tradeoffs all the time. We prioritize accessibility &#x2F; developer UX to a pretty high degree. But this very rarely means cutting features. The hard part is generally _how_ we expose a feature, not _if_.<p>&quot;What is the &quot;ideal&quot; project to use bevy for right now?&quot;<p>Bevy is well suited to many project types. The biggest missing piece is a lack of a visual editor (we are working on this, and while you wait you can use programs like Blender or ldtk to compose your scenes). I&#x27;d say the ideal project is (1) Small-to-medium-sized in scope, to help mitigate the risk of using a younger engine (2) doesn&#x27;t need a full Bevy Editor &#x2F; can get away with code driven or external-editor-driven scenes.","title":null,"type":"comment","url":null},{"author":"alice-i-cecile","children":[],"created_at":"2023-11-04T20:46:43.000Z","created_at_i":1699130803,"id":38144964,"options":[],"parent_id":38144634,"points":null,"story_id":38144417,"text":"Yeah, that&#x27;s not a bad way to describe its positioning.<p>Currently not a lot of batteries included: the experience is much more like &quot;writing a web app using a framework&quot; than it is &quot;boot up RPG Maker&quot;.<p>Generally speaking, Bevy is extremely flexible, with pretty generous defaults for enabled features to let beginners avoid worrying about toggling feature flags and controlling plugins.<p>In game engine development, features are typically strictly additive, so features vs developer accessibility isn&#x27;t a great way to frame the tradeoff. Instead, we often push work into the third-party plugin ecosystem to ease maintenance burden or let it mature.<p>As for the ideal project, I would either say &quot;solo programmer who wants to learn  Rust and game dev for fun&quot;, or &quot;small, serious team looking to build an unusual systems-heavy game&quot;.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:06:56.000Z","created_at_i":1699128416,"id":38144634,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Thanks for posting - hobby game dev here, know just enough to be dangerous.. if I was going to start a new project, it would be in your engine, seems like it splits the diff between Love + Godot, more robust than Love, not as geared towards novices as Godot.<p>How opinionated is bevy? Have you ever had to make tradeoffs between features and developer accessibility?<p>What is the &quot;ideal&quot; project to use bevy for right now?","title":null,"type":"comment","url":null},{"author":"Buttons840","children":[{"author":"CooCooCaCha","children":[],"created_at":"2023-11-04T20:15:31.000Z","created_at_i":1699128931,"id":38144699,"options":[],"parent_id":38144679,"points":null,"story_id":38144417,"text":"The examples in the github repo are fantastic and cover a lot of ground. That&#x27;s usually my goto when trying to figure things out.","title":null,"type":"comment","url":null},{"author":"przmk","children":[{"author":"eximius","children":[{"author":"capableweb","children":[{"author":"eximius","children":[],"created_at":"2023-11-12T23:38:48.000Z","created_at_i":1699832328,"id":38245290,"options":[],"parent_id":38146336,"points":null,"story_id":38144417,"text":"The cheat book is written for some smeared set of versions since it&#x27;s inception. It is out of date for 0.11 as well. The effort to keep it up to date is somewhat low since Bevy changes so much an so often in its current development.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T23:30:17.000Z","created_at_i":1699140617,"id":38146336,"options":[],"parent_id":38146313,"points":null,"story_id":38144417,"text":"I mean, Bevy 0.12 was released... Yesterday.<p>Most pages are for version 0.11 or 0.12 already, and not much changed between the two versions besides the assets, if you already have a game written in 0.11. Together with the release notes, you&#x27;ll survive :)","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T23:27:28.000Z","created_at_i":1699140448,"id":38146313,"options":[],"parent_id":38144711,"points":null,"story_id":38144417,"text":"Unfortunately it&#x27;s somewhat out of date","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:16:47.000Z","created_at_i":1699129007,"id":38144711,"options":[],"parent_id":38144679,"points":null,"story_id":38144417,"text":"There&#x27;s an unofficial complement to the docs that covers a lot of different topics here: <a href=\"https:&#x2F;&#x2F;bevy-cheatbook.github.io&#x2F;introduction.html\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;bevy-cheatbook.github.io&#x2F;introduction.html</a>","title":null,"type":"comment","url":null},{"author":"_cart","children":[{"author":"oh_sigh","children":[],"created_at":"2023-11-04T22:50:12.000Z","created_at_i":1699138212,"id":38146029,"options":[],"parent_id":38145512,"points":null,"story_id":38144417,"text":"Nit: developers who use bevy should be called bevy devys.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T21:47:33.000Z","created_at_i":1699134453,"id":38145512,"options":[],"parent_id":38144679,"points":null,"story_id":38144417,"text":"Among Bevy contributors (including myself) there is a general hesitance to invest too much time in official learning material that will be obsolete by the next release. Bevy&#x27;s APIs are beginning to stabilize ... and the appetite (both from users and from Bevy devs) for official material is increasing. The time is coming (soon)!<p>While you wait, there are a sizeable number of tutorials on YouTube, and we have learning material linked in <a href=\"https:&#x2F;&#x2F;bevyengine.org&#x2F;assets&#x2F;#learning\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;bevyengine.org&#x2F;assets&#x2F;#learning</a> as well.","title":null,"type":"comment","url":null},{"author":"IceSentry","children":[],"created_at":"2023-11-04T21:55:41.000Z","created_at_i":1699134941,"id":38145589,"options":[],"parent_id":38144679,"points":null,"story_id":38144417,"text":"Bevy does have plenty of documentation here: <a href=\"https:&#x2F;&#x2F;docs.rs&#x2F;bevy&#x2F;latest&#x2F;bevy&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;docs.rs&#x2F;bevy&#x2F;latest&#x2F;bevy&#x2F;</a><p>What&#x27;s missing is tutorial type documentation, but individual features are generally documented.","title":null,"type":"comment","url":null},{"author":"GenericCanadian","children":[],"created_at":"2023-11-05T19:51:01.000Z","created_at_i":1699213861,"id":38154921,"options":[],"parent_id":38144679,"points":null,"story_id":38144417,"text":"I&#x27;ve been writing <a href=\"https:&#x2F;&#x2F;taintedcoders.com&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;taintedcoders.com&#x2F;</a> for a while and will be keeping it on the bleeding edge. Hope you find it useful.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:12:20.000Z","created_at_i":1699128740,"id":38144679,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"I&#x27;m put off by the limited docs. I&#x27;ve read the Bevy book, only takes a few minutes, and just like that I&#x27;m out of resources to turn to when I get stuck.<p>When will the docs improve? I look at the release notes and ideally every one of those features would have several pages of docs. I understand that&#x27;s a lot of work, and maybe things will have to stabilize before we get full docs?","title":null,"type":"comment","url":null},{"author":"mahulst","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T20:54:38.000Z","created_at_i":1699131278,"id":38145023,"options":[],"parent_id":38144692,"points":null,"story_id":38144417,"text":"Haha yeah we have a tendency to merge a lot of &quot;ready&quot; work near the end.<p>We do plan to have a thorough rendering guide. We&#x27;ve just been putting it off as the renderer has been (and still is) in flux. Once the dust settles a bit we&#x27;ll start investing in &quot;documentation on-ramps&quot;.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:14:11.000Z","created_at_i":1699128851,"id":38144692,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Sweet! Always a suprise to see how much ends up in a release. It seems like the last three weeks there are as much features merged as in the rest of the release window.<p>Technical question: will there ever be a guide that talks through how the rendering part of bevy works? The graph and all is great, but really difiicult to get into without the help of discord.","title":null,"type":"comment","url":null},{"author":"bigyikes","children":[{"author":"alice-i-cecile","children":[{"author":"Keyframe","children":[{"author":"CooCooCaCha","children":[{"author":"tormeh","children":[{"author":"Keyframe","children":[],"created_at":"2023-11-05T14:12:57.000Z","created_at_i":1699193577,"id":38151269,"options":[],"parent_id":38147033,"points":null,"story_id":38144417,"text":"Yes, exactly this with an added hurdle of Rust which isn&#x27;t supported by any of the mainstream consoles.","title":null,"type":"comment","url":null},{"author":"CooCooCaCha","children":[],"created_at":"2023-11-05T16:47:59.000Z","created_at_i":1699202879,"id":38152820,"options":[],"parent_id":38147033,"points":null,"story_id":38144417,"text":"An engine can be open source with proprietary extensions.","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T01:21:19.000Z","created_at_i":1699147279,"id":38147033,"options":[],"parent_id":38145361,"points":null,"story_id":38144417,"text":"The console toolchains are proprietary and locked behind NDAs. An engine cannot be both open source and support consoles. What it can (and Godot does) is have a closed-source version of the engine (or just plugins) that you are only permitted to license once Sony&#x2F;Nintendo&#x2F;MS has approved you. That version or those plugins can then contain the code required for the consoles.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T21:32:57.000Z","created_at_i":1699133577,"id":38145361,"options":[],"parent_id":38145232,"points":null,"story_id":38144417,"text":"That&#x27;s a big leap, what makes you say consoles are out of the question?","title":null,"type":"comment","url":null},{"author":"alice-i-cecile","children":[],"created_at":"2023-11-04T21:49:31.000Z","created_at_i":1699134571,"id":38145528,"options":[],"parent_id":38145232,"points":null,"story_id":38144417,"text":"Steam Deck functions great, Xbox is a well, maybe. Playstation and Switch are &quot;negotiate with the console owners&quot; situation.<p>Mobile is functional but immature, same with XR.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T21:18:56.000Z","created_at_i":1699132736,"id":38145232,"options":[],"parent_id":38145020,"points":null,"story_id":38144417,"text":"Also, consoles are out of the question, right? Well, maybe Xbox.. maybe. And what about mobile?","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:54:07.000Z","created_at_i":1699131247,"id":38145020,"options":[],"parent_id":38144727,"points":null,"story_id":38144417,"text":"I gave a talk about this recently![0]<p>But, to answer your question directly:<p>- Rust performance is comparable to C&#x2F;C++, but Bevy has had much less time to get optimized than C&#x2F;C++. Our ECS is fast, but slower than flecs, and our rendering performance is about Unity level IIRC.<p>- Safety &#x2F; correctness is a huge benefit. Memory safety is obviously nice for reducing horrible segfaults, but ultimately I end up really loving enums, traits and the ease of unit testing to make refactoring games (and the libraries they rely on).<p>- Talking to experienced game devs, velocity is quite good! Once you&#x27;re off the ground, a ton of your time comes from a) refactoring b) bug fixing c) adding bog-standard but tedious functionality like localization. I&#x27;ve talked about the first two, but Rust&#x27;s first class packaging ecosystem (and Bevy&#x27;s modularity) means that you can actually share work for that, rather than rewriting it at every company like you see in a lot of other game dev.<p>Gameplay features are wildly easy to write, but GUI creation is still miserably tedious with a fragmented ecosystem.<p>On development velocity, I will note that Linux&#x27;s compilation times for Rust are meaningfully better than Windows, although M1 Macs are compelling too. The lack of visual editor tooling definitely slows things down too, even though good ecosystem options for that are emerging.<p>[0]: <a href=\"https:&#x2F;&#x2F;elk.zone&#x2F;mastodon.gamedev.place&#x2F;@alice_i_cecile&#x2F;111349526299901979\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;elk.zone&#x2F;mastodon.gamedev.place&#x2F;@alice_i_cecile&#x2F;1113...</a>","title":null,"type":"comment","url":null},{"author":"pornel","children":[],"created_at":"2023-11-04T20:57:46.000Z","created_at_i":1699131466,"id":38145051,"options":[],"parent_id":38144727,"points":null,"story_id":38144417,"text":"You need to be comfortable with Rust <i>and</i> with ECS.<p>If you\u2019re coming from a GC language and `Player extends Entity` mutable OOP approach, you will have to completely re-learn how you architect games.<p>The upside is that Rust is pretty fast, and Bevy takes advantage of Rust\u2019s relatively easy multi-threading.","title":null,"type":"comment","url":null},{"author":"Thaxll","children":[{"author":"leetharris","children":[],"created_at":"2023-11-04T22:07:29.000Z","created_at_i":1699135649,"id":38145676,"options":[],"parent_id":38145331,"points":null,"story_id":38144417,"text":"Or JavaScript, surprisingly. Vampire Survivors is the most famous recent one. Pretty cool to think about.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T21:30:36.000Z","created_at_i":1699133436,"id":38145331,"options":[],"parent_id":38144727,"points":null,"story_id":38144417,"text":"The biggest disavantage is that no one uses Rust to create games, it&#x27;s all C++ or C#. So all the documentation, knowledge, libraries etc ... are missing and &#x2F; or different.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:17:58.000Z","created_at_i":1699129078,"id":38144727,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"What (dis)advantages does writing a game in Rust (with Bevy) have compared to other languages? Keen to hear about performance, safety, and dev velocity.","title":null,"type":"comment","url":null},{"author":"metabagel","children":[{"author":"_cart","children":[{"author":"metabagel","children":[],"created_at":"2023-11-04T20:34:40.000Z","created_at_i":1699130080,"id":38144864,"options":[],"parent_id":38144847,"points":null,"story_id":38144417,"text":"Thanks!","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:32:22.000Z","created_at_i":1699129942,"id":38144847,"options":[],"parent_id":38144824,"points":null,"story_id":38144417,"text":"Yup! Here is a Bevy example that simulates Conway&#x27;s Game Of Life in a compute shader:\n<a href=\"https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;blob&#x2F;main&#x2F;examples&#x2F;shader&#x2F;compute_shader_game_of_life.rs\">https:&#x2F;&#x2F;github.com&#x2F;bevyengine&#x2F;bevy&#x2F;blob&#x2F;main&#x2F;examples&#x2F;shader...</a>","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:30:00.000Z","created_at_i":1699129800,"id":38144824,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"I\u2019m a rank beginner at game programming, GPU programming, and Rust.<p>Is it possible to access compute shader functionality through Bevy &#x2F; Vulkan? Basically, offload arbitrary GPU appopriate calculations to the GPU?","title":null,"type":"comment","url":null},{"author":"echelon","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T21:32:43.000Z","created_at_i":1699133563,"id":38145356,"options":[],"parent_id":38144865,"points":null,"story_id":38144417,"text":"Thank you for the kind words! Messages like these are what help me push through the hard days.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:34:52.000Z","created_at_i":1699130092,"id":38144865,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"We&#x27;re building a fairly big WASM app in Bevy (relative to our company&#x27;s size), and it&#x27;s been a pleasure to work with the engine.<p>Bevy and the community are awesome. We needed a couple of tickets worked on, and it was so easy to find one of the core contributors to sponsor and push our request over the line (morph targets).<p>Thank you so much for everything, Carter! You&#x27;re building something incredibly important that has fantastic momentum behind it.<p>Bevy is wonderfully easy to deploy to the web, and people should be checking it out. The community is great, and it&#x27;s easy to find help.","title":null,"type":"comment","url":null},{"author":"flandish","children":[{"author":"_cart","children":[{"author":"flandish","children":[],"created_at":"2023-11-05T00:05:28.000Z","created_at_i":1699142728,"id":38146572,"options":[],"parent_id":38145916,"points":null,"story_id":38144417,"text":"Thanks! I\u2019ll give it a try!","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:36:07.000Z","created_at_i":1699137367,"id":38145916,"options":[],"parent_id":38145652,"points":null,"story_id":38144417,"text":"I suspect that as a visualizer for an emulator, Bevy would be a reasonable fit. You could use Bevy UI or build your own for the emulator interface. You might want to build a custom shader to display emulator outputs. You could also consider doing a custom renderer in Bevy if you see the need. Theres also always the option of dropping down a level and using a graphics api like wgpu (which is the &quot;low level&quot; api we use under the hood that allows us to target Vulkan &#x2F; DX12 &#x2F; Metal &#x2F; OpenGL &#x2F; WebGL2)","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:04:02.000Z","created_at_i":1699135442,"id":38145652,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Learning here - long time sw eng, but mostly back ends.  So I\u2019m starting down the emulator path.  Would this work with the display&#x2F;ui portion of an emu like an 8080&#x2F;chip8? Since the logic is in the opcodes, most of what I think is needed is displaying vram, ui, windowing (screen, options, stack etc). It is still fuzzy where \u201cui\u201d ends and \u201cgame engine\u201d begins.<p>Your pages are great and readable!","title":null,"type":"comment","url":null},{"author":"nextaccountic","children":[],"created_at":"2023-11-04T23:33:53.000Z","created_at_i":1699140833,"id":38146364,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"when we will see dynamic systems and other features necessary to unlock first class bevy scripting?<p>there are some scripting plugins (mainly focusing on rhai atm) but I feel that they are stonewalled by lack of proper bevy support<p>i mean regardless of whether the current bevy focus is in rust-only games, there is demand for scripting and people are already scrambling for third party solutions. I don&#x27;t expect to see first party bevy scripting just yet but I think that bevy should adopt foundations for third party crates to work with","title":null,"type":"comment","url":null},{"author":"gaganyaan","children":[],"created_at":"2023-11-05T00:55:58.000Z","created_at_i":1699145758,"id":38146875,"options":[],"parent_id":38144475,"points":null,"story_id":38144417,"text":"Thanks for creating and maintaining Bevy! Has there been much thought given to embedding Bevy in regular GUIs, say if I wanted to display a 3D model inside of an Iced app? I was only able to find things that worked the other way, embedding Iced in Bevy.<p>Maybe this would come as part of the Bevy editor that&#x27;s planned?","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T19:47:44.000Z","created_at_i":1699127264,"id":38144475,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Bevy&#x27;s creator and project lead here. Feel free to ask me anything!","title":null,"type":"comment","url":null},{"author":"liquidise","children":[],"created_at":"2023-11-04T20:16:47.000Z","created_at_i":1699129007,"id":38144710,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Fantastic release notes.<p>Perhaps some of this is too introductory for seasoned game&#x2F;engine developers, but as someone who doesn&#x27;t live in those worlds regularly i found this struck an excellent balance between discussing changes and explaining topics in a consumable way. Bravo!","title":null,"type":"comment","url":null},{"author":"_ahxg","children":[],"created_at":"2023-11-04T20:20:44.000Z","created_at_i":1699129244,"id":38144743,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Very cool!! On the last update 0.10 -&gt; 0.11, I had to make quite a few changes on my app, but this time it compiled out of the box!","title":null,"type":"comment","url":null},{"author":"devit","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T21:33:52.000Z","created_at_i":1699133632,"id":38145366,"options":[],"parent_id":38144869,"points":null,"story_id":38144417,"text":"Noted!","title":null,"type":"comment","url":null},{"author":"pcwalton","children":[],"created_at":"2023-11-05T21:11:08.000Z","created_at_i":1699218668,"id":38155686,"options":[],"parent_id":38144869,"points":null,"story_id":38144417,"text":"Interesting, I thought about this in the past but assumed it would be too slow. Do you know of any titles that have shipped with that technique?","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T20:35:11.000Z","created_at_i":1699130111,"id":38144869,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"The article claims that deferred rendering doesn&#x27;t support MSAA, but this is only true for a naive implementation.<p>You can, for example, generate a stencil mask of complex pixels in the prepass and use hierarchical early stencil reject to run a per-sample pass for complex pixels and a per-pixel pass for non-complex pixels (with imperfect SIMD lane utilization).<p>You can also use a pass to process the complex pixels mask and collect a buffer of (x, y, sample) coordinates to allow a later single hybrid per-pixel&#x2F;per-sample compute shader pass with perfect SIMD lane utilization.","title":null,"type":"comment","url":null},{"author":"plopz","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T21:39:55.000Z","created_at_i":1699133995,"id":38145424,"options":[],"parent_id":38145126,"points":null,"story_id":38144417,"text":"Yup I&#x27;ve seen this done before! You need to build a way to pass information to&#x2F;from the UI to Bevy. Plenty of ways to do this, both from the Rust (wasm) side (ex: web_sys) or the Javascript side (invoking wasm functions)","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T21:07:57.000Z","created_at_i":1699132077,"id":38145126,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"I was looking at the web examples and saw the ui section which seems to all be done inside the canvas. Is it possible to do the ui in the dom instead and hook it up to the wasm?","title":null,"type":"comment","url":null},{"author":"dcsommer","children":[],"created_at":"2023-11-04T22:38:26.000Z","created_at_i":1699137506,"id":38145942,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Amazing progress. Any updates on UI overhaul or planned timeline for it? I&#x27;m looking to make Bevy my go-to for GUI as well as for games (sometimes the line is blurred).","title":null,"type":"comment","url":null},{"author":"dist-epoch","children":[{"author":"_cart","children":[{"author":"ode","children":[{"author":"owenpalmer","children":[],"created_at":"2023-11-05T02:27:29.000Z","created_at_i":1699151249,"id":38147467,"options":[],"parent_id":38146271,"points":null,"story_id":38144417,"text":"just tried it, pretty fun game :)","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T23:22:12.000Z","created_at_i":1699140132,"id":38146271,"options":[],"parent_id":38146018,"points":null,"story_id":38144417,"text":"I just played Not Snake (<a href=\"https:&#x2F;&#x2F;ramirezmike2.itch.io&#x2F;not-snake\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;ramirezmike2.itch.io&#x2F;not-snake</a>) after finding it in the Bevy tag.\nIt&#x27;s pretty fun. I&#x27;ll definitely check out some of the other games there.<p>Keep up the good work.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:48:37.000Z","created_at_i":1699138117,"id":38146018,"options":[],"parent_id":38145947,"points":null,"story_id":38144417,"text":"Plenty!<p>Tiny Glade (<a href=\"https:&#x2F;&#x2F;pouncelight.games&#x2F;tiny-glade\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;pouncelight.games&#x2F;tiny-glade</a>) Super popular ... lots of social media presence. Uses Bevy ECS &#x2F; Bevy App + a custom renderer. <a href=\"https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;2198150&#x2F;Tiny_Glade&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;2198150&#x2F;Tiny_Glade&#x2F;</a><p>tunnet (<a href=\"https:&#x2F;&#x2F;puzzled-squid.itch.io&#x2F;tunnet\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;puzzled-squid.itch.io&#x2F;tunnet</a>)<p>Noumenal (<a href=\"https:&#x2F;&#x2F;noumenal.app&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;noumenal.app&#x2F;</a>)\nForesight Mining (<a href=\"https:&#x2F;&#x2F;www.foresightmining.com&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;www.foresightmining.com&#x2F;</a>) Mining &quot;CAD&quot; software. Employs a number of Bevy devs<p>Axie Infinity: Homeland (<a href=\"https:&#x2F;&#x2F;app.axieinfinity.com&#x2F;games&#x2F;homeland-alpha&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;app.axieinfinity.com&#x2F;games&#x2F;homeland-alpha&#x2F;</a>). Uses Bevy ECS + Unity\nShifting Chamber (<a href=\"https:&#x2F;&#x2F;maciekglowka.itch.io&#x2F;shifting-chamber\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;maciekglowka.itch.io&#x2F;shifting-chamber</a>)<p>Hytopia (<a href=\"https:&#x2F;&#x2F;hytopia.com&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;hytopia.com&#x2F;</a>)<p>Titleless Comfy City Builder (<a href=\"https:&#x2F;&#x2F;twitter.com&#x2F;i_am_feenster&#x2F;status&#x2F;1710714877231186323\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;twitter.com&#x2F;i_am_feenster&#x2F;status&#x2F;1710714877231186323</a>)<p>Molecoole (<a href=\"https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;1792170&#x2F;Molecoole&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;1792170&#x2F;Molecoole&#x2F;</a>)<p>Titleless industrial revolution builder (<a href=\"https:&#x2F;&#x2F;twitter.com&#x2F;ElmoSampedro&#x2F;status&#x2F;1684920884811698176\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;twitter.com&#x2F;ElmoSampedro&#x2F;status&#x2F;1684920884811698176</a>)<p>Jarl Game (<a href=\"https:&#x2F;&#x2F;twitter.com&#x2F;jarl_game\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;twitter.com&#x2F;jarl_game</a>) Dwarf Fortress-like with cool dynamic lighting<p>The &quot;bevy&quot; tag on itch.io has hundreds of games: <a href=\"https:&#x2F;&#x2F;itch.io&#x2F;games&#x2F;tag-bevy\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;itch.io&#x2F;games&#x2F;tag-bevy</a>\nAlso lots of activity in the #showcase channel on the Bevy discord.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:39:26.000Z","created_at_i":1699137566,"id":38145947,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"I saw a joke that there are 5 games written in Rust, and 50 game engines.<p>Is there a list of actual games written in Bevy?","title":null,"type":"comment","url":null},{"author":"tasubotadas","children":[{"author":"_cart","children":[],"created_at":"2023-11-04T22:44:38.000Z","created_at_i":1699137878,"id":38145985,"options":[],"parent_id":38145949,"points":null,"story_id":38144417,"text":"This is a reasonable &quot;broad strokes&quot; view of the lifecycle of a software project. But it could be applied to literally any claim about software simplicity &#x2F; ease-of-use, so I don&#x27;t find it to be a particularly helpful critique. The takeaway appears to be &quot;all easy-to-use software that adds features is doomed&quot;, which seems a bit dramatic.<p>Do you have specific ideas (or concerns) about how Bevy is architected (or how it adds new features)? We&#x27;re doing our best to avoid this fate.","title":null,"type":"comment","url":null},{"author":"jms55","children":[],"created_at":"2023-11-05T06:12:14.000Z","created_at_i":1699164734,"id":38148780,"options":[],"parent_id":38145949,"points":null,"story_id":38144417,"text":"I don&#x27;t disagree, but Bevy has something going for it that most other frameworks don&#x27;t - modularity. Not just in concept, but something that&#x27;s proven to actually work out well in practice.<p>Tiny glade is a game that uses bevy_ecs, but doesn&#x27;t use bevy&#x27;s rendering crates at all. Personally I have several WIP PRs that implement alternative rendering paths (raytracing, GPU-driven meshlet + visibility buffer rendering) and nothing internal to Bevy really changes. For users, again nothing really changes, they just add a FeatureFooPlugin to their app and then use FooComponent or whatever and it all works.<p>While individual crates&#x2F;plugins might get bloated, Bevy as a whole will be fine. Users can choose to ignore those plugins, and use something else that works better for them.<p>I would also like to point out that this is a game engine - by definition, they&#x27;re bloated and complex beasts, and absorb every feature under the sun because _someone_ will have a use case for some kind of game. The key is how the feature bloat affects ergonomics. It&#x27;s totally fine to have 1000 features, as long as you don&#x27;t _need_ to interact with most of them unless you want to.","title":null,"type":"comment","url":null},{"author":"shizzy0","children":[],"created_at":"2023-11-05T10:24:10.000Z","created_at_i":1699179850,"id":38149847,"options":[],"parent_id":38145949,"points":null,"story_id":38144417,"text":"I think the test is for this is whether the project is willing to break with the past to _keep_ the api simple, clean, and fast. You&#x27;re right that is easier for new projects who have no backward compatibility to speak of. From what I&#x27;ve seen bevy has a strong culture of demanding good ergonomics for the users and reducing the api surface, and maybe it&#x27;s thanks to rust&#x27;s packaging, but they&#x27;re very willing to break with the past to get it, which I appreciate.<p>The nice thing too is with cargo, should you ever commit to bevy, they can break the future, and you don&#x27;t have to chase a moving target. You can just stick to your version. But they also provide guides to make moving up to the latest and greatest easy. Or at least that&#x27;s been my experience as a bevy dabbler.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:39:38.000Z","created_at_i":1699137578,"id":38145949,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"&gt;Bevy is a refreshingly simple data-driven game engine built in Rust<p>All frameworks set out to be simple, clean, and fast implementations of something more established but they lack more fancy bells and whistles. Then as they catch up in features, they became the same complex beasts and the cycle repeats.","title":null,"type":"comment","url":null},{"author":"armchairhacker","children":[{"author":"CooCooCaCha","children":[],"created_at":"2023-11-04T23:02:19.000Z","created_at_i":1699138939,"id":38146123,"options":[],"parent_id":38146025,"points":null,"story_id":38144417,"text":"IDE has been planned for awhile and I believe it\u2019s top priority after this release.<p>Cart (the creator of bevy) believes bevy should be rust first. Personally I agree, but that doesn\u2019t mean people can\u2019t create plugins for various scripting languages. In fact there are some already.","title":null,"type":"comment","url":null},{"author":"paholg","children":[{"author":"felipellrocha","children":[],"created_at":"2023-11-05T00:54:02.000Z","created_at_i":1699145642,"id":38146866,"options":[],"parent_id":38146435,"points":null,"story_id":38144417,"text":"That is usually the case in Rust. One mostly deals with lifetimes in library code","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T23:43:50.000Z","created_at_i":1699141430,"id":38146435,"options":[],"parent_id":38146025,"points":null,"story_id":38144417,"text":"Bevy is structured in a way that you really don&#x27;t have to interact with the borrow-checker very much. Components and Resources will probably always use owned types, and Querys and Refs let you interact with them without having to worry too much.<p>I&#x27;ve been playing with Bevy a bit, and I just checked my repo; it has 0 lifetimes.","title":null,"type":"comment","url":null},{"author":"johnnyanmac","children":[{"author":"SkiFire13","children":[],"created_at":"2023-11-05T10:59:40.000Z","created_at_i":1699181980,"id":38150033,"options":[],"parent_id":38146576,"points":null,"story_id":38144417,"text":"It should also be mentioned that there are a bunch of ways to improve compile times. Bevy for example has a feature to compile itself as a dylib, which helps avoiding the cost of relinking everything together. The Cranelift backend for rustc will also help reducing compile times in debug mode. In Bevy&#x27;s case it could be used for the binary crate only, leaving Bevy itself and other dependencies built with optimizations and dynamically linked, while the binary crate gets rebuilt very quickly but with less optimizations.<p>Hot reloading still has a place for quickly prototyping thanks to not resetting the state of the running program, but this is a lot trickier to do with Rust. I think we&#x27;ll likely see better scripting support (with hot reload for the scripts) instead.","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T00:06:14.000Z","created_at_i":1699142774,"id":38146576,"options":[],"parent_id":38146025,"points":null,"story_id":38144417,"text":"&gt;However, I know most game developers aren\u2019t going to prefer it over the more traditional tools which they\u2019ve been taught and everyone around them is using<p>IME, the most time consuming parts of game development is asset management,closely followed by the programming. An engine like Bevy does a lot to try and cut down on bug fix time, but the lack of some sort of asset pipeline means you lose those savings on the asset side. scripting language would help a bit, but the sort of people using Bevy at the moment don&#x27;t have a strong need for it (very technical people, not necessarily full time designers).<p>I do strongly look forward to how the Rust community impacts game development, and I want to eventually contribute. But I&#x27;m sticking to C++&#x2F;C# pipelines for the reasons you lay out. I can properly learn rust on the side and perhaps consider it for later projects as tools mature.<p>&gt; Plus, I believe the developer is against scripting languages, but I really think that hot reload and more invasive debugging is necessary and can\u2019t be effectively done in Rust<p>I understand where you&#x27;re coming from, but consider another angle. Hot reloading is often a band-aid around when compilations times grow unwieldy. If your code compiles in 4 seconds on average (and lets say, 20 seconds for a full re-compilation. These numbers are completely arbitrary), then there&#x27;s not as much need to focus resources on ways to get around full compilations.<p>That said, I hear Rust in general takes longer to compile programs, so I can imagine the need for scripting&#x2F;hot reloading to come sooner rather than later. But current indie  projects being worked on likely won&#x27;t run into that barrier.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T22:49:30.000Z","created_at_i":1699138170,"id":38146025,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"To me, Bevy is a completely different way of making games vs traditional engines like Unity, Godot, etc.<p>There\u2019s no UI or scripting, everything is done in Rust code. This makes it more like  more like libGDX and Cocos2D-x.<p>But unlike those engines, it uses ECS and Rust which makes coding in it completely different. So it\u2019s kind of in its own little island.<p>I\u2019d love to see successful indie games use Bevy. However, I know most game developers aren\u2019t going to prefer it over the more traditional tools which they\u2019ve been taught and everyone around them is using. I\u2019m not sure the intersection of people who want to make games and people who prefer Rust is large; and even within this intersection, most people aren\u2019t going to dedicate considerable amount of time and effort into learning and using an experimental new engine, they\u2019re going to use something with existing trust and resources.<p>Personally I think Bevy needs a sort of IDE and scripting language which is powered by Bevy and Rust. This won\u2019t remove the \u201cconsiderable effort into a new project\u201d obstacle, but it would make Bevy much more inviting to newcomers who don\u2019t have experience with Rust and who would be too intimidated to start from a wall of code (vs a canvas like Unity or Godot where you can have a very basic prototype within hours). Plus, I believe the developer is against scripting languages, but I really think that hot reload and more invasive debugging is necessary and can\u2019t be effectively done in Rust (plus as just mentioned, many game developers will be overwhelmed with Rust and it\u2019s borrow checker). But those are just my thoughts, and right now I don\u2019t have the time, resources, and dedication to implement them myself\u2026","title":null,"type":"comment","url":null},{"author":"tpl","children":[],"created_at":"2023-11-04T23:08:12.000Z","created_at_i":1699139292,"id":38146163,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Bevy is a lot of fun to play with and least the versions I toyed around with had pretty good docs too.","title":null,"type":"comment","url":null},{"author":"SeanAnderson","children":[{"author":"thih9","children":[{"author":"SeanAnderson","children":[{"author":"thih9","children":[{"author":"SeanAnderson","children":[{"author":"thih9","children":[{"author":"SeanAnderson","children":[],"created_at":"2023-11-06T02:20:41.000Z","created_at_i":1699237241,"id":38158046,"options":[],"parent_id":38152318,"points":null,"story_id":38144417,"text":"Oh, interesting. I can reproduce it now, but then I somehow got in on the third try? The first time it refreshed, second time it said &quot;This site is having an issue&quot;, third time it works.<p>I think it has to do with zoom&#x2F;scale factor. Once I got in I was able to pan around fine, but then when I zoomed out it crashed on me again.<p>I&#x27;ll see what I can do. Thanks for the report!","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T16:05:37.000Z","created_at_i":1699200337,"id":38152318,"options":[],"parent_id":38151802,"points":null,"story_id":38144417,"text":"Yes, they seem to be fine. I\u2019ve tested the linked \u201calien cake\u201d and \u201c2d gizmos\u201d (from list of examples), both work and no reload happened. I couldn\u2019t do anything with the demos but I suppose mobile input is just not supported there.","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T15:14:40.000Z","created_at_i":1699197280,"id":38151802,"options":[],"parent_id":38151539,"points":null,"story_id":38144417,"text":"Okay, thank you! I assume all the Bevy examples load for you fine? <a href=\"https:&#x2F;&#x2F;bevyengine.org&#x2F;examples&#x2F;Games&#x2F;alien-cake-addict&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;bevyengine.org&#x2F;examples&#x2F;Games&#x2F;alien-cake-addict&#x2F;</a>","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T14:43:18.000Z","created_at_i":1699195398,"id":38151539,"options":[],"parent_id":38151406,"points":null,"story_id":38144417,"text":"I\u2019m on ios16, can\u2019t update for unrelated reasons, perhaps it\u2019s that. Other than this, I\u2019m on 13 pro max.<p>To elaborate, the website loads, I can click \u201csandbox mode\u201d, I see background being drawn, a sprite appears and then the page reloads.","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T14:28:18.000Z","created_at_i":1699194498,"id":38151406,"options":[],"parent_id":38148979,"points":null,"story_id":38144417,"text":"That&#x27;s pretty interesting. Can you tell me more about your phone specs?<p>I tested on an iPhone 11 Pro w&#x2F; iOS 17 and it worked well.","title":null,"type":"comment","url":null}],"created_at":"2023-11-05T06:58:06.000Z","created_at_i":1699167486,"id":38148979,"options":[],"parent_id":38146214,"points":null,"story_id":38144417,"text":"Heads up, ant.care doesn\u2019t work on my iPhone, tested both in safari and Firefox. The website reloads after a while in an endless loop.","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T23:15:35.000Z","created_at_i":1699139735,"id":38146214,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"I&#x27;ve been building a game in Bevy for a while now. Feel free to browse code or ask questions:<p><a href=\"https:&#x2F;&#x2F;ant.care&#x2F;\" rel=\"nofollow noreferrer\">https:&#x2F;&#x2F;ant.care&#x2F;</a><p><a href=\"https:&#x2F;&#x2F;github.com&#x2F;MeoMix&#x2F;symbiants\">https:&#x2F;&#x2F;github.com&#x2F;MeoMix&#x2F;symbiants</a><p>For me, some pain points so far have been:<p>- UI system was too verbose to comfortably build widgets. Swapped to using egui, but expect to go back to native Bevy within a year. egui has <i>significant</i> limitations, too.<p>- Parent&#x2F;Child relationships don&#x27;t have a ton of support (ECS sort-of discourages).<p>- It was tougher than expected to associate a label with a sprite, move&#x2F;rotate the sprite, and keep the label following position without following rotation.<p>- Persisting entities across sessions isn&#x27;t supported out of the box (Entity is intended for client-side uniqueness) and easily regenerating persisted parent&#x2F;child relationships doesn&#x27;t happen automatically.<p>- No support for WASM parallelism yet, but a lot of Bevy architecture design wants system ordering to be flexible to squeeze perf benefits by parallelizing the work.<p>- Spatial querying feels like it pushes against the goals of ECS. Wanting to look stuff up by value (value of Position) rather than type (entity has Position) results in lots of secondary caches that need to stay sync&#x27;ed with query engine.<p>- Mutating world via `commands` is deferred to batch for perf, but it&#x27;s hard to have systems which aggressively mutate the world with so many deferred actions. I end up calling `apply_deferred` a lot and using custom commands to resolve races.<p>- WASM on Android (Pixel 6) + Chrome doesn&#x27;t work at the moment, but it&#x27;s a down-stream dependency issue. Should be fixed in Bevy 13.<p>Pros have been:<p>- Very nice to work in Rust engine + Rust game.<p>- Rust + WASM has been good, don&#x27;t feel like this aspect of the tech gets in the way much<p>- Once you get your brain thinking ECS it&#x27;s tough to go back, feels very flexible (maybe too flexible)<p>- Very lively community, usually easy to find someone to talk to about a problem you&#x27;re having<p>- Lots of examples (not a lot of docs, but a lot of examples)<p>- Lot of optimism about the future. Very strong development pace, each release makes significant headway on concerns.","title":null,"type":"comment","url":null},{"author":"ibobev","children":[],"created_at":"2023-11-05T15:21:25.000Z","created_at_i":1699197685,"id":38151845,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Do any commercial video games that use Bevy exist? Could I find somewhere a list of games using the engine?","title":null,"type":"comment","url":null},{"author":"BD103","children":[],"created_at":"2023-11-06T19:24:50.000Z","created_at_i":1699298690,"id":38167491,"options":[],"parent_id":38144417,"points":null,"story_id":38144417,"text":"Bevy is one of my favorite game engines, especially for larger projects. Asset V2 preprocessing and .meta files look super useful. I&#x27;m also looking forward to lightmap support in future releases!","title":null,"type":"comment","url":null}],"created_at":"2023-11-04T19:39:45.000Z","created_at_i":1699126785,"id":38144417,"options":[],"parent_id":null,"points":348,"story_id":38144417,"text":null,"title":"Bevy 0.12","type":"story","url":"https://bevyengine.org/news/bevy-0-12/"}
