Release early, release often

Submitted by Roots on Fri, 02/26/2010 - 22:53

This popular mantra of the open source community is one that Allacrost has historically neglected to follow. I feel that we had good reason to do so in the past when our work was focused more on the core engines and game logic rather than content and features. We had very little to show then. Other than our official releases, the only other type of releases that we made available were internal pre-releases to our forum community for testing. These releases were kept somewhat private and required a registered forum account to download or even be made aware of the pre-release. Being an open source game, it was always possible for someone to download the latest SVN and compile and try the game out on their own, but not everyone has the technical know-how or motivation to perform such a task.

Early this month, at the encouragement of some fellows of the open source game community, our team considered whether we should begin to make releases more regularly. We decided it was definitely worth a shot. This weekend, we will make available our first "unstable" release. This is unlike anything we've done before, because it truly is a snapshot of the current state of the game. Unstable releases will be unpolished, unfinished, and full of bugs. But they are great for keeping our players involved in the design process, our team motivated, and the general public interested in the project. Below is an explanation of our current plan with these unstable release in a Q&A format.



Where can I download the unstable releases?
Unstable releases will be made available on our Sourceforge page, the same as our official releases. Unstable releases will be clearly marked so and placed in a separate directory.

What systems will unstable releases be made for?
The same as our official releases: Windows, OS X, and a source distribution for POSIX-type systems like Linux and FreeBSD. Others outside our team may decide to make specific release builds for their respective systems, but we do not support this.

Is there a way for me to automatically be notified when a new unstable release becomes available?
Yes. Sourceforge provides the ability to subscribe to RSS feeds about our project from the project page. If you register on our forums, you'll be sent an e-mail every time that an unstable or official release is made available.

How often will unstable releases be made available?
We're tentatively setting ourselves a guidelines of trying to have no longer than two months between unstable releases. However, this is not a guarantee. We are not releasing on a strict schedule and unstable releases are basically made when the timing is right.

What are the criteria you will use to decide when to make another unstable release?
There are many, but the most significant include: the amount of time that has passed since our previous unstable release, the presence/absence of any bugs that may cause crashes or freezes, and the degree of noticeable change from the player's perspective relative to the previous release.

The word "unstable" has me concerned. Is there a risk involved in playing an unstable releases?
We intentionally decided to call these unstable releases to indicate that yes, there is indeed a risk in playing them. However its no more risk than the developers take every day when they are working on the code (actually its much less risk). The worst that we've observed happen during development is the computer freezing completely and requiring us to restart our systems, but this situation is very rare. Other times the application may freeze, become unresponsive, or crash suddenly. These conditions are also rare. We do, however, try our best to eliminate any bugs that cause crashes or freezes before the unstable release goes live.

How many unstable releases will be made available for download?
Only a single unstable release will be available at any time. Once a new unstable release becomes available, the previous unstable releases is deleted and will no longer be available. This is done to ease the burden on our team so we are not trying to support or resolve issues with multiple unstable releases.

How do I tell which unstable release I have? Is there a version number?
The file you download will have an eight digit number representing the year, month, and date that the unstable release went live. For example, if the unstable release was made on February 28th, 2010 the file name would include the string "20100228". Other than the file name, there is no version information available. The game itself will likely report either the previous or next official version number such as "1.0.0".

Do you want feedback or bug reports on the unstable releases?
Of course we do. But because unstable releases by their very nature contain an unfinished state of the game, some problems are very evident such as missing images or something being drawn at an incorrect position. Please try to anticipate which problems are self-evident to the team and don't waste your time or ours reporting such issues.

Will you be supporting unstable releases?
Yes, but don't come with the expectation that we're going to fix your problem immediately and directly. For example we may fix a crash that a user reported, but the fix wouldn't be available for the user until we make the next unstable release. We want to make sure that unstable releases are not counter-productive for our team, and producing a new unstable release every time we fix a reported problem would cost us a lot of time and effort.

Will installing the unstable release conflict with the official release I already have installed?
Probably. To be honest we're not sure at this stage. This issue we'll figure out along the way, and hopefully in the future we'll have a system in place to ensure that official and unstable releases can co-exist on the same system without conflict. We recommend you back up any saved game files and settings that you don't want to lose.



I want to make one final and important note about our unstable releases. This is an experiment for our team. Many of us have great hopes that this will be a positive force for the project, but we can't be sure if this will ultimately help or hurt us. If, after a lengthy trial period, we decide that these releases are not beneficial enough to justify their cost, we may decide to discontinue making unstable releases available. So bear with us through this process and hopefully both the players and the team mutually benefit from this new system. Check back with us late this weekend for our first release of 2010!