Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 74fbd0eb33bb08f719b79951bc4e329e > files > 62

xconq-7.5.0-1.20050612.5mdv2009.1.i586.rpm

<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.39
     from ./xcdesign.texi on 12 June 2005 -->

<TITLE>Designing Games with Xconq - Vision Parameters</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_16.html">previous</A>, <A HREF="xcdesign_18.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>.
<HR>


<H2><A NAME="SEC64" HREF="xcdesign_toc.html#SEC64">Vision Parameters</A></H2>

<P>
Vision is an important part of <I>Xconq</I>.  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.

</P>
<P>
When deciding what visibility model to use, keep in mind that one of the
hallmarks of games in the <I>Xconq</I> 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!

</P>

<UL>
<LI><A HREF="xcdesign_17.html#SEC65">Seeing All</A>
<LI><A HREF="xcdesign_17.html#SEC66">Coverage</A>
<LI><A HREF="xcdesign_17.html#SEC67">Setting the Initial View</A>
<LI><A HREF="xcdesign_17.html#SEC68">Vision Range</A>
</UL>



<H3><A NAME="SEC65" HREF="xcdesign_toc.html#SEC65">Seeing All</A></H3>

<P>
The simplest thing to do is to set <CODE>see-all</CODE> to <CODE>true</CODE>.  Then
every player sees all the terrain, everybody's units, everybody's
occupants, the whole world and everything in it.  This makes <I>Xconq</I>
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
information.  Finally, <CODE>see-all</CODE> is more efficient in time and
space, since the general visibility calculations need never be done or
recorded.  Many games include <CODE>see-all</CODE> as one of their variants.

</P>
<P>
You may also find <CODE>see-all</CODE> 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!

</P>


<H3><A NAME="SEC66" HREF="xcdesign_toc.html#SEC66">Coverage</A></H3>

<P>
Still, much of the fun in <I>Xconq</I> is the potential for surprise.  The
theory of visibility in <I>Xconq</I> 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.

</P>
<P>
The unit property <CODE>see-always</CODE> is useful for units like towns,
which are unlikely to disappear secretly.

</P>
<P>
These two parameters apply recursively, so for instance a city could be
<CODE>see-always</CODE> and <CODE>see-occupants</CODE>,
while a building in the city is <CODE>see-always</CODE> and not
<CODE>see-occupants</CODE>, with the net effect that units
inside a city can be seen by everybody,
but not when they enter a building.

</P>


<H3><A NAME="SEC67" HREF="xcdesign_toc.html#SEC67">Setting the Initial View</A></H3>

<P>
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.

</P>
<P>
One way to change this is to set <CODE>terrain-seen</CODE> 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.  <CODE>terrain-seen</CODE>
can radically change the dynamics of a game; for instance, the
standard game changes from explore-and-conquer to all-out combat.

</P>
<P>
If making everything visible is too much, <I>Xconq</I> lets you set a
radius <CODE>initial-seen-radius</CODE> 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
adjacent cells.

</P>
<P>
Once you've chosen how much terrain is visible, you can control which
units are visible.  The <CODE>see-always</CODE> property mentioned above
affects initial visibility, but in addition there is <CODE>already-seen</CODE>
and <CODE>already-seen-independent</CODE>, 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
<CODE>see-always</CODE> should be 0 and <CODE>already-seen</CODE> should be 100.
However, submarines are always more secretive, and perhaps only 1/4
are known to other sides, so an <CODE>already-seen</CODE> 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!

</P>


<H3><A NAME="SEC68" HREF="xcdesign_toc.html#SEC68">Vision Range</A></H3>

<P>
The default vision range (<CODE>vision-range</CODE>) 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.

</P>
<P>
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, <I>Xconq</I> 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.

</P>
<HR>
Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_16.html">previous</A>, <A HREF="xcdesign_18.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>.
</BODY>
</HTML>