I don't think this fits very well into hobby game development.
Git
The need to branch , merge or rollback rarely occurs. One disadvantage of rolling back a week is that you lose all progress you've made during that week and as such just manually undoing the change is usually faster.
Github charges 252$ per user per year for 50 GB. Gitlab charges 60$ per month for 10 GB past the initial 5 GB.
We're doing this as a hobby and spending 252$ per year per team member on a cloud service is definitely not a priority when that money could be better spent on hiring artists and voice actors.
If your project grows above 50 GB that means paying Gitlab 300$+ per month. Most creators here don't have the kind of revenue to justify that expense. If you want version control it needs to be self hosted.
Unit Tests
Unit tests are suitable for functions that are:
- Pure
- Hard to test manually
- Independent
Games are all about world state, manipulating and querying the world state.
Here are a few real life flaws that I've encountered during development.
- Dolphin spins around in a circle
- Mouse cursor doesn't hide and you need to hold the LMB to rotate instead of just moving the mouse when starting the game
- Level number renders to wrong UI element
- The generated level is impossible to finish
- The generated level "leaks"
- The selected font doesn't support the symbol I want to render
- Kitune animation doesn't play
- Killing the boss at a certain phase of attacking will cause it to resume attacking (while dead)
- Snow deformation from footprints doesn't work for client
- High score table doesn't fit into the allocated space
- Animation self-penetration
- Climbing through ceiling
- Unable to ascend stairs
- Unable to move through doorway
None of these are suitable for a unit test and even if you could pull it off the time and effort isn't worth it.
MVP
What I've found most important is this:
You want a minimum viable product running ASAP. Something you can send to a friend and tell him this is a game I'm working on, tell me what you think. Typically you'd want this MVP on day 1.