Misdirection Mechanic Proposal

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Post Reply
Message
Author
grayswandir
Uruivellas
Posts: 708
Joined: Wed Apr 30, 2008 5:55 pm

Misdirection Mechanic Proposal

#1 Post by grayswandir »

I'm not terribly fond of how projectile evasion works right now. Currently, how projectile evasion (like you get from misdirection) works as follows:
When something fires a projectile, it rolls your evasion chance. If it does, it picks a random value from -evasion_spread to +evasion_spread to add to the target x location, and another random value in the same range to add to the target y location.

I don't like this for a number of reasons. First, it only works on projectiles - not beam attacks or ranged weapon hits (like the projecting ego). Secondly, I don't like how it's split into two separate values. Also, the player can get around evasion by just targeting the square behind the enemy with evasion - it's only triggered when the enemy is in the square selected for the shot.

A nice misdirection mechanic that affected the player would probably actually show the enemy in a different location. That's pretty involved, though. I don't think there's any easy way to get a misdirection effect on the player that can't be easily circumvented.

Anyway, I'm suggesting two improvements.

First, I'd like the amount of misdirection to be multiplied by the distance between the two actors, and to have it applied to all actions equally. This would improve two circumstances. An enemy across the room will no longer ignore your misdirection because its a beam attack, and an adjacent enemy will no longer be fooled just because they're trying to hit you with a projectile.

The second is to change the misdirection attribute to be a misdirection area. So, roughly speaking, if you got +4 misdirection for a given attack, then the enemy should target one of 5 random squares, centered on the one you occupy. This'd let you get several misdirection items stack without making it too strong - it's basically a natural square root scaling, but expressed in actual physical terms.

So, the end result would be a misdirection attribute which is your effective misdirection area at range 10. Every tile closer reduces this by 1/9, until there's 0 effective misdirection for adjacent actors.

Proposed code:

Code: Select all

function(self, target)
	if not target:attr 'misdirection' then return target.x, target.y end
	local distance = core.fov.distance(self.x, self.y, target.x, target.y)
	local area = 1 + target.misdirection * (distance - 1) / 9
	local radius = math.sqrt(rng.float(0, area) / math.pi)
	local angle = rng.float(0, math.pi * 2)
	return math.floor(target.x + 0.5 + math.cos(angle) * radius), math.floor(target.y + 0.5 + math.sin(angle) * radius)
end
Addons: Arcane Blade Tweaks, Fallen Race, Monk Class, Weapons Pack
Currently working on Elementals. It's a big project, so any help would be appreciated. :)

Doctornull
Sher'Tul Godslayer
Posts: 2402
Joined: Tue Jun 18, 2013 10:46 pm
Location: Ambush!

Re: Misdirection Mechanic Proposal

#2 Post by Doctornull »

Meh just give an Evasion chance which stacks with regular Evasion but only applies to Beams & Bolts.

Call it ... Ranged Evasion, to match with Ranged Defense.

Cap Evasion at 50% and Ranged Evasion at 50%.
Check out my addons: Nullpack (classes), Null Tweaks (items & talents), and New Gems fork.

Davion Fuxa
Sher'Tul
Posts: 1293
Joined: Wed May 22, 2013 2:39 am
Location: Halifax, Nova Scotia, Canada
Contact:

Re: Misdirection Mechanic Proposal

#3 Post by Davion Fuxa »

I personally don't see anything wrong with being able to dodge something when you are in the face of it. In many ways, a good example of this perhaps could be used with a Hockey example:

Two Players are approaching the Goalee with puck in hand. Assuming the Two Players are like the Main and Off Hands of the Rogue, if one of those players literally 'blinds' the Goalee so he can't see what the other guy with the Puck is going to do then he won't know where to correctly position himself to prevent a goal on the net. That concept works just fine for me with Misdirection because that's partly how I see it working in game to avoid the enemy getting an accurate fix to throw the attack..
Its amazing what the mind can come up with, but it shows talent to make something of it. - Davion Fuxa
Inscription Guide - Version 1.7.4 Steam Guide
Let's Learn Tales of Maj'Eyal YouTube Playlist
Edited Escapades of Fay Willows Google Doc

Omega Blue
Thalore
Posts: 190
Joined: Sun Oct 31, 2010 2:50 pm

Re: Misdirection Mechanic Proposal

