Vision is an important part of Xconq. Information need not come for free in your game design, and you can design the parameters to control how much players can get. The possibilities range from total knowledge as in board games, where nothing is secret except the enemy's heart, to games where much of the play hinges on who knows what, and when.
When deciding what visibility model to use, keep in mind that one of the hallmarks of games in the Xconq genre is the exploration of the world during the initial phase of a game. Not only do many players enjoy the adventure of exploring a new world, but the progress of exploration servers as a handy note-taking device for players searching for other players. If all the terrain starts out visible, but the location of the enemy is unknown, it can be difficult to keep track of what's been examined!
The simplest thing to do is to set
every player sees all the terrain, everybody's units, everybody's
occupants, the whole world and everything in it. This makes Xconq
like a conventional video or board game, which is sometimes just what
you want. Also, since the view matches the world, the game is simpler
for players, who need not concern themselves with possibly out-of-date
see-all is more efficient in time and
space, since the general visibility calculations need never be done or
recorded. Many games include
see-all as one of their variants.
You may also find
see-all to be a useful game debugging aid,
since you can watch what is happening everywhere in the world. But,
remember that any AIs will most likely adjust their strategy and not
bother with patrolling or guesswork about the enemy, and you won't be
able to debug the other viewing parameters either!
Still, much of the fun in Xconq is the potential for surprise. The theory of visibility in Xconq is that each side has a layer of coverage, which basically just counts the eyeballs looking at each cell. As your units move around, the coverage in each cell goes up and down. Any cell with a coverage of zero is not currently being viewed by any of the side's units.
The unit property
see-always is useful for units like towns,
which are unlikely to disappear secretly.
These two parameters apply recursively, so for instance a city could be
while a building in the city is
see-always and not
see-occupants, with the net effect that units
inside a city can be seen by everybody,
but not when they enter a building.
The initial view represents the knowledge assumed to have been gathered over the period of time preceding the game. By default, players start out knowing only the immediate vicinity of their initial units and people.
One way to change this is to set
terrain-seen to true, or
to add it as an available variant for the game; in either case, all
terrain in the world becomes known to all sides. This is good for
realism, especially for real-world games since about 1900, when
very little of the Earth remained unexplored.
can radically change the dynamics of a game; for instance, the
standard game changes from explore-and-conquer to all-out combat.
If making everything visible is too much, Xconq lets you set a
initial-seen-radius around each initial unit, within which
the unit's side knows everything. This is useful if your initial units
are somewhat scattered, so as to avoid gaps of unknown terrain in
between. Also, any people on your side view both their cell and all the
Once you've chosen how much terrain is visible, you can control which
units are visible. The
see-always property mentioned above
affects initial visibility, but in addition there is
already-seen-independent, which apply to units on sides or on
no side, respectively. These properties are percentage chances, so you
can randomize how many are known. For example, in peacetime everybody
typically knows the location of a navy's surface ships, but when the war
starts they scatter to sea and operate more securely, so for those
see-always should be 0 and
already-seen should be 100.
However, submarines are always more secretive, and perhaps only 1/4
are known to other sides, so an
already-seen of 25 makes sense.
Another example might be monster's lairs, whose positions might be
known by reputation, but if something happens to them, the news does
not get flashed around the world!
The default vision range (
vision-range) is 1, which basically
means that a unit can see into adjacent cells but no further. You can
set this to higher values, which is useful for tactical- and
person-level games with line-of-sight (LOS) rules.
You can also set the vision range of a unit to 0, which means that it can only see things in its own cell. However, as a special case, when such a unit enters a new cell, Xconq will show the terrain of each adjacent cell, but not any units that might be present. This is so players can decide which way to move without having to plunge blindly into unknown terrain or do some sort of awkward "adjacent cell examination" action before moving. This only provides information about terrain and units that are seen if the terrain is seen.