5 ms·
Scaling Bevy Development
- Waterluvian 4y agoI’m excited to see how this organization structure works out. BDFL works very well at the cost to the BDFL’s time and general well-being. Is this SME approach kind of like a Voltron team of mini BDFLs?
- imachine1980_ 4y agoWhat means SME and BDFL? Edit: SME: "Subject Matter Experts (SME for short) are Bevy developers that have consistently demonstrated technical expertise and synchronized vision within a given "subject area" "
- Waterluvian 4y agoSME as defined in the article. BDFL is benevolent dictator for life. A nice name put on that one person at the top of a project who makes all the decisions on controversial stuff.
- owyn 4y agoIn this context, "Subject Matter Expert" (it's explained in the article) and "Benevolent Dictator For Life" (humorous title applied to the leaders of Linux, Perl, Python, etc)
- alice-i-cecile 4y agoYeah, that's a pretty good way to describe it :) Game engines have an alarming number of different areas that require deep expertise: the hope is that we can align on broad values and goals and then empower experts to make good decisions quickly.
- kelsolaar 4y ago> and the second most popular game engine on GitHub Strictly speaking, this is not exactly true, Unreal Engine has 24.8K stars as I wrote this. It is private though!
- echelon 4y ago> It is private though! It's source available, which is better than closed source. For a game engine, it has to be, but I wish more "closed" projects were available like this. I would love to tweak and rebuild iOS or Windows or Discord. Or just peer inside. To get access to Unreal Engine's source code, go through their website signup process. They want to be able to track growth/engagement, send you marketing emails, and have you sign their TOS/EULA/license agreement. But from there it's all available and you can build the entire engine and editor from source.
- kelsolaar 4y agoCertainly but the repository itself is private so it has less public visibility, copy-pasted from the header: > EpicGames / UnrealEngine Private Unreal Engine source code www.unrealengine.com/
- deleted 4y ago[deleted]
- foota 4y agoIsn't this basically how kernel development is structured?
- deleted 4y ago[deleted]
- echelon 4y agoIt'll be interesting to see if Bevy or Fyrox takes off as "the" Rust game engine. We recently evaluated both engines for a future project and chose Fyrox as it edged out Bevy in the dimensions that mattered to us, though both are really solid. It was a hard choice. Fyrox is a one-man super show, and its author Mr.Dimas is a 10xer if I've ever seen one. But that's also a major existential risk to the project. Having this level of community built around Bevy ensures that it will live beyond its creator. It's something I hope Fyrox can begin to build. Bevy is doing great things, and their organization and community are only getting better. I would love to see one or both of these engines to catch up with Godot.
- pizza234 4y agoBevy is the de-facto Rust game engine already; by any possible metric, it's at least 10x as present as any other engine. The big question is if Rust (and its engines) will be a viable/convenient platform for commercial gaming or not; the current landscape is essentially "homebrew". Fyrox may get some traction if commercial games will start to be produced, since it's modeled after commercial toolkits (like Unity). But given the manpower behind Bevy, nothing prevents them from adding this tooling as well (I think an editor is in development).
- whateveracct 4y agoThe fact that Bevy is Rust is a Blocker for me. Haskell or bust. Please don't bother replying about how Haskell can't do gamedev - I will ignore you with a smile :)
- whateveracct 4y ago[flagged]
- whateveracct 4y ago[flagged]
- pvg 4y agoYou're attacking the chance interesting discussion will appear in this thread by trying to troll it into to some lame offtopic language war.
- whateveracct 4y ago[flagged]
- danielscrubs 4y agoThis is not about that. I downvoted you directly even though I prefer Haskell. Your comment was dismissive, without any consideration about upsides versus downsides, nor leading to any thoughtful discussion. It came of as pure emotional gut reaction, “I like this, I don't like this”, even if you might not have meant it. Maybe you thought about it carefully, but that’s not how it came out.
- xeonmc 4y agohttps://www.youtube.com/watch?v=aJX4ytfqw6k https://www.youtube.com/watch?v=aJX4ytfqw6k
- whateveracct 4y ago
- alice-i-cecile 4y agoNeat to see this pop up: I'm Alice, one of the maintainers mentioned. I ended up pushing pretty hard for this change (or something like it), and at least so far, I'm feeling optimistic about the result. This was fairly organic: it was becoming clear that there were experts in each area that we should be consulting before merging complex work there. So we formalized it. The split between "generally competent, well-organized" and "deep expertise" is a nice one, and I'd love to see more orgs experiment with that.
- b4je7d7wb 4y agoI've been making a 2d game in bevy and it's a lot of fun. I would recommend trying it. I haven't had any issues that are common with rust like fighting the borrow checker.
- spoiler 4y agoFWIW, I think people mostly have these issues with async code, because the syntax is reminiscent of Python or Typescript, but actually behaves very differently under the hood. So, the similarity is only superficial. Most of the time you don't care about this difference, though. However, sometimes it can pop up. Funnily, I think like 80% of the time, you can just reorder code a bit to not hold stuff across await boundaries, and it will compile. The 20% can sometimes be tricky, though (often because working with external types, so to resolve it, it requires wrapping code). The situation is getting better, though. Just not with every release. I imagine work on async needs to be slow and more methodical due to how it interacts with the rest of the language. So a lot of language features are being added to support it more ergonomically. However, those features are also being designed very carefully, and as a result they ens up being just overall great boons themselves too. So, tldr: async can suck a bit, but slowly getting better, and as a result it's making the rest of the language better too. I don't think some people who complain about async in Rust don't truly appreciate how "high level" it feels and how unobtrusive—for the most part—it is for a systems programming language!