#4 Post by Omega Blue »

I think it would be easier to treat evasion as what it should be: your foe hits the correct point in 3 dimensional space, except that you are not there. Just do that for every critter along the path of a beam.

For range weapons, I recommend deal with the issue by reducing the chance to hit at longer ranges. For example:

point blank range (adjacent or 1 space away, say) - bonus to hit
short range (2 spaces - 5 spaces) - standard chance to hit
medium range (6 spaces - 9 spaces) - reduced chance hit
long range (10 spaces or more) - further reduced chances to hit and reduced damage

Those distances are for bows. Slings are worse off.

This makes ego bows more interesting as the diversity is greater (e.g bows of true flight ignore range penalties)

cctobias
Wyrmic
Posts: 267
Joined: Sun Aug 24, 2014 11:37 pm

Re: Misdirection Mechanic Proposal

#5 Post by cctobias »

For misdirection specifically.

If we were talking about a player going against an NPC who had misdirection, then I would think the most directly 1-to-1 implementation would kind of work like stealth in that the NPC should be drawn as being on square x,y but is in fact on square x+/-m,y+/- m.

Of course the problem there is that you would need to roll each turn to see if had the correct or incorrect position and over time and given humans remember things the whole mechanic kind of fails.

From a computer perspective you could do this, in that you can enforce "dumbness", so rather than the trigger being on the targeting, you leave targetting alone and actually, sometimes, change where it think you are. This way everything is affected, movement, projectile beams etc.

How you would make such a thing work when a human is going against an NPC would take something far different and probably would be a different implementation entirely. Although having it be exactly the same as above would essentially create a "blinking" effect and if you made all the messages always appear as if you hit something that might work ok. In other words you also make various logging feedback "lie". The trick is basically figuring out which position is the non-misdirection position.

However if the creature is not actually moving, and misdirection is something like 20%. Then they would appear to be at x,y many times and then flicker around to various positions and it would become rather obvious which is the correct spot as he would keep "returning" to it often, so I doubt such a thing would really work. But it is close.

It seems to me some sort of false position that would follow a less obvious pattern could work well though. Basically like you see them drawn in a random place within rad 1-2. This would be rather different than the current straight up % avoidance type thing and I have no idea how it would scale and would be to good against computerized opponents. It would also be even less useful against AOE than normal misdirection of the rad is smaller.

grayswandir
Uruivellas
Posts: 708
Joined: Wed Apr 30, 2008 5:55 pm

Re: Misdirection Mechanic Proposal

#6 Post by grayswandir »

cctobias wrote:However if the creature is not actually moving, and misdirection is something like 20%. Then they would appear to be at x,y many times and then flicker around to various positions and it would become rather obvious which is the correct spot as he would keep "returning" to it often, so I doubt such a thing would really work. But it is close.
I'm completely fine with the player being able to figure it out given a few turns of observation. I don't see that as something desirable not to have.
Addons: Arcane Blade Tweaks, Fallen Race, Monk Class, Weapons Pack
Currently working on Elementals. It's a big project, so any help would be appreciated. :)

cctobias
Wyrmic
Posts: 267
Joined: Sun Aug 24, 2014 11:37 pm

Re: Misdirection Mechanic Proposal

#7 Post by cctobias »

grayswandir wrote:
cctobias wrote:However if the creature is not actually moving, and misdirection is something like 20%. Then they would appear to be at x,y many times and then flicker around to various positions and it would become rather obvious which is the correct spot as he would keep "returning" to it often, so I doubt such a thing would really work. But it is close.
I'm completely fine with the player being able to figure it out given a few turns of observation. I don't see that as something desirable not to have.

Well the thing with something like that isn't so much that its "figure outable" but rather that its actual effect would be hard to balance/scale/quantify or even understand in some sort numeric way. I mean it should create a few rounds of "uncertainty" upon initial sight. But is the value of that in terms of mitigation? If you somehow "increased the uncertainty" (lets say by making the distribution more regular) then how much on an increase in effectiveness is that(linear? expenential? neglible?)?


Right now the current Misdirection is a straight up mitigation, when taken over a large sample size, its numerically basically like having an extra ~15% mitigation effect multiplied onto your other mitigation for the things it applies to. Its avoidance so it can be spotty but on average its % mitigation.

So its not that its not desirable rather it can be problematic for the developer.

Post Reply