XCONQ RELEASE NOTES

*** 7.2.1

All image scaling and default image generation now happens in
generic code, which gives X11 interface the ability to draw
unit images that are shrunken or magnified to fit properly.

If a game design does not specify a side library, Xconq will assign
side names A, B, C, etc, in order, instead of choosing random letters.
(While technically this is a GDL change, this does not affect
compatibility with base 7.2.)

Now builds under cygwin32!  See INSTALL for instructions.

Bug fixes for crashing commands, Mac edge cases, name reporting,
Solaris builds, and networked game reliability, among others.

*** 7.2

Standard commands now include "doctrine" to set unit doctrine, 'I'
("idle") to sleep only for a limited time specified by the prefix
argument, '^P' ("repair") to do repair actions, "submit" and "release"
to change side control.

Xconq now includes basic support for networked games.  Use the
"Connect" button on the Mac startup screen, and the -host/-join
options in Unix (use host:port syntax, -host thera.com:1234 for the
first player, -join thera.com:1234 to join in).

Unix Xconq has updated configury for new versions of Unix, and it now
installs as a setuid program so that the scorefile may be shared by
multiple users.  Saved games go into the directory ~/.xconq .

The Mac interface to Xconq now includes offscreen drawing for smoother
and faster scrolling, more player control over color usage, more
preference settings, and other goodies, all thanks to Hans Ronne.

New games added to the library:
  "metz-1944", the siege of Metz during WWII
  "gazala", a North African battle in 1942
  "ww2-pac-41", the Pacific theater in WWII using advanced WWII units
  "ww2s-pac-41", the Pacific theater using standard units
  "africa-1850", exploration of Africa in the 19th century
  "space", exploration and conquest of outer space

The large maps "earth-1deg" and "earth-50km", and associated unit lists,
"u-e1-1998" and "u-e50-1998", are more accurate and up-to-date, as is
the list of nationalities "nat-names.g"

Many images now have full-color versions.

Most library games have been enhanced to use new features, or have had
serious bugs fixed.

Due to copyright issues, the tolkien and starwars games are no longer
part of the distributed library.

The manual's chapters on game design have been split into a separate
manual.

Maze generation now guarantees a completely connected maze.

Image colors are now handled as 1x1 tiles.

Games may now include a per-cell control layer that is like the people
layer, but is for temporary control that reverts if people revolt.

Predefined sides may specify preferred units, and predefined units may
specify preferred sides.

Scorekeepers may now allow a group of allied sides to win, by using
the last-alliance-wins test.

New GDL variables include action-movies, action-narratives,
action-notices, event-movies, event-narratives, and event-notices, for
customization of text output; create-units-from-specs, for use in
controlling unit creation when including modules in each other.  The
variable random-events is no longer defined, while
temperature-year-cycle is now a property of areas.

The material type property "description-format" is gone.  The terrain
type properties "color" and "description-format" are gone.

New unit type properties include acp-morale-effect, courage-min,
courage-max (currently unused), cp-attrition, fire-angle-max,
generic-char, hp-to-recover, lost-revolt-chance, lost-vanish-chance,
lost-wreck-chance, morale-max, morale-recovery, opinion-min,
opinion-max, revolt-at-opinion-min, see-terrain-if-captured.

New GDL tables include body-height, capacity-negation,
consumption-per-add-terrain, consumption-per-fire, control-range,
keep-control-range, looks-like, lose-track-chance,
lose-surrender-chance, material-per-remove-terrain,
material-to-add-terrain, material-to-attack, material-to-fire,
material-to-remove-terrain, material-to-research, morale-hit,
morale-hit-by, morale-on-creation, morale-terrain-effect,
mp-to-enter-own, productivity-adjacent, see-material-always,
see-mistake-chance, see-others-if-captured, speed-occupant-effect,
spy-track-chance, tp-damage, track-chance, weapon-height.

Innumerable bug fixes.

*** 7.1

"Long-name" commands (those entered via 'o') may now accept arguments.

Standing orders are now available, and are more general than those in
5.x.  The long-name command has the form "if <condition> <task>", so
for instance to move all infantry at a given location to Berlin, use
the command "if infantry at 32,25 move-to Berlin".  The X11 interface
includes a dialog to set up standing orders; the long-name command
"orders" gets to it.

View coverage changes are now calculated and displayed incrementally.
This means that for games such as "panzer" with both line-of-sight
and varying elevations, displayed coverage will update correctly
as units move around.

New players may be added to a game while it is in progress.

Nearly all of the defined commands have been implemented for each
interface.  The new command "disembark" (^E) causes occupants to leave
the transport but remain in the same cell.

Scores are now recorded and read back from a scorefile.

The X11 interface includes commands "side" and "unit" that display
closeups of sides and units, respectively, the command line allows
multiple -L locations to look for modules

The Mac interface now displays elevations using contour lines, the
command dialog is longer modal, and closeup info about the selected
unit appears at the top of each map window.

The mplayer AI is smarter in various ways.

