Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

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.

(+3)

Is the 50GB limit a problem?? Then look into your asset sizes (proper file formats), your gitignore (no temporary files!), and git LFS (for binaries), or just keep the biggest binaries (movies?) out of your repository.

For nearly any hobby or indie game dev team, git hosting is free if you do it correctly.

I agree with the rest though.

(2 edits)

50 GB currently isn't a problem for me. Iruka content folder is currently at 4.63 GB and Whitewatt did prune unused assets from it. That just about barely fits into gitlab free leaving very little space for changes.

Git LFS looks promising, but it would mean I would need to self host the files themselves and as such I might as well self host my own repo and keep things simple.

Edit:

I want to give Git LFS a chance, but my concern is that I will end up micromanaging which files goes where. That is time spent that could be used for actual development. If there is a way for Git to automatically dispatch files to the appropriate storage that would go a long way.

It’s true unit testing is time consuming and not suited for everything. Yet, unit tests can be used for functions that are easy to test too. It will save time once set up and running 100 times your automated test will be faster than doing it manually 100 times.