Hello and welcome to this weeks development blog. This week we have been largely focused on the games UI and styling it into something less generic, theming it to better reflect the occult universe that Fringe Planet takes place in. This is still very work in progress, so we thought we would talk today about how we develop Fringe Planet.
For development, we use a physical kanban board, a lot of post it notes, and a homegrown kanban/issue tracker piece of software. Every feature in Fringe Planet is given a priority – “Must have”, “Nice to have” and “After version 1”. “Must haves” take priority – and we aim to get through 3-4 of these post it notes a week. “Nice to have” are done as and when they can be (if a feature has had a good lot of feedback on twitter, or something organically lends itself to rapid development of it). “After version 1” are a brief description of a feature that hasn’t been fully fleshed out yet.
For those unfamiliar with kanban, it is a ridiculously simple idea that helps visualise both the development process, and the current state of progress of a project. You have a set of columns which indicates the state of a task, and move post it notes around as and when things are worked on. For instance, the Kanban board for this weeks work looks like this:
|To do||In progress||Done||Re-visit|
|UI – Implement icon redesign||UI – icon redesign (external)||UI – panel and font choices||UI – new XML format|
|UI – high contrast modes||UI – restructuring||UI – scaling issues|
|UI – keyboard navigation|
To Do – indicates things that need to be done this week. We will select post it notes from the backlog each week and aim to process them through kanban.
In Progress – indicates tasks that are currently being worked on.
Done – indicates work that has been QAed and submitted to the master branch on git.
Re-visit – indicates either a problem with QA (it doesn’t work as it should) or that a better idea has taken place (actually while reviewing the code, if we do it this way, we will reduce the draw calls).
On Monday a large part of the days work is spent in code review. This is where every single line of code added in the past week is reviewed. This helps us keep up to date with the entire code base, as well as providing us with an opportunity to notice problems before they arise, or refactoring things that are still fresh in our minds. Often this involves “rubberduck debugging“. This helps keep the code readable as well as providing entertainment for anyone who watches this process.
We use git extensively for source code control (for the game, for website changes and for internal tools). We host our own Git Lab server on a Raspberry Pi, which is backed up daily to an offsite server. Every post it note that gets completed gets submitted to a review branch, and during the Monday code review any changes or refactoring takes place on that branch, before being pushed over to the master branch.
So this is a very high level overview of how we develop Fringe Planet and the methodologies we use. We would love to hear how you develop your game, or if this is a useful insight into the gamedev process. If you have any more questions, or want to hear some more specifics, feel free to contact us! Have a great weekend!