<HTML> <HEAD> <!-- This HTML file has been created by texi2html 1.39 from ./xcdesign.texi on 12 June 2005 --> <TITLE>Designing Games with Xconq - Game Module Organization</TITLE> </HEAD> <BODY> Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_23.html">previous</A>, <A HREF="xcdesign_25.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>. <HR> <H2><A NAME="SEC89" HREF="xcdesign_toc.html#SEC89">Game Module Organization</A></H2> <P> Each separate file is known as a <STRONG>game module</STRONG> or just <STRONG>module</STRONG>. A module has a name, displayed name, an advertising-style blurb, a version, and designer notes. </P> <P> This is an example of an elaborately-declared game module with no actual content: <PRE> (game-module "foobar" (title "Foo of Bar") (blurb "An exciting game with lots of cliffhanging suspense") (version "1.3") (program-version (>= "7.0.3")) ;; other properties? (complete-game true) ) ;;; contents here (game-module (notes ( "This is just a sample game." "" "It's not really as interesting as the blurb makes out." ))) (game-module (design-notes ( "This is commentary addressed to other designers." "Also a good place to mention things to work on." ))) </PRE> <P> The <CODE>notes</CODE> and <CODE>design-notes</CODE> could have been supplied with the first <CODE>game-module</CODE> declaration, but in practice, putting the player and designer notes at the end of the file keeps them out of the way. You can supply any number of <CODE>game-module</CODE> declarations in a file. Only the first need include a name. </P> <P> The game module format is only loosely structured. In general, anything that you might want to reuse or combine in different ways should be a separate module. Good candidates include text generators and maps of real terrain. Unfortunately, they don't always mix-and-match as well as you might like! </P> <P> The following are the generally preferred module names: </P> <P> Terrain-only modules should be named <CODE>t-</CODE><I>xxx</I>. </P> <P> Lists of units should be named <CODE>u-</CODE><I>xxx</I> or <CODE>ob-</CODE><I>xxx</I> (for "order of battle"). </P> <P> Name generators should be name <CODE>ng-</CODE><I>xxx</I>. </P> <P> When supplying a year in the module name, use four digits, unless the rest of the name makes the century clear (WWII scenarios are pretty much guaranteed to be in the 20th century!). </P> <HR> Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_23.html">previous</A>, <A HREF="xcdesign_25.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>. </BODY> </HTML>