\input texinfo
@setfilename xconq.info
@c Clear UNIX, MACINTOSH, etc to remove system-specific info.
@set UNIX
@set MACINTOSH

@c @set DOUBLEDENSITY
@clear DOUBLEDENSITY

@settitle Xconq
@setchapternewpage odd

@ifinfo
This file documents how to play the strategy game @i{Xconq}.

Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 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.

@ignore
Permission is granted to process this file through Tex and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore

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.
@end ifinfo

@c This is one way to make a double-density printout.  Another
@c way is to use the mpage utility on postscript.
@c
@c @ifset DOUBLEDENSITY
@c @iftex
@c @magnification = 833
@c @smallbook
@c @c from @afourpaper:
@c @global@tolerance=700
@c @global@hfuzz=1pt
@c @setleading{12pt}
@c @global@parskip 2pt plus 1pt
@c @global@vsize= 65@baselineskip
@c @advance@vsize by @topskip
@c @global@hsize= 20cm
@c @global@outerhsize=@hsize
@c @global@advance@outerhsize by 0.5in
@c @global@outervsize=@vsize
@c @global@advance@outervsize by 0.6in
@c @global@pagewidth=@hsize
@c @global@pageheight=@vsize
@c @end iftex
@c @end ifset

@titlepage
@sp 6
@center @titlefont{Xconq}
@sp 4
@center The Penultimate Strategy Game
@sp 4
@center Version 7.2
@sp 4
@center April 1998
@sp 5
@center Stanley T. Shebs
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998
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.
@end titlepage

@iftex

@headings off
@everyheading @thistitle @| @thischapter @| @thispage
@everyfooting Version 7.2 @| April 1998 @| (printed @today{})

@end iftex

@ifinfo

@node Top, , (dir), (dir)
@top Top

@menu
* Xconq::
* Playing Xconq::
@ifset UNIX
* X11 Xconq::
@end ifset
@ifset MACINTOSH
* Mac Xconq::
@end ifset
@ifset UNIX
* curses Xconq::
@end ifset
@c the blank line below seems to be needed with RH 4.0

* Glossary::
* License::
* Index::
@end menu

@end ifinfo

@node Xconq, Playing Xconq, , Top

@chapter Xconq, the Penultimate Strategy Game

Welcome to @i{Xconq}!

@i{Xconq} is a powerful multi-player strategy game system.  With
@i{Xconq} you can build empires, fight wars, relive history, and
adventure across fantastic worlds.  You can play computerized board
games, or be Godzilla rampaging through Tokyo.

@i{Xconq} runs on many computer systems.  It features several different
user interfaces: for character terminals (``curses''), the X Window
System, and the Apple Macintosh(tm).  Although all share the same basic
design, the ``look and feel'' of each interface matches the system
you're on.  The details of an actual @i{Xconq} game depend heavily on
its @i{game design}, which defines the pieces in the game and the rules
of play.  So, to understand everything about a game you're playing, you
need both this manual, and documentation for the
game design in effect.  While this seems like a lot,
most games don't use every feature
of @i{Xconq}, and the user interface will usually offer plenty of
online guidance.

@menu
* About This Manual::
* Compatibility::
* Additional Resources::
* History::
* Acknowledgments::
@end menu

@node About This Manual, Compatibility, Xconq, Xconq

@section About This Manual

The remainder of this chapter discusses compatibility with older
versions of @i{Xconq}, and additional information resources.

Chapter 2, ``Playing Xconq'' is the player's guide.  It describes the
general concepts shared by all the @i{Xconq} games, as well as the
operation of each user interface.

@node Compatibility, Additional Resources, About This Manual, Xconq

@section Compatibility

@i{Xconq} version 7 is not directly compatible with any previous version
of @i{Xconq}, although most of the basic game concepts remain unchanged.
If you've played @i{Xconq} before, you should have little trouble
getting used to the differences.

