Plan
Because a game engine covers many complex domains -- event loop, audio, graphics, etcetera -- we want to make sure there is a "good" starting state, and be able to develop and test each domain independently. In addition, we want to encourage contribution from the community where possible.
Jump Start
The plan to create a stable equilibrium used is:
- Get
amethyst
to compile for thewasm32-unknown-unknown
target. - Set up an end-to-end project to test usage of
amethyst
. - Set up automated build to ensure all contributions maintain that base quality check.
- Make it easier for potential contributors to get into the "build, test, contribute" loop.
Equilibrium
There are two workflows for ongoing development:
-
Discovery
- Run end-to-end project to discover issues.
- Open a GitHub issue for each issue, providing any stack traces or screenshots, and the expected behaviour for the resolution of the issue.
- Provide some initial investigation to where the root cause of the problem lies, to make it easier to begin working on a fix.
-
Implementation
- Contributor finds an issue they wish to do.
- Locally, the contributor implements a fix, and tests it against end-to-end project.
- The change is submitted for review, and amended if necessary.
- After passing review and the automated build, the contribution is merged.