-
Notifications
You must be signed in to change notification settings - Fork 344
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Tracking Issue/Discussion] The Ecosystem Guide #6
Comments
I'm a bit torn on this! On the one hand, I feel like there's a massive need for a semi-official 'state of the ecosystem' post; something we can point new gamedevs to as a starting point that's not quite as overwhelming as AreWeGameYet. On the other, I think the WG not being too biased towards any one set of tools is really important. For example, Icefoxen's guide to Rust game engines was pretty critical of Piston. Now, I think those criticisms were extremely fair, but there's a big difference between "this one guy says you shouldn't use Piston" and "this group that is somewhat officially linked with Rust says you shouldn't use Piston", and I'm not sure if I'd be comfortable with the latter. So that's the tightrope that needs to be walked, I guess. |
I sure as hell wouldn't want to proselytize my graphics library guide as an official position, and I heckin' wrote it. To write something like that, which IS baldly critical, you have to be unencumbered by other concerns and know that you are only speaking for yourself. It's much easier to say the things that you feel must be said when you are saying them from the outside, without any official status. Easy option for the matter of opinion: have the ecosystem guide be a collection of other people's guides, without endorsing or criticizing particular ones. Just organize them by topic and note that some of them are opinionated. The WG could serve a useful role by having this index, and keeping it up to date, since guides go stale and get updated and so on. Also for any collection of information there need to be clear rules for removing things as well; one of my biggest annoyances with arewegameyet is there's lots of stuff like |
I'm super on board with this idea, both for ecosystem guides and just guides/blog posts in general. |
Yeah, if we end up with one guide we certainly don't want to go full Icefox spicy curry level of opinion with it. Something closer to a plain teriyaki level of opinion would potentially be appropriate: a useful guide for people who aren't sure where to start and who want someone to just suggest something to start with and where they might want to look, but not too strongly worded so that people don't get totally scared off of going their own route. But I do strongly support the "list of guides" approach, now that I'm thinking about it. |
|
Now that I think of it, can we get the owner of arewegameyet, @doppioslash , in on this conversation to tell us more about their current status and what they want arewegameyet to be? I think that it can use lots of work but it also seems very much a passive maintenance effort, and there's stuff there that hasn't been updated since pre-Rust-1.0 days that I'd really like to clean out. (Hopefully it's not an opinionated statement to say that having Could a semi-concerted effort by the WG to either rework the site or just make a bunch of PR's to bring it up to snuff be something people would consider? |
Personally, I'd want arewegameyet to stay an un-opinionated repository of everything that may be useful. |
The lists could also be reordered to put the most useful libraries on top, though I'm not keen on the piles of discussion that may entail. If the wg manages to decide on an order, then we can reorder them. |
Yeah there was some discussion of that on the unofficial Discord. The acceptable options seemed to be "do nothing", "write code to order them randomly on each page load", or "write code to order them by how lately they have been updated and assume nobody's enough of a dick to try to game it". There's probably other good solutions; I'd be fine just by ordering them alphabetically or by some other obvious-and-arbitrary criteria as long as there was an "obsolete" tag or subsection to make it easier to search. |
|
crates.io can show reverse-dependencies, which seems like a fair starting point. |
Just throwing in my 2 cents: My ecs crate is currently # 2 on arewegameyet despite its (relatively) terrible performance in benchmarks and the fact that I haven't been updating it for years other than merging the rare pull request from people using it. I have no interest in updating it because in order to make it "good" I had to rewrite it from scratch and now it's a completely different library (also specs is probably better). I think a possible solution (which would require some effort) would be to run a regular "audit" of crates in the ecosystem to check for inactive projects and (only if they've been inactive for a while) contact the owner(s) to see what they think of the state of their project and in particular, whether people should consider using it for new projects. Crates that aren't intended to be used for new projects or whose owners have gone AWOL can be marked as such and put in a less prominent position in any sort of list/ranking (whether that's arewegameyet or some other resource). While you could "game" such a system, there aren't really any benefits to doing so, and I think this would at least filter out a lot of projects that the owners are "done" with (which I think is the primary problem here). The main question is whether this approach would be worth the effort. |
One idea I had was to add a bit of frontend code, and make the list sortable by various criteria. |
Thank you for filing this @Lokathor and not derailing my PR :) ❤️ There is an obvious conflict: having a guide would have a great value for the community but we the WG can't be opinionated. Listing all the things like AreWeGamesYet isn't helpful enough to navigate the ecosystem, it's just better than doing a "crates.io" search. Having an opinionated guide is not helpful, since it will be changing often and there is no way to make all the participants happy.... But I think, there is a middle ground we could take to get the best of both sides. We could list the existing libraries with some extra information that is:
Here is an example of such an entry: Three-rs:
Note that some filtering needs to take place when talking about priorities, features, and (most importantly) users, e.g. I didn't include ones that don't have a screenshot in the Readme (with an exception of "plane-splitter" which I have screenshots for). |
Anyone against me moving this on the website repo? I think that's a reasonable place for the ecosystem guide to have a page on once it's done. T1he PR has already started, but it's markdown so once that gets merged it's a matter of just opening a PR with adding it to the site too. I'm on an issue cleaning spree :) |
I think given that this guide is presumably going to take the form of a page or a blog post on the site, and given that discussion of the newsletter/intro post are already on that repo, moving it there would make sense. That said, if we're going to start discussing all site-related stuff on that repo, it might be worth drawing attention to that fact on the Discord/maybe in the README of this repo, so that people know to look there as well as here! |
During our biweekly meeting we coined multiple ways of improving AreWeGameYet organisation:
Complementary to that we'll create a mapping of the ecosystem similar to Jason Gregory's runtime game engine architecture map. This will allow us to identify missing pieces. How this will actually take shape is to be decided, but we'd really appreciate AreWeGameYet's input (@doppioslash) in the discussion. Let me coin a first proposal, inspired by the above thread. Feel free to propose additions, improvements, or provide arguments as to why these are terrible ideas. 1. Liveness
Caveat: Depending on how much information is added, the UI could become too crowded. As such this might require a redesign. 2. Feature comparisonAreWeGameYet already subdivides the ecosystem into 19 different categories. After reviewing the categories to reflect all aspects of a game engine, we'll try to specify a set of feature tags for each of the categories. For every category we will then:
The tricky part is that merely "having" a ton of features might not be the best criteria. E.g. for an ECS you might be interested in the performance of a lot of entities vs a lot of components. Does anyone have any good ideas on how to reflect these objectively? Maybe
3. Compatibility
This way one can jump through the ecosystem from A to B and from B to C |
Personally, I like a lot of the ideas you've proposed. (Although it may be a lot of work!)
I think this would be useful, but it sounds difficult to do in an automated way, and I think it would be liable to rot. Would be really nice to have this if possible though.
Linking to other resources could be a practical way to be helpful while staying unopinionated as a WG. (For example, if there's a good "what are people using for physics" reddit thread and a there are a lot of good responses, that might be handy for someone taking a look around the ecosystem.) There may not be that many resources we can point to just yet, but I could see this improving as the ecosystem matures. |
@aclysma I agree that it is a lot of work. I was hoping to prioritise the list based on feedback and implement accordingly. The actively/passively maintained flags would be set upon insertion of a new crate, as proposed in @kvark 's format. Ideally, maintainers would change the status once they stop maintaining their repo - similar to how they sometimes add a notification in their README. I agree with you that in reality it will probably mean some maintenance work for the WG though. I.e. review the status of inactive repos every month or so. @doppioslash I realise that there are a lot of proposed ideas. Could you give some insight into what aligns with AreWeGameYet's vision, and what is achievable? |
Crates.io already has a "maintenance status" tag, we could just display that if we trust the owners of the crates to put meaningful stuff there. |
I didn't know such a thing exists, so I'm not sure we should trust people to use it right until we publicize it a lot more. |
@icefoxen That's a good one! For completeness:
|
I know that there's an open PR for the start of an ecosystem guide, but since this is one of our goals before the next meeting I wanted to have a general discussion and get people's thoughts about the subject without totally clogging up the review of kvark's specific PR.
The general subject of this issue is anything related to the gamedev-wg doing an ecosystem guide.
Assuming that we do make an ecosystem guide, I feel compelled to ask: What format should such a guide take?
Combined, these two items make me want to back up and ask: Do we make an ecosystem guide at all?
My conclusion from these facts: Either we have to change the charter at least a bit (not an action to be taken lightly!!) or we can't have an ecosystem guide that is usefully different from AreWeGameYet, and we probably shouldn't do a separate guide at all. Instead, we should just direct people to work on AreWeGameYet.
Thoughts on this? Or thoughts on anything else about the subject of an Ecosystem Guide?
The text was updated successfully, but these errors were encountered: