Skip to content

New development scheme for Biamin

New development scheme for Biamin published on No Comments on New development scheme for Biamin

We’ve changed a lot of stuff on the Biamin git repository, and I figured it’d be helpful to shed some light on how it’s supposed to work. (You can find this info in the git repo README as well.)

There are 3 main branches on the repository:

  • master: This is where we keep the last stable release of biamin.sh, the README and an archive/ folder with older, stable releases.
  • dev: This is where we keep the development files (numerous individual .sh files), a Makefile to build biamin.sh and a TODO. It also has a /licenses folder with our copy of the GNU GPL version 3 license as well as our Creative Commons license.
  • text: Currently N/A. This is a backup for textual resource for the world of Biamin.

The main idea being that a visitor can grab the lastest biamin.sh from the master (default) branch, that is both stable and recent. From now on, Biamin follows a versioning scheme of e.g. biamin 1.2.3, where 1 is official releases that are made for the master repo, 2 are feature added or major code overhauls and 3 are bugfixes, minor edits, commenting, formatting, etc.

Prospective developers or adventurous players can head to the /dev branch. If you git clone the repo, you can checkout to the dev branch and run ‘make’ to create a biamin.sh of the latest, unstable code. For any experimental feature, a sub-branch of /dev is created, for later merging to the dev branch (automatically or manually, depending on circumstances).

In order to create sensible logs, we ask committers to follow the conventions in the README. They aren’t mandatory, but makes sifting through heaps of commits much easier:)

This change in development scheme is the result of our decision to break up our code into their semantic parts, for easier coding. CoreMenu.sh and GameTown.sh signifies that we’re dealing with the menu of the core game or town configurations of the individual game respectively. In other words, Core* happens outside the loop or universally, while Game* is restricted to the loop, mostly.