The library now includes "time", a game of technological development
a la Civilization; and "omaha", the Omaha Beach landings in Normandy,
using the ww2-bn module.

In the standard game, aircraft now have no stacking limits, all unit
types get 1 free movement point, damaged ships move more slowly, towns
near roads get their own spur roads connecting.

Many of the library games have been improved.

GDL now includes the following new constructs (see the manual for details
of how they work):
Tables: counterattack, countercapture, fire-hit-chance, fire-damage,
fire-attack-terrain-effect, fire-defend-terrain-effect
Global variables: edge-road-density, initial-date-max, initial-date-min.
Unit type properties: road-to-edge-change, spur-chance, spur-range.
Side properties: material-view, temperature-view, etc.
Image/image family properties: notes.

GDL's "print" form works in all interfaces now.

Many many bug fixes and minor enhancements.

*** 7.0.1

The Mac interface now includes a preference for whether to dump the
game statistics into a file.

Keyboard direction commands for the Mac and X11 interfaces now work for
attack as well as for movement.

The library now include Chris Christensen's "insects" game.  It's kind of
silly, and still needs some design work to use more version 7 features,
but is worth trying out.

The "starwars" game now has various improvements and fixes, including
the ability of Death Stars to detonate planets, and its associated
"planets" module is larger, with many small planets.

Several bugs noted in 7.0.0 have been fixed.

*** 7.0

Xconq 7.0 is a comprehensive rewrite and expansion of Xconq 5.5.
Nearly every part of the program and its game library has been changed
in some way.

Xconq now includes a Mac interface.  This is a full-featured interface
that works on nearly any Mac, both b/w and color, large screen and small.

The X11 interface now uses Xaw/Xt to provide more interface
functionality, such as buttons for common operations, popups for view
controls, designing, and printing, and a panner to get to a particular
part of the world more quickly.  Each player may now have multiple map
windows.  Maps zoom in and out, from 1x1 to 128x128 pixels per hex.
The interface can display color images for terrain, units, and sides.

The curses interface now includes status lines and adjustable panes.

There is now support for printing maps using PostScript(tm).

The numbers of unit, terrain, and material (used to be "resource")
types may now range up to 126.  The number of sides may be up to 30.

Terrain may now be "borders" (such as rivers), "connections" (such as
roads), and "coatings" (such as snow).

The world may now be a hexagon as well as a cylinder.  It may include
elevations, temperatures, wind, clouds, named geographical features,
people, and materials for each hex (now called "cell").

Units may now get combat experience, they can be incomplete (meaning
that construction may start on a unit, halt, then resume later where
it left off), they can have an altitude, they have tooling (affects
startup time for construction), and they can be of varying size.

Multiple units may stack in a single cell.

Unit abilities are now defined by the "actions" that they can perform.
Previously, the actions were to move, build, disband, and attack; 7.0
also includes adding and removing terrain, research, change of unit
type, material production and transfer, detaching and merging
multi-part units, ranged fire, and detonation as actions.

The combat model is more sophisticated, now including the possibility
for stack and occupants to protect a defender, for retreat, and for
variable damage from a single hit.

Units now have plans that include multiple goals and a task agenda.
Tasks track successes and failures of actions, choosing actions as
needed to complete successfully.

Sides may have a "tech level" that governs usage and construction of
unit types, they may be in "classes" that restrict which types of
units they can own, may control other sides, and have an emblem to be
used for display.

Games may include a day/night cycle and associated effects.

Games may include a seasonal cycle and associated effects.

Random game synthesis methods now include maze generation, country
expansion, river and road generation, and grammar-based unit and
feature name synthesis.

Games may now have variants that are chosen at game setup time.

The AI machinery now supports any number of different types of AIs.

The generic AI "mplayer" has been rewritten; it now uses an explicit
strategy based on division of the world into theaters, and relies on the
new plan and task mechanisms to improve individual unit behavior.

The game library now has many new games, including a tactical-level
panzer game, detailed battalion-, division-, and strategic-level WWII
games, Tolkien-inspired fantasy games, a Russian Revolution game, a
Roman Empire game, and an Age of Discovery game with a Magellan scenario.

The period/map/scenario file structure is gone, replaced by a Game
Design Language (GDL).  GDL looks like Lisp, but is still a
declarative language oriented towards for defining the types, tables,
and other objects in a game.  Lisp syntax supplies power, flexibility,
and a degree of standardization, while the declarative nature of the
language means that the game designer can still concentrate on
defining properties rather than writing code.  Also, since all files
are in the same language and modules can include each other, game
designers can build designs by including an existing game and
modifying it, rather than by defining a totally new game.

There are now over 160 tables available to the game designer, over 100
unit type properties and over 60 global variables as well.  The designer
now has control over nearly every detail of a game.

Memory allocation is almost entirely on an as-needed basis, so Xconq's
memory usage starts at around 100K and goes up only with the size and
complexity of the game.

The source code is more portable, both to Unix and non-Unix systems.
It is also fully prototyped and ANSI-compatible.
