What problem does this solve or what need does it fill?
- More complex code bases to allow us to better reason about the ergonomics of ECS features.
- Better integration testing. This can also be used to help inform change lists and upgrade guides from Bevy versions.
- More examples to show off and learn from :)
What solution would you like?
Extend the sample games from Breakout to include a larger variety of more complex games.
What alternative(s) have you considered?
- We could use community example games for this, but they won't be as discoverable for beginners (use 3) or as useful for bikeshedding (1) or integration testing (2). A canonical list helps set the terms of discussion in a more concrete way.
- We could put these examples in another official Bevy repo, which relies on bevy master as a dependency. This hurts discoverability, and won't block PRs being merged (I think this is probably net good), and risks falling out of sync.
Additional context
When adding games, we'll want to be mindful that their value is proportional to their upkeep cost. While there's a lot of possible use cases that would be nice to cover, we'll want to minimize overlap between examples to avoid duplication of effort. Demonstrations of specific features should be in minimal examples like we already have, while domain-specific tricks probably belong in awesome-bevy.
Upgrading the games as they break is also very easily delegated to community members: it's a fun task, their correctness is important but not critical and doing so requires no knowledge of the internal code base.
As is hopefully already the case, we'll want to avoid packaging these more complex examples (and any assets they use) as part of the standard cargo release of Bevy to avoid pointless bloat. Hopefully we can have each of these in their own dedicated subfolder within examples/games, with breakout as the first one.
What problem does this solve or what need does it fill?
What solution would you like?
Extend the sample games from Breakout to include a larger variety of more complex games.
What alternative(s) have you considered?
Additional context
When adding games, we'll want to be mindful that their value is proportional to their upkeep cost. While there's a lot of possible use cases that would be nice to cover, we'll want to minimize overlap between examples to avoid duplication of effort. Demonstrations of specific features should be in minimal examples like we already have, while domain-specific tricks probably belong in awesome-bevy.
Upgrading the games as they break is also very easily delegated to community members: it's a fun task, their correctness is important but not critical and doing so requires no knowledge of the internal code base.
As is hopefully already the case, we'll want to avoid packaging these more complex examples (and any assets they use) as part of the standard cargo release of Bevy to avoid pointless bloat. Hopefully we can have each of these in their own dedicated subfolder within
examples/games, withbreakoutas the first one.