Kanban featured image

The internal workings of development – Dev Blog 17

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.

Task tracking

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 doIn progressDoneRe-visit
UI – Implement icon redesignUI – icon redesign (external)UI – panel and font choicesUI – new XML format
UI – high contrast modesUI – restructuringUI – 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).

Code review

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.

Git

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.

In conclusion

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!

There is a lot more to read about Fringe Planet… why not try:

Leave a Reply

Your email address will not be published. Required fields are marked *