Presence of Ambush etc. in MP? Issues and ideas.

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Post Reply
User avatar
drachefly
Posts: 308
Joined: March 23rd, 2005, 6:01 pm
Location: Philadelphia, PA

Post by drachefly »

Elvish Pillager wrote:This situation is why, in the original proposal, the unit doesn't go invisible until the beginning of its turn. Read the whole idea next time.
I did, got it mixed up with another variant that was being tossed around. Sorry.
What saves a man is to take a step. Then another step. It is always the same step, but you have to take it. -- You-know-who
The Kingdom Of Loathing Era
User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Post by turin »

Garion wrote:I- the presumptuous newbie- take exactly the opposite tack, Turin. I was thinking about this earlier this evening, and it seems to me that the strength of the Ambush ability is the hidden unit location, more so than any effect on its attacks.

I've read Pillager's "No Fog Club" post and I understand that he feels stealth is not a facet of the Wesnoth strategy. I think it should be. I like fog, because it forces a behaviour seen on every real battlefield there's ever been- you must allocate some of your force to the defense of your leader. This seems like a matter of elementary tactics, to me.

What I'd like to see for Ambush, though, is a unit that remains completely hidden under all circumstances unless it chooses to launch an attack. While hidden, it would have no ZOC and would allow units to pass freely around (and through, if that's codable) the hex it's in. I'd even let an enemy unit stack on a hidden ambusher (though one unit or the other must move before a fight could occur).

That would eliminate the undo trick, because there'd be no way to find an ambusher in its own terrain- except one. Ambushers with the same terrain type should be able to see one another. Opposing Elvish Rangers, for instance, could reveal one another's location if they were within movement range of one another.

This, I guess, would allow for a limited form of the undo trick, but it'd go a lot faster and would occur much less frequently.

Now, it may be that my ideas are flatly unwriteable, in which case, I bow to Necessity. But if not, I think a hidden Ambusher is a much better reflection of the ability's intended effect.
This is actually the other possible solution I came up with at school today. ;)



I think there are two options: make the ambusher visible, or find a way to have the above suggestion actually work. I don't think merely having the undo strategy have negative ramifications is enough. What if I have a 1 HP vampire bat in the region? Even if he dies automatically when I discover the ambusher, I'm going to undo-discover like crazy.

IMHO, the ambusher-disappearing-completely is the best idea, and is what we should work on - and we are. But we haven't gotten anywhere. :?
For I am Turin Turambar - Master of Doom, by doom mastered. On permanent Wesbreak. Will not respond to private messages. Sorry!
And I hate stupid people.
The World of Orbivm
Chris Byler
Posts: 99
Joined: April 14th, 2005, 2:32 pm
Location: Blacksburg, VA, USA

Post by Chris Byler »

Elvish Pillager wrote:It seems to me that there's a fundemental problem here. Whatever Ambush does, one of the following must happen:
1) It doesn't hide the unit.
2) the undo trick is possible.
3) undo is disallowed whenever an ambusher could possibly have been revealed.
4) the unit loses its physical existence, making it lose Zone of Control and unit-blocking when invisible.

The question is, which is the least of four evils?
1 amounts to removing ambush and nightstalk (and the similar abilities recently allowed by the restructuring in ability WML), or reworking them into something completely different which might or might not have the same name.
I suppose the community *could* agree to tolerate 2, but I really don't see it as a solution - it's more of an agreement not to solve the problem.
3 amounts to removing undo (since all terrains and times of day are potentially hideable now). Delaying updates won't help because you can't not know about ZoC or the hex you were trying to move to being occupied.
4 doesn't make sense, requires significant recoding and is a UI headache - which unit in that hex did you want to select? (There can be arbitrarily many - if a unit can move into a hex already occupied by a hider, a unit can move into a hex already occupied by a hider and hide there itself, and so can another, and another...) Furthermore if there is *no* way to reveal a hider, I think I'll play all my battles with a Ranger as my leader... I may not win them all, but I'll hardly ever lose one. For both KISS and balance reasons, I think 4 is out.

Ultimately I have to vote for 1. Hiding seems like a neat idea, but it just conflicts too much with other mechanics and aspects of the Wesnoth philosophy. Hiding (and its cousin, fog) is not simple and requires non-simple UI to deal with, for arguably no gain or a slight gain; and undoing is one of the most convenient and unique features of Wesnoth and I wouldn't much like to see it go.
User avatar
Ranger M
Art Contributor
Posts: 1965
Joined: December 8th, 2005, 9:13 pm
Location: England

Post by Ranger M »

I vote for my idea, or most other things which don't remove ambush/nightstalk, as it is a useful ability, and gives a nice element of surprise to the game, even when used against you.
User avatar
Elvish_Pillager
Posts: 8137
Joined: May 28th, 2004, 10:21 am
Location: Everywhere you think, nowhere you can possibly imagine.
Contact:

