This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: time.g weirdness


I have now checked in fixes that re-enable border slides and at the same
time block the the click-in-unseen exploit.

The border slide issue raises some interesting questions, though. I'm not
sure that the way it now works in time.g (and possibly in other games)
really makes sense.

Here is how border slides are supposed to work, according to the manual:

	\	land	    /
	  \		  /
	    \	river	/
       A sea	       -------------        B sea
	    /		\
	  /		  \
	/	land	    \


Ships in the sea cell A can slide along the river to reach the sea cell at
B. In some low resolution maps, "rivers" are used to implement straits,
such as Gibraltar or Kattegatt. All of which makes sense.

However, in time.g, ships can also move on land using border slides along
rivers. The reason for this is that ships are allowed to occupy land cells.
So why, in that case, is it not possible to just move the ship onto a beach
by clicking on it? The answer is mp-to-enter-terrain.

There are three ways to restrict access of a unit to a specific terrain in
Xconq:

1. By volume restrictions (terrain capacity and unit-size-in-terrain).
2. By move restrictions (mp-to-enter-terrain and mp-to-leave-terrain).
3. By survival restrictions (vanishes-on and wrecks-on).

Most games use volume restrictions or a combination of volume restrictions
and other restrictions. However, time.g relies exclusively on move
restrictions to prevent access of land units to sea cells and vice versa.
This scheme breaks down when border slides are used.

So is this a feature or a bug? I think the latter. If border slides were
supposed to enable navigation of rivers in general, it should be possible
for a ship to move along the river to any cell that borders on it (or
contains it in the case of connection-type rivers).

However, this is not how things now work in time.g. Instead, the ship is
limited to jumping back and forth between a limited number of non-adjacent
cells along the river that happen to fit the border slide scheme. It ends
up moving somewhat like a knight in chess. I doubt that this is what Stan
had in mind when he wrote the code.

It is of course easy to fix this by adding volume restrictions in time.g.
However, I am not sure how many other games also rely on move restrictions,
and would have to be changed accordingly.

Hans









Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]