From Armagetron
Revision as of 12:13, 23 August 2021 by Cadillac (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page describes the structure and organization of the project. It's something of a constitution, although it probably wouldn't pass muster by a lawyer.

Note: At this time this document is a draft. This notice should be removed and probably the page locked when the Evil Triumvirate signs it into being.


Armagetron Advanced is a bazaar, and as such tries to achieve a near perfect state of anarchy. Administration of the project and leadership has generally been provided and taken from anybody willing to do it, and as the project has grown, some direction has been wanted to direct the growth.

To that end, the project has organized into 3 components: The Evil Triumvirate, the Development Team, and the Quality Assurance Team.

Evil Triumvirate

Armagetron Advanced is organized as an Evil Triumvirate. There are three individuals marked Administrator whose stated purpose is to provide direction. These three will prevent the sort of politicking that goes with committee-style decision-making and keep discussion focused on such things as the technical merits of competing solutions, the impact of various decisions on the community, and ensuring the highest quality of decisions. It is a lightweight triumvirate that intends to trod lightly and let individual developers contribute to the best of their abilities as much as they wish to contribute and will only step in when indecisiveness is hurting development. In addition to that, various administerial decisions will also be made by the Evil Triumvirate, with feedback from the development team and the community at large. Examples of such decisions are how to spend any revenue for the benefit of the project and only for individual profit when there is agreement from developers and the community that such is desired, how to organize the SCM system, giving new members of the development team commit access to the SCM system, and numerous other decisions along these lines.

When the triumvirate steps in to make a decision, a decision is considered made when 2 of 3 of the Admins agree. To avoid the chilling effect that participation in regular development might cause, since it's a quite common situation for 2 or more of them to agree, a decision needs to be marked as requiring attention by the triumvirate. Of course, all it takes is for someone to say "this should be an Admin decision". But just finding two admins agreeing in regular conversation doesn't automatically make it action by the Triumvirate.

The Development Team

Alongside the Evil Triumvirate works the Developer Team. The Triumvirate is a subset of the Developer Team, in fact you have to be on the Development Team to be an Admin. :) The Developer Team is the group that actually does the coding. Art assets and documentation are frequently and generally provided by the community, although it is conceivable that the Development Team might someday be expanded to include artists and writers. The Developer Team has always worked and will continue to work in a virtual state of anarchy. Implementation details are usually left to the developer doing the implementation because he is the person most qualified to determine the details. There is agreement that individuals will generally code to the top-level vision of the project determined by the Admins, but they will tend to specifically code to their own internal agendas. This is perfectly fine behavior, we take any code that fits into our vision and makes the game better so it stands to reason that we'd conduct our own coding in that manner.

The Quality Assurance Team

In addition, a Quality Assurance Team helps to make quality bug reports, interface with the community to take bug reports that tend to be of low quality and turn them into high quality reports developers can act on. The QA Team also plays a watchdog role on the stable release branch and will certify builds to be released on the stable release branch. Their purpose is to assure the quality of the release, and their tasks are geared towards serving that purpose. If you thought of these guys as Beta Testers on Steroids, you wouldn't be too far off the mark.