What is an alpha/beta/whatever?
Something I've been pondering, when would one consider their game in alpha? Or beta for that matter. I ask this as I am coming up to an "alpha" of 6x Mass Production, but I don't actually have much of an idea of what that is.
I know there is probably no solid definition, and that different people might have different ideas that work best for their context. But maybe in the same way that we cannot nail down the definition of a game, but we can come up with a collections of ideas that games may or may not contain, we can do something similar for the definition of an alpha or beta.
So Here is my understanding of the process in the development of a game (I actually have no idea what I am doing but here is something to get the conversation started):
- Prototype
- Alpha
- Beta
- Release
My question to all of you is what other stages (or sub stages) could you add in (that are general enough to be true in most or at least a lot of cases) and what markers or indications are there that you are at a certain stage? What numbering systems or general progress systems do you know about, have read about, or have employed successfully or unsuccessfully.
I am ears ^_^
I know there is probably no solid definition, and that different people might have different ideas that work best for their context. But maybe in the same way that we cannot nail down the definition of a game, but we can come up with a collections of ideas that games may or may not contain, we can do something similar for the definition of an alpha or beta.
So Here is my understanding of the process in the development of a game (I actually have no idea what I am doing but here is something to get the conversation started):
- Prototype
- Alpha
- Beta
- Release
My question to all of you is what other stages (or sub stages) could you add in (that are general enough to be true in most or at least a lot of cases) and what markers or indications are there that you are at a certain stage? What numbering systems or general progress systems do you know about, have read about, or have employed successfully or unsuccessfully.
I am ears ^_^
Comments
Alpha: Means the game is feature-incomplete. Features are still being added.
Beta: Feature-frozen, just bugfixes still being done. Or if any features still need to be added, they are not ones essential to the core game/experience.
Release: You have shipped, gone gold, gone live, whatever. Although of course these days you have beta and alpha software being released to the public.
or:
Alpha: Not the whole thing. As in "I like to eat alpha chicken with peri-peri and potato wedges"
Beta: A cooking utensil... "I scrambled my eggs wif a egg beta"
Once we all agree, we start doing multiple Alphas. The Alphas are as polished as we can get them but are released to our Testers or Alpha Testing Group fully knowing that there could be many bugs in the release. It is also not normally feature complete and will have features added to it during the course of the Alpha.
I tend to do multiple Alphas and use each Alpha to check off a major portion of the game, kind of "Iterative Development".
Once all game features are complete we will move to Beta, typically it will be a closed Beta initially to iron out any last minute bugs and identify any issues that we may not have been able to pick up during the Alphas.
Finally we will move to a Public Beta and based on feedback we will either continue in Beta until all the issues are squashed or move on to Release.
This is how we run in Gobbo Games ... but as previous posters mentioned ... it is pretty dependant on the individuals/organisations involved.
As for our version numbers ... the Prototype will be identified as 1.0-SNAPSHOT ... this is primarily due to the number of versions that take place during this initial phase.
Once we move on to Alpha, we move to a 1.0.0.0 version with the following breakdown:
1 - Major Version
0 - Minor Version
0 - Build Version (0 = Alpha, 1 = Beta, 2 = Release)
0 - Release Version (Incremental Number per release)
Typically we will only start incrementing the Minor Version after Release and will continue to use the Build Version and Release Version to track the changes internally on our side.
It is a modified version of this system: http://en.wikipedia.org/wiki/Software_versioning
As stated, this is the versioning that we are using and could be quite different to "official" versioning standards or "standards" that other individuals/organisations choose to use.
Prototype: Exploring ideas, not sure if carrying on.
Alpha: Carrying on, not sure if no game-breaking stuff
Beta: Not changing too much, hopefully no game-breaking stuff. Polish.
Disclaimer: I am coming a bit more from a software development background here than game development (still working on that) and projects hardly ever meet the requirements that the Wiki definitions stem from.
Edit: Project size and scope also play a huge role on the alpha and beta phase definitions.
With all that, I would add multiple phases between Prototype and Alpha, that constitute milestones in the development process, and the number of phases depends on the size of your game, where each phase is in itself a mini-prototype and then implementation into the main project.
For game dev,
Prototype is an experiment and probably not part of the final game.
Alpha means we have build every type of feature in the game, there are no new technologies that need to be built. However all the assets and levels story etc are not filled in.
Beta means we have not fleshed out all the assets and we are cleaning up bugs and testing for final release.
Of course it falls apart as soon as we see a new awesome must have can't ship without it feature opportunity.