[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Stealth (was: Basic strategies for winning almost every map)



On Wed, 6 Apr 2005, Jens Granseuer wrote:
On 05.04.2005 18:59, Jonathan Koren wrote:
On Sat, 2 Apr 2005, Jens Granseuer wrote:
That's been possible for ages (though only with cfed, not with comet).
The only problem with this feature is that if you restrict a shop for
e.g. aircraft it becomes impossible to conquer that shop because
infantry is not allowed to enter it...

I would consider that a bug. Instead of 'airplanes only' it should be 'airplanes allowed'.

You can currently select a minimum unit class and a maximum unit class. So you can make it all classes from infantry to aircraft inclusive (there's tanks and the like in between). You cannot, however, say infantry and aircraft and nothing else. That's not a bug but a limitation imposed by design (although not necessarily with good reason).

I would then hold that it is a bug against the design. I haven't looked at the code, but from what you said, you seem to imply each unit has an integer type id. The ids have been assigned sequentally to the different unit types. Th building code just checks a range of unit types and allows only units whose type id falls in that range to enter.


Assuming I my understanding is correct, wouldn't it make more sense to conver these ids to use some sort of bitmask? Say the low bits identify
individual units (i.e. medium tank, aa tank, heavy tank) and the high bits indicate a broad unit class (i.e. tank, boat, aircraft, artillery, train, person)? You can still use ran the range code if you want, but a bbetter sollution would be to match the unit type against the unit class bitmask.


What do you think?


Stealth is the ability of a unit to remain hidden from opposing forces.

[...]

What does "hidden" mean exactly? Not visible is not enough. What does it look like when shading the map for a moving unit? Just not displaying the unit image may result in a suspicious (to say the least) empty hex in the middle of your field of movement, also shading occupied hexes would mean an awful lot of special cases, though...

A hex containing a hidden stealth unit would appear to the opponent as simply as an unoccupied hex in all respects. There's no icon on ther map, and the hex appears as a valid destination for a moving unit. The unit movement algorithm (the one that determines which hexes a unit will pass through from one hex to another) will act as normal. The case of a moving unit must passing through a hex with a hidden unit is outlined below.


Some units have antistealth sensors.  Antistealth sensors have a detection
range.  Any opposing stealth unit within the detection range is revealed
to the force controlling the antistealth unit.  [Ed. ASW helicopters would
be great counter to stealth submarines.  AWACS planes and/or radar tanks
could counter stealth bombers.  Also, I think antistealth units should be
pretty weak offensively/defensively, lest we create some sort of super
unit.]

This kind of differentiation would call for multiple types of stealth. I don't think that kind of complexity is necessary. While stealth bombers may be harder to detect with radar, they are certainly not invisible in the same way subs are.

No it doesn't. It just means you have stealth units on land, sea, and air. It also means you have antistealth units also on land, sea, and air. A unit is either stealthy or it's not. If there's any differentiation it would be in the detection ranges of the antistealth units, and that's only if you wanted to do that.


In short, an antistealth tank can detect a submarine.

When a unit without antistealth sensors attempts to move into a hex with a
hidden stealth unit, the moving unit remains in the previous hex and the
stealth unit is revealed to force controlling the moving unit.  The moving
unit may now attack the stealth unit as normal.

What if the detecting unit would rather have chosen a different path and ignored the sub?

The detecting unit didn't know where the sub was there to begin with, so how could it have ever made the decision to avoid it? All the hexes look the same. Your question implies that the detecting unit has information that it doesn't have.


What happens when a unit without stealth detection tries to enter the hex?

I outlined that scenario immediately above. The stealth unit is revealed and the moving unit remains in the previous hex. The moving unit can now attack the stealth unit as normal. When the stealth unit moves out of the hex it was detected in, it becomes hidden again.


--
Jonathan Koren World domination? I'll leave that to the jkoren@xxxxxxxxxx religious nuts and Republicans, thank you.
http://www.cs.siu.edu/~jkoren/ -- The Monarch, "Venture Brothers"