What is an alpha/beta/whatever?

edited in General
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 ^_^

Comments

  • edited
    These are terms that tend to have varying meaning depending on who you ask, but I believe the idea idea was originally that:

    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"
    Thanked by 1raxter
  • I'm also struggling with the boundary between prototype and alpha - I guess it depends on the type of game and audience :3
  • I normally dictate any rough model that has placeholder GUIs and is not as refined as a Prototype. I will use this prototype to prove that the idea works, iron out any kinks that the engine may or may not be able to handle and generally try to get buy in from the rest of my team.

    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.
  • My distinction:

    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.
    Thanked by 1AlphaSheep
  • edited
    Wikipedia's definition is rather good to look at for the ideal cases for alpha/code freeze/beta releases.

    Alpha
    Alpha is the stage when key gameplay functionality is implemented, and assets are partially finished. A game in alpha is feature complete, that is, game is playable and contains all the major features. These features may be further revised based on testing and feedback. Additional small, new features may be added, similarly planned, but unimplemented features may be dropped. Programmers focus mainly on finishing the codebase, rather than implementing additions. Alpha occurs eight to ten months before code release.

    Code freeze
    Code freeze is the stage when new code is no longer added to the game and only bugs are being corrected. Code freeze occurs three to four months before code release.

    Beta
    Beta is feature and asset complete version of the game, when only bugs are being fixed. This version contains no bugs that prevent the game from being shippable. No changes are made to the game features, assets, or code. Beta occurs two to three months before code release.
    Not everyone adheres to this, and every project (by a project's definition) is unique, and therefore cannot adhere to a single unifying metric of alpha/beta etc. This is where a bit of research into other developer's release stages can help and you can form your own comfortable release schedule table, based off experience and not pure definition.

    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.
  • @Thelangfordian we work of something very close to the Wiki definition.

    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.
    Thanked by 1Thelangfordian
  • Awesome, thanks for the responses! No definitive answers as we all expected but certainly have a clearer image in my head now :D
Sign In or Register to comment.