Post by Elvish_Pillager »

Chris Byler wrote:Ultimately I have to vote for 1. Hiding seems like a neat idea, but it just conflicts too much with other mechanics and aspects of the Wesnoth philosophy. Hiding (and its cousin, fog) is not simple and requires non-simple UI to deal with, for arguably no gain or a slight gain; and undoing is one of the most convenient and unique features of Wesnoth and I wouldn't much like to see it go.
As you seem to group hiding and fog - how do you like my suggestion, which doesn't actually ever make the unit invisible when there's no fog?
It's all fun and games until someone loses a lawsuit. Oh, and by the way, sending me private messages won't work. :/ If you must contact me, there's an e-mail address listed on the website in my profile.
Darth Fool
Retired Developer
Posts: 2633
Joined: March 22nd, 2004, 11:22 pm
Location: An Earl's Roadstead

Post by Darth Fool »

Well, let me weigh in on the issue a bit. I think that the best proposed solution so far is actually a mix of two. Allow units to pass through/over and even onto ambushing units. In order to attack, the ambushing unit must move to a neighboring hex, then attack. Note that if the ambushed unit(orc) has stopped on the ambushing unit(elf), to move, the elf must move through the ZOC of the orc, so it can't move more than 1-hex, and it will also be instantly revealed. There is a potential problem here, what if all neighboring hexes are occupied? There are a couple possible solutions: make ambush units also get skirmish(terrain type of ambush) which is not satisfying, and anyway could run into problems if all hexes the unit could move to are occupied, or make it impossible for this to happen by creating a rule whereby if all the hexes that surround the elf are occupied, then the elf is revealed. This would lead to an even more annoying to do, but still possible, undo redo combination.

Alternatively instead of allowing this kind of stacked unit(a little bit of a pain to code, btw), you could have the elf moved when an orc occupies its hex to a connected forest hex, preferably to a forest hex that is nearest to the position where it started the turn. If all connected forest hexes where occupied but the one the elf was on, then the elf would be revealed. Thus, one hex forests could not be used to hide in. This has certain issues as well, since the elf could end up moving far from where it begin, not to mention the odd feature of watching your hidden elf moved around during the enemies turn. Still, this might not be so bad. realism wise, you could argue that he has to keep moving to prevent from revealing his position, which is true. In that case, you might want to restrict it so that you replace connected forest with neighboring forest hex, such that it would be possible to sweep a forest with orcs, given enough time, but only enough orcs to span the width. moving each orc one hex per turn, you could eventually flush the lone elf out. Of course, this doesn't address the elf moving hundreds of hexes in the opponents turn when it can only move a few on its own turn. This could be dealt with by keeping track of the elf's movements in its off turn. If it is forced to move more than its movement points in the off turn, it would also be revealed, thus preventing it from moving anymore. One could even subtract the number of moves it used up from the next turns move, but this seems to me to be excessive.

All that said, this seems awfully complicated to code to me.
User avatar
Ranger M
Art Contributor
Posts: 1965
Joined: December 8th, 2005, 9:13 pm
Location: England

Post by Ranger M »

Darth Fool wrote:If all connected forest hexes where occupied but the one the elf was on, then the elf would be revealed.
IMHO this is the best solution, but I worry about this part. unless you are surrounding your own ambushing unit, the moment that the next door hex was occupied the ambusher would be revealed. however you have come up with a good solution so...

the only other confusion is does the ambusher attack automatically in your proposal (which would render my previous comment obselete, as you could then be surrounded)
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

Personally I would love to be able to remove ambush. It's a pain to deal with in coding, and makes programming AIs much harder. (Even if the AI deals with being ambushed very dumbly, it's still a pain because the AI has to at least not crash the game if it's ambushed).

David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
jonathantan86
Posts: 57
Joined: February 26th, 2005, 9:26 am

Post by jonathantan86 »

I'm not sure of the internals of the Wesnoth engine, but a way to avoid stacked units with Darth Fool's first solution would be to:

1) Allow a unit to step on the Ranger's tile.
2) At the end of the turn, the two units on the same tile (the unit and the Ranger) battle it out berserk, the Ranger getting to choose whether to use melee or ranged (computer automatically chooses the one that favours the Ranger). (If 30 attacks pass, automatically kill off the one with lower HP or the non-Ranger unit if they have the same HP.)

This might solve the AI problem as well (that Dave brought up). If we implement my suggestion, for now the AI can move its units oblivious to the possible presence of ambushing units.
User avatar
JW
Posts: 5047
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Post by JW »

turin wrote:I don't think merely having the undo strategy have negative ramifications is enough. What if I have a 1 HP vampire bat in the region? Even if he dies automatically when I discover the ambusher, I'm going to undo-discover like crazy.
Why is this a problem? Suicide tactics are viable options already in the game. I don't see why a unit shouldn't be able to scout if it only has 1hp. Throwing away this idea for a reworked Ambush - that solves all of the old problems btw - just because it may be unfortunate for the ambusher to be discovered by a near-death unit makes no sense.

