Designing Games with Xconq
Stanley T. Shebs Copyright (C) 1987-1989, 1991-2000 Stanley T. Shebs
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section entitled "GNU General Public License" is included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the section entitled "GNU General Public License", and this permission notice, may be included in translations approved by the Free Software Foundation instead of in the original English.
In this manual, you'll learn how to design new kinds of games with Xconq. Xconq has been designed to support the use of a variety of techniques to design, construct, and test your game idea. These techniques range from text file editing to online painting; in most cases, you will use a combination of techniques to build a complete game.
As the person customizing Xconq, you will be called the designer. This term also indicates the primary activity, which will be to Design The Game. The capabilities described in this manual are merely tools; it is up to you the designer to exercise discretion and judgement in using them.
You design games using Xconq's Game Design Language (GDL). GDL is Xconq's common language for defining all parts of a game, from the entry in the menu that players select games from, down to the last tiny detail of a saved game. GDL resembles Lisp, although (at the present time) it is not a procedural language; there are no functions and very few control constructs. Instead, the contents of a file guide the creation or modification of Xconq objects representing types, tables, units, and so forth. While a game is being played, Xconq uses this data to decide what to do and what to allow players to do. Players never actually see GDL directly.
In this manual, "you" always means you the designer, and players will be referred to as "players" or "users". The distinction is important; as the game designer, you will encounter and deal with many technical issues relating to the inner workings of Xconq, but if you master those issues, your players will see only a fun game to play.
A final caveat before plunging in: Xconq is an experiment in the design and construction of configurable games. This means I have had limited prior art on which to build, and there are lots of odd corners that have never been tested or even thought about. In this spirit, I would like to hear about weird cases, and ideas for how to handle them.
Chapter 2, "Designing Games with Xconq" is an explanatory guide for building and modifying Xconq game designs, using both Game Design Language (GDL) and online editing tools.
Chapter 3, "Reference Manual" is the complete definition of GDL. It includes the syntax and semantics of all parts of the language.
Appendices include a summary of GDL syntax, a permuted index of GDL symbols, and a glossary of terms.