If you've designed any games (periods, maps, or scenarios) for version
5, you will discover many changes.  Version 5 of @i{Xconq} used a mix of
crude fixed-format syntax and a simple postfix language for game designs
(which were then called ``periods'').  This version has changed too
radically to be able to read any of the old period, map, or scenario
files.  In fact, version 7 eliminates the formal distinctions between
``period'', ``map'', and ``scenario''.  Therefore, if you have old
@i{Xconq} files, you should invest the time to convert.  You may even
discover that some of the new features of @i{Xconq} provide a better
solution to your design problems.  (The shell scripts @code{per2game},
@code{map2game}, and @code{scn2game} will help you get started on
conversion; you can find them in the @code{misc} directory.)

@node Additional Resources, History, Compatibility, Xconq

@section Additional Resources

You are encouraged both to modify any of the existing game designs and
to develop your own.  The manual ``Designing Games with Xconq''
includes a comprehensive tutorial on how to do this.  The version 7 game
design language (GDL) is better-designed and more robust than the
machinery in version 5, so if you've been discouraged by mysterious
problems before, you might want to try designing with version 7 instead.

The ftp server @code{ftp.cygnus.com} usually has the latest version of
@i{Xconq}, and possibly other contributed material, in the directory
@code{pub/xconq}.  The directory @code{pub/games/xconq} on
@code{ftp.uu.net} has long had @i{Xconq} material, although it is
generally for version 5.  Other servers also have copies of @i{Xconq}.
See your local Internet wizard, or buy one of the many excellent
Internet guides if this is not enough information for you.

@node History, Acknowledgments, Additional Resources, Xconq
@section History

By now @i{Xconq} has accumulated some history, and confusions have
arisen about it.

I started @i{Xconq} in the summer of 1986, partly motivated by the lack
of sources to the simple two-player Empire that came with VAX/VMS(tm),
and partly to experiment with fractal terrain generation.  I got this
version working under curses, then added a simple graphical interface
using X10 on HP workstations.  Since X allowed a single program to open
windows on several displays, I made it multiplayer that way.  This
version appeared in @code{comp.sources.games} in July 1987.  It used
squares rather than hexes, allowed only one-at-a-time play, and had only
three games (@code{standard}, @code{napoleon}, and @code{greek}), each
of which was a set of compiled-in structure definitions.  Even in this
simple form, @i{Xconq} met with an enthusiastic response from the
then-tiny number of people who used X.

After much hacking to use hexes, to add a postfix language for defining
games, and to allow simultaneous play (each of these changes were to be
versions 2, 3, and 4, but none were released to more than a few people),
I released 5.0 in July 1988.  This version also had an X11 interface
written by Chris Peterson at MIT.  5.1 was a bugfix release in August of
the same year.

August 1988 was also when I graduated from Utah and went to work as a
research scientist at Apple, and @i{Xconq} work languished.  I did spend
some time on a true client/server version of @i{Xconq}, and got it to
work after a fashion, but it was very slow, buggy, and complex, so I
abandoned it.  About this time a version 5.3 appeared on the net (author
unknown), then Greg Fisher at Rutgers took it up and did more work,
releasing as 5.4 around May 1991.

At about the same time as 5.4, I had started my own major development,
which was originally just to port to the Mac, and to make the design
language Lisp-like rather than Forth-like.  When it became clear that
this was going to be a big project, and that accumulated smaller changes
and fixes ought to be released first, I put out 5.5 in May 1992, mostly
by incorporating bits from others, notably Robert Forsman.

While I was off in a corner hacking, others released their own versions;
Alain Brossard released a 6.0 with some interesting features, if not
major changes (thus my new version had to be 7.0 instead of 6.0), there
were minor releases 5.5.1 and 5.5.1a, and a 5.6 by Mike Peters in April
1995 that included a Motif interface.

