The goal of this project is to explore how contemporary software practices and DevOps can be integrated into game development.
This is a list of various topics we'd like to explore this summer:
- Project setup
- Open source game development
- Issue management and project boards
- Test Driven Development
- Introduction to TDD
- TDD in Unity
- Git
- Introduction to Git
- Dealing with large binaries
- Shallow cloning
- Git LFS
- Unity packages
- Unity Assets
- Debugging
- GitHub Actions
- Introduction
- Automating Unity workflows
- DORA metrics in Unity
- Automating lifecycles
- Game builds
- Packages
- Assets
- Dependency and configuration management
- Release automation
- Itch.io
- Steam
We'll use the following basic workflow for now:
- Code changes should be tied to an issue in the board
- Reference in commit messages (
"WIP #3"
,"Fixes #3"
)
- Reference in commit messages (
- Code changes should happen on a branch
- Name: Related issue number, lowercase, dash-separated
3-add-giant-lasers
- Name: Related issue number, lowercase, dash-separated
- Merging is done through a pull request
While the actual game being developed is extremely fun and interesting, let's not forget the overlapping goal of the project. For now, let's follow this little flow for now, we can readjust at any time.
- Game development continuously ongoing
- Monday and Wednesday fikas and project discussion
- Friday demos
- During fikas and demos, we'll:
- Find ways to improve our workflow, by either adding or removing processes/skills/tools
- Book the time to hold some workshops/trainings to achieve those things
- Where applicable, add them as isues to the board.