The road to 0.8

I’ve been spending some time planning features for 0.8 and generally tidying up the backlog. There are currently 465 outstanding user story items in the MiniCards Rally project. Some of those are small detail items, some are much bigger and have yet to be broken down into smaller tasks.

One of the problems with agile tracking software like Rally is that sometimes it can be difficult to see the relationship between different features and how they interact, which makes it difficult to figure out which ones to do first. So in order to help figure that out I drew a load of squiggly arrows on a whiteboard (click to embiggen):

20161216_114318

Not all of those things are completely planned out yet, and also many of them could be a long way away. However having spent some thinking time, I’ve decided to focus on two things for 0.8.

The first is deck support. As you can see there’s a whole bunch of interconnected things, together they are way bigger than a minor-version release. So to make a start, 0.8 is planned to introduce support for Latin decks, support for different sized cards and of course to have an extra game in the app to make use of it.

A second idea, which has been banging around in my head for a while but hasn’t been given much attention until now, is scripting support. Essentially there are way too many different card games for me to even think about supporting more than a tiny fraction of them. However I’m sure MiniCards users all have their own favourite card game, with special house-rule variations, which are all different which they would like to play. So in order to do this MiniCards needs support for scripting (aka game mods). This is quite a big task since it means creating a sandboxed API with a scripting engine that can run both on user’s phones and ultimately on the MiniCards hosting server. Also, it needs various UI and web-server knobs and buttons in order to manage the installation of all the scripts onto the phone, and also getting them out again, as well as versioning controls to ensure that mods aren’t loaded onto versions of MiniCards they are incompatible with.

So for 0.8 these changes will be mostly hidden – essentially there will be a proof-of-concept side-project that will suck some development time away from the main project, to develop the core scripting engine. If it’s successful, then it will be integrated into 0.8 and new games will use that for their internal implementation. The facility to allow you to edit and actually load mods into MiniCards will be left for 0.9 release, and further developments might be staggered into later releases.