Releasing Early, Release Often: Astrum Futura Installer

Well, I don’t know about the releasing often part, but I do have some thoughts on releasing early. The reason to do both has several reasons, but I’m more focused on bug reporting and feature feedback.

It is one reason why I’ve focused on developing the AI parts for the Quantum Game Library. To allow other developers to use the components to make the game features “smarter” and to stabilize the AI components faster. It is also why I’m focusing on the Astrum Futura Installer so early in the development cycle.

Normally, the installer parts will be developed towards the end, usually during the beta stages or late alpha stage. There are really good reasons for doing this. One of them being that the development cycle in the alpha stage is unstable and often changes. You don’t want to develop something that you’ll have to redo after each change as it will slow the development down.

As for that, the Database Abstraction has a Scheme feature, which allows for drawing in a simple XML document which maps to a database table and can also insert rows. Using a stable library for that allows a single point of entry into the web application. The installer doesn’t have to concern itself with whole application, just the Scheme to install the tables that the game will use.

There will still be web application dependent, such as configuration variables. It is in my opinion that it takes more time to redo the database table structure than to tweak a variable here and there and build the config.php (or config.xml or config.xxx). The Zend Framework, or really any framework or library that allows parsing multiple types such as xml, ini, php array, make it extremely easy and quick work to handle this part. The web application itself would just have to either pull the right configuration from the framework and use it. It shouldn’t be anything to update the installer to modify an variable name and set of values or add/remove a variable.

That just leaves to the way the Installer functions. Which is why I think it is important to have it out as soon as possible.

The installer I’m making for Astrum Futura has an high probably that it won’t be released with the final product. It might baring time and development constraints. I think it is important to get valuable feedback from the users early and fix any bugs in the Installer library that will eventually show up as soon as possible. That way, the installer has seen just as many eyes and had as many development hands on it as the game had.

Will this also include an “upgrader”? No, it won’t. I’m thinking of a way to include it, but it is my opinion that the upgrader should be customized for each version for mapping table field names to the new field name and moving the data between the two. The pieces may be there, but until the development reaches beta and stable, I don’t think developers should place time into making the upgrader work.

That doesn’t mean that there won’t be upgrades from one version to another. It will for testing the upgrade process only, instead of user convenience. Blowing everything away and starting anew will save a huge amount of time during the install process anyway.

Possibly Related Posts:


Comments are closed.