I mean, should Lancers be given a regular melee attack so that a defending 1hp Spearman can't kill an 18hp Lancer during the day in one hit? Just because there are effective ways to reduce the new reworking of Ambush's effectiveness doesn't mean that it shouldn't be used. The new proposal should solve all of the logistical problems of the ability, not be something that is uncounterable. Removing all attacks is a pretty hefty fine to pay. I would argue that if using weak units to find hiding units with the new Ambush were not an option that the new reworking would be all too powerful! You would garuantee the removal of a powerful unit from combat!
turin wrote:IMHO, the ambusher-disappearing-completely is the best idea, and is what we should work on - and we are. But we haven't gotten anywhere. :?
As far as I've seen, this idea causes nothing but logical nightmares. What if I want my unit to reveal himself when an enemy gets close? What if I'm just placing him in the forest to get the 70% defense it grants?

Displacing may cause my ZoC line to collapse, and allowing units to pass over does the same thing. From my perspective the idea has no merit.
jonathantan86
Posts: 57
Joined: February 26th, 2005, 9:26 am

Post by jonathantan86 »

Oops...forgot about the ZOC. Another solution we might try is to drop the Ambush ability from the Ranger and instead make a third upgrade line for the Elvish Archer. That line would be specifically for ambush and "quick strikes", not meant for ZOC purposes. Perhaps that unit should have greater speed and skirmish but have less HP and resistances.

That would complicate matters *a lot*, though...not only the unit has to be balanced but new art must be drawn.
User avatar
Cuyo Quiz
Posts: 1777
Joined: May 21st, 2005, 12:02 am
Location: South America

Post by Cuyo Quiz »

Would it be simpler to code an automatic combat for whenever the unit is discovered, as per the "if they undo-discover them, at least punish them somehow" suggestion?.

Basically, the ambushed is forced to combat using the attack that will deal less damage to the ambusher. A Grunt would be forced to a ranged combat, a Bowman to a melee one. No removal of atacks for anyone, just a forced combat with the advantage for the ambusher.

Then at least it becomes a tactic to use certain units to hunt ambushers. it also amkes ambush a more offensive ability and not a defensive one, since you know that if your unit is discovered, a combat will be happening.
Cuyo Quiz,where madness meets me :D
Turn on, tune in, fall out.
"I know that, but every single person nags about how negative turin is; it should be in the FPI thread "Turin should give positive comments" =)"-Neorice,23 Sep 2004
jonathantan86
Posts: 57
Joined: February 26th, 2005, 9:26 am

Post by jonathantan86 »

Cuyo Quiz wrote:Would it be simpler to code an automatic combat for whenever the unit is discovered, as per the "if they undo-discover them, at least punish them somehow" suggestion?.
It still doesn't solve the problem of "easy detection". A 1HP vampire bat (as JW said) or any other sacrificial unit can be sacrificed to detect the location of the ambusher.
User avatar
JW
Posts: 5047
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Post by JW »

jonathantan86 wrote:
Cuyo Quiz wrote:Would it be simpler to code an automatic combat for whenever the unit is discovered, as per the "if they undo-discover them, at least punish them somehow" suggestion?.
It still doesn't solve the problem of "easy detection". A 1HP vampire bat (as JW said) or any other sacrificial unit can be sacrificed to detect the location of the ambusher.
I don't see that as a problem. :?
User avatar
Elvish_Pillager
Posts: 8137
Joined: May 28th, 2004, 10:21 am
Location: Everywhere you think, nowhere you can possibly imagine.
Contact:

Post by Elvish_Pillager »

JW wrote:I don't see that as a problem. :?
It's a boring and annoying tactic. Boring for the player moving his units back and forth, annoying for the player whose "invisible" unit just got found as easily as any of his other units.

As to Darth Fool's solutions, the first is nothing more than "Invisible units don't block enemy units but don't get revealed," where the major problem is "Invisible units don't block enemy units". There aren't any other problems I can see with the idea; it's probably a coding nightmare, but so is the current Ambush. The second is worse - if the ambusher moves automatically, then instead of using undo to find the ambusher, the enemy can use his army to choose where to put the ambusher! :shock: Also, the ambusher wouldn't be able to ZoC any of them because the last forest hex left might be on the other side of the forest from the ambusher.

As to the four problems - 1 is the perfect solution from a coding point of view. 2 is not a solution at all, 3 is entirely out of the question, and although a lot of people have been brainstorming on 4, no-one's adressed the underlying problem.

Just from this thread, 1 is the only way that's gained any kind of support. :|
It's all fun and games until someone loses a lawsuit. Oh, and by the way, sending me private messages won't work. :/ If you must contact me, there's an e-mail address listed on the website in my profile.
Post Reply