Version 7.0, with both Mac and X11 versions, appeared in August 1995,
with a 7.0.1 shortly afterwards.  7.1 came out in April 1996.  In
between these, there were a number of development ``snapshots'' with
numbers like 7.0.91; these were not real releases, but intended for
developers.  No doubt some of these are still wandering the Net though.

@node Acknowledgments, , History, Xconq
@section Acknowledgments

Since the first release of @i{Xconq} in 1987, it has benefited from the
work and ideas of literally hundreds of people, first at the University
of Utah, then worldwide.

Special thanks must go to Eric Muehle, a tireless source of ideas,
advice, and playtesting at Utah; Greg Fisher, who added many good things
to make 5.4; and Robert Forsman, who did a great deal of work for 5.5.
Eric Ziegast and Alan Clegg have been essential to maintaining the old
@i{Xconq} mailing list and archives at @code{ftp.uu.net}.

For version 7, Massimo Campostrini deserves special note for contributing the
PS printing code, X11 color image display code, X11 new game dialogs,
xshowimf, and a number of library modules, as well as many other fixes
and enhancements.

Hans Ronne contributed extensive improvements to the Mac interface in
7.2, including offscreen graphics, color controls, and more preferences.

Sami Perttu contributed a supply line model.

Other contributors have been (in alphabetical order):
Jim Anderson,
Tom Baker,
Ed Boston,
Richard Braakman,
Mark Bradakis,
Alain Brossard,
Richard Buonanno,
Germano Caronni,
Harold Carr,
Ben Chase,
Chris Christensen,
Kevin Deford,
Dan Dickey,
Fred Douglis,
Miles Duke,
Barry Eynon,
Doug Ghormley,
Thomas Granvold,
Stephen Griese,
David Harr,
Scott Herod,
Eiji(``A.J.'') Hirai,
Kurt Hoyt,
Jeff Kelley,
Bob Kessler,
Dan Koppenheffer,
Timo Korvola,
Jed Krohnfeldt,
Rick Ledoux,
Brian Lewis,
Sandra Loosemore,
Michael Lounsbery,
Antoine Makhlouf,
Steve McInerney,
Eric Mehlhaff,
Jimmy Miklavcic,
Tim Moore,
Scott Mueller,
Keir Novik,
Julian Onions,
Dave Pare,
Stephen Peters,
Chris Peterson,
Mohammad Pourheidari,
Dan Reading,
Cary Renzema,
Tom Richards,
Joel Rives,
Jay Schuster,
Larry Schwimmer,
Jay Scott,
John Shovic,
Josh Siegel,
Leigh Stoller,
Ravi Subrahmanyam,
Cimarron Taylor,
Spencer Thomas,
John Tonry,
Rich van Gaasbeeck,
Henry Ware,
Grant Weiler,
Jeff Young,
and many others.

The standard @i{Xconq} distribution includes several packages
incorporated more-or-less verbatim: 
@i{Ad2C} script, by George Ferguson and others,
@i{SelFile} library, by Michiharu `NinjaTerm' Ariza and Erik M. van der Poel,
@i{Infinity Windoid} WDEF, by Troy Gaul,
@i{libcurses} library, by Larry Gensch and Robert Zimmerman,
@i{texi2html} script, by Lionel Cons,
@i{texinfo.tex}, by Robert Chassell.

Thanks also to the University of Utah, Apple Computer, Inc., and Cygnus
Solutions, who have all contributed machine resources that helped in the
development of @i{Xconq}.

@include play.texi

@c Include platform-specific info as a separate chapter.

@ifset UNIX

@include x11-sect.texi

@end ifset

@ifset MACINTOSH

@include mac-sect.texi

@end ifset

@ifset UNIX

@include curses-sect.texi

@end ifset

@node Glossary, License, , Top

@appendix Glossary

@include glossary.texi

@node License, Index, Glossary, Top

@include gpl.texi

@node Index, , License, Top

@appendix Index

@printindex fn

@contents

@bye
