Skip to content

Versions and Branches

PastThePixels edited this page Jul 30, 2022 · 3 revisions

Versions and Branches

Naming scheme

Here's a nifty table that outlines how InfiniteShooter releases are named:

0 .x .x
Reserved for any important releases Release number (any important releases deemed by myself ex. 0.2.0, 0.3.0, 0.4.0) Point releases (bug fixes/patches)

Branches

Here's what should be done on different branches for InfiniteShooter:

The stable branch

Think of this like when software does a feature-freeze, but work is still done to clean up code and ensure the software runs as smooth as possible.

  • Code refactoring--make another branch/fork of InfiniteShooter if you want to do code refactoring so tests can be performed on it to ensure the game is still stable
    • This can include
  • Changes to .md files
  • Adding graphical options
  • Minor changes to the GUI, for example:
    • Making it easier to use
  • Minor changes to the assets, including (but not limited to):
    • Balancing songs
    • Any changes to songs or sound effects to not hurt player's ears, or to add features like making them sound less like mono audio
  • Any changes to settings that do not require major refactoring/rewriting of code and do not affect gameplay

The feature-additions branch

This branch should only be used to add new features to the game, because otherwise it would be difficult to make new releases with both bug fixes and feature improvements if they span branches. **Make sure to always open a new issue for each feature you intend to add, and then make a branch/fork of the stable branch to work off (which will be merged with this branch).

  • Adding gameplay settings
  • Feature additions to to the gameplay
  • Major changes to the way the GUI looks or works, for example:
    • Adding a new screen
    • Changing a way a screen works (like changing the leaderboard from a stats menu to a global leaderboard)
    • Adding a new feature (like adding the ability to have tabs in submenus)
  • Major changes to the assets, including:
    • Adding new songs
    • Changing instruments/melodies in current songs
    • Updating models
    • Updating sound effects (think Xonotic 0.8.2 --> 0.8.5)

New releases

When a new release of InfiniteShooter is to be made, the stable branch will be cloned and renamed to newstable. Then, feature-additions will merge with that branch. This is to ensure that all bug fixes/performance improvements are up to date. Testing will then happen on the new branch to ensure that it is stable, and then it will finally be merged with the stable branch.