New Targeting Methods: "Target Specific" and "Eliminate Danger"

In DQHD/DQII weā€™re making a few slight tweaks to the targeting engine.

  1. Bulldog Mode --> Target Specific
  2. Add ā€œEliminate Dangerā€ target priority

Iā€™d like to discuss these a bit here before I get to implementation.

Target Specific

Bulldog mode was always a bit of a hack to cover a gap in our targeting AI. When a defender is in ā€œBulldog Modeā€, whenever they acquire a new target, they stick with it forever until that target either a) dies or b) goes out of range. This is meant to cover the case where you have set up the targeting scheme you need to target enemy X, but as a result of doing damage to X, or other enemies coming into range, the defender switches away from it. Bulldog mode ā€œfixesā€ the problem, but is very micro-managey as you have to first ensure that your defender is targeting what you actually want, then switch on bulldog mode, and remember to switch it off again afterwards.

I think it makes sense to just replace Bulldog Mode with ā€œtarget specificā€ instead ā€“ an interface that just says ā€œHEY, TARGET THIS ONE OVER HERE.ā€ Iā€™m still working out the UI for it, but I imagine it works like this, you click ā€˜target specificā€™, then an interface not unlike placing the lightning spell comes up, and you click on the enemy you want. While hovering over enemies an outline will appear on the one your click would select, so itā€™s easier to narrow in when enemies get crowded. If necessary I can pop up a disambiguation selector if a particular square is REALLY packed. Anyways, you ā€œpaintā€ the selected enemy, and as long as you keep it painted your defender will target that enemy above all other targets until it dies or goes out of range. As a plus, if that enemy wanders back into range, youā€™ll start targeting it again (bulldog mode had no way to handle this).

Eliminate Danger

In my own playthroughs a pattern I reach for a lot is ā€œkill all the enemies that are dangerous so I can keep my weak team members alive,ā€ but the targeting tools donā€™t give me a way to say that directly. So I think a ā€œtarget most dangerousā€ target priority makes sense. However, thereā€™s multiple ways to implement this. For instance:

  • Should it be a primary target option (First/Last/Strong/Weak/Fast), which are mutually exclusive?, or
  • Should it be a secondary target option (Cheap/Effect/Chance/Specific/Boss), which are stackable modifiers?

The way targeting AI plays out is by comparing two enemies. If the primary logic is ā€œfirstā€, then between A and B, it picks the one closest to the end.

Secondary logic is a bit weird as it sort of mutates your attack logic ā€“ affecting which attacks to use and sort of presorting which enemies youā€™ll consider ā€“ Cheap makes you favor using lower-boost attacks to finish off an enemy if it looks like it will do the job, to save your big moves, Effect makes you spread out your status effects, Chance makes you avoid wasting attacks on enemies likely to dodge/resist them.

So it seems to me that ā€œtarget dangerousā€ seems like more of a primary target than a secondary, but maybe it makes more sense as a secondary?

Next, how would ā€œtarget dangerousā€ work in principle? Thereā€™s a few ways:

Target enemy with:

  • highest threat (naive DPS stat)
  • highest threat TO ME PERSONALLY (ie, Ketta ignores death worms about to kill Slak, focuses on slightly less lethal snake ghouls that can target her instead)
  • highest threat, andā€¦
    • take enemy range into account
    • take # of defenders actually in enemyā€™s range into account
    • take # of defenders actually likely to be harmed into account (if def armor > enemy attack, theyā€™re ā€œsafeā€, etc)
    • take # of defenders actually likely to be killed into account (if def is close to death add a strong weight)
    • enemy itself closest to death. (So itā€™s better to finish off a 10-attack enemy NOW than pump some more damage into a big huge enemy with 11-attack that wonā€™t die for a while).

Anyways, I donā€™t want it to get too complicated, as trying to make the algorithm do too much thinking can actually make it harder for the player to use effectively, but I think something like ā€œkill all the really bad stuff before it kills my defendersā€ could be helpful.

Iā€™ve got to be perfectly honest: I beat DQ on Normal, NG+ and Hero Mode without ever seriously using the targeting methods. They looked good but I realized I never actually had to use them. I imagine the vast, vast majority of players did, too. In fact I canā€™t remember a single LPer who ever used them either.

The casual player isnā€™t using the targetting system from what I can see, or even the average dedicated player. :stuck_out_tongue: Maybe this might be more relevant in DQ2, though.

I think about the only targeting system Iā€™d use is something like Azraā€™s spells to issue orders to my entire army with. Select command:

Target Enemy: Click enemy you want all Defenders available to focus fire on until death. Click again to disable / select a new target.
Target Area: Click wherever you want all Defenders available to focus their attacks on as a top priority. Click again to disable / select a new target.
Target Type:: Click an enemy you want all Defenders to focus fire on. The selected enemy and all of itā€™s type (Shadow Worm, Armored Ghoul, etc) will take priority above all other enemies. Click again to disable / select a new target.

Anything beyond that requires a little too much micromanagement from what I do in TD games. Maybe DQ could offer to let you switch between ā€˜Simpleā€™ targeting (this) and ā€˜Smartā€™ targeting (existing commands)ā€¦

Are you saying you never used the advanced targeting methods, or just any of the targeting methods at all? Did you seriously get by for most of the game just using ā€œtarget firstā€ ?

Pretty much. Everything that seemed like it might slip past my defenders got zapped to death by insanely powerful, cheap casted lightning. At 1/2 speed if it was necessary. If a bunch of armored ghouls got past my knights, Knockback handled that to let them go through the grinder again.

But I also built my team for maximum synergy, maximum DPS, too, soā€¦ not much got by.

Inspire, Berserker +Bleed / +Speed, Archer +Crit/Poison, max Chill, max Frenzy. And a pair of bodyguards near Azra with maxed Roar, just to ensure anything that tried to bullrush Azra got frozen long enough for I sincerely donā€™t think I ever needed to tell my defenders to do anything. I watched a few LPs of the game too a while back and I canā€™t remember anyone taking the time to give the units orders. It just would have taken too long giving orders to that many characters. The most complex it got was me telling my berserkers to chill out for a bit and stop attacking when spikey fellows were around, by disabling their attacks. :stuck_out_tongue: If there were a way to order my entire 20-36 unit army about at once I probably would have.

I admit that per-unit targeting is a niche feature, but thereā€™s an unarguable edge to using it; I havenā€™t measured it exactly but it lets you extract a lot more performance out of a team than just using target first for everybody will get you. This reduces the amount of grinding you have to do to beat a particular challenge. And after we make final tweaks to make 100% hero mode possible, I expect it will be the only way to achieve that, given the level cap. So I feel pretty strongly that even though itā€™s mostly for advanced players, itā€™s something I want to keep.

That said, global targeting sounds like an interesting feature, and definitely involves less micromanagement. I have some ideas where that might go in the UI as wellā€¦ will have to think about this a bit.

1 Like

Oh, yeah, I wasnā€™t suggesting the removal of it. Itā€™s handy for people who try to do low level, no grinding, etc runs. Just that Simple / Smart targeting could maybe be switchable in the options menu, if they didnā€™t have room to co-exist.

How are you making 100% hero mode possible, by the way? Is the game going to see we only have 1 of each character and reduce enemy stats / numbers by some %? Or is it a nerf thatā€™ll impact non-Hero Mode too?

Itā€™ll be a slight tweak to the battle enemy waves most likely, the lightest possible touch to make them beatable in hero mode. Thereā€™s only a few that are so far believed to be impossible. The other level we might pull is very slight tweaks to certain skills or NG+ unique upgraded items.

But no, it wonā€™t be a gated ā€œoh youā€™re in hero modeā€ switch.

I didnā€™t make use much of any of the advance targeting systems.

It went mostly down to each class having a specific targeting system that suited them and I always used that with no variation or anything.

When it comes to the ā€œtarget specificā€, I honestly donā€™t know why you donā€™t just do it the way most other games do it:
If you have a friendly selected and you click on an enemie, that friendly will attack that enemie if possible.
When friendlies are mobile, they would seek out that enemie, which isnā€™t the case here. So the friendly would simply attack the enemie with possible and if it canā€™t attack the enemie, it simply inores the command alltogether and sticks with it normal targeting.

For me that would be the most intuitive way as that is what nearly every game does (i.e. when having a unit selected and using the default ā€œactionā€ key which is usually either the right or the left mouse button, it will then proceed to attack the enemie that you clicked on, or walk to the destination you clicked on).
That would also result in you being able to do that faster. Click the friendly unit, click the enemie unit. Done.
And you can go even further like that:
Select multiple friendly units, click on an enemie unit. Now all selected will attack that enemie.
Having to press some kind of targeting button first to enable that mode is simply an additional click and extra mouse movement and thous discurages the use of that feature.
Just keep it simple.

This is a good point, the main thing is that thereā€™s an ambiguous case ā€“ if I click on an enemy, do I mean to target it, or do I just want to look at itā€™s stats? Some sort of disambiguation is necessary.

Regarding the ā€œEliminate Dangerā€:
I honestly donā€™t think that this one is really needed.
What would be usefull if you someone define yourself what ā€œstrongestā€ means, because it currently (if I remember correctly) only means ā€œthe enemie with the highest HPā€, which isnā€™t necesserily what I would want to attack.

Would would be a nice primary target option would be ā€œAttackerā€ (similiar to fast). But unfortunately, I wouldnā€™t be able to mix that with ā€œweakā€ and maybe ā€œnearestā€ or even ā€œlastā€.
Because If I think of a Danger, then It would be attackers. And the most sensible option in my opinion would be to attack the attackers with the lowest HP first to get the least amount of damage.

I realize that I derail a little here, but what I would actually which for if I had some kind of ā€œtargeting priorityā€ that I could set for most of the options. That way I could easily customize them without you actually having to implement much more.
When I set ā€œattackerā€ on first, ā€œweakā€ on second and maybe ā€œlastā€ on third, then that unit would target attackers first if there are any, would attack the weakest one of them and if there are several with nearly the same hp (or hp%), then it would attack the one furthest from the ā€œgoalā€.

the biggest Problem that I see with ā€œEliminate Dangerā€ is that itā€™svague. What is a danger? And is what you / the game sees as the current danger the same thing that I see as the danger?

So I would once again vote for some kind of ā€œpriorityā€ system which gives me a lot of freedom and letā€™s me define what the current danger that needs to be eliminated actually is in addition to giving me a lot of other customizations.
Just add a few presets for priorities for the casual players and all is set.


Regarding your ā€œdo I want to target it, or want to look at itā€™s statsā€:
Granted, this is difficult, but actually itā€™s also quite easy.
You simply have to decide for one thing and stick with it. The player will soon get used to whatever behaviour you use.
For example, left clicking the enemie normally would mean ā€œgive me the statsā€, but when having a friendly unit selected it would mean ā€œattack that enemieā€.
As long as you stick with it, itā€™ll be fine, the player will learn about that soon. Especially with a good tutorial that introduces that feature ^^

Tbh I donā€™t think this needs to be changed.

The only thing that I think bulldog mode needs is automatic deactivation when the target canā€™t be, well, targeted.

I have definitely found current options to be quite limiting in certain ways. In particular, I often found levels than needed me to start a wave with Ketta on strongest (or even last), and switch her to first at the correct time. (The theory being to get the wave in range of Slak asap, but then to keep the tail of the wave from being overwhelming.)
If I remember correctly this is particularly apparent when trying to play all (full) stars once with 50% xp and 50% scrap - a variant of the linear gameplay that uses the full game. Until acquiring the first reward weapon the levels are brutally difficult because you are so under-leveled and ill-equipped. It is possible (I did it somehow) but it requires a lot of weird targeting shenanigans to do it (and also figuring out the minimum and correct times for spells, since low Azra level means psi is limited too).

Target Specific definitely will fix these issues - at the cost of significantly more micro ability. You no longer have to fight the system (a good thing in almost all cases - see GSB1 for the rare exception, kinda). This is in alignment with your design philosophy I think - let the user do what they are trying to do. With target specific, you now get to do anything!

Butā€¦ you now get to do anything. Analysis paralysis, click overload, playing every map on 1/4th speed and wondering why it takes forever to play the game suddenly become normal. I personally love a good, deep, challenging experience I can take my time at, but for a lot of people the idea of spending a full hour on a singe map is just crazy. (Honestly, when trying to farm boss battles, wave 250+ on the linear play-though for the first infinite level is a real pain - you spend all your time trying to not hurt the boss! So wish he was gated like the final so I could stop having to turn on and off the archersā€™ depending on what is in range. Also game takes 1.5GB+ of ram by the end of thisā€¦ something still leaks?)

Triple shot in particular interacts poorly with all the current targeting options, since you normally want it to go for max damage. (But the rest to go for first - attack priorities for different attacks? Ack!) While both the original ideas seem reasonableā€¦ donā€™t go too deep into this rabbit-hole, as IMO there is no getting out. Just slap in whatever you can code and let us know how it is working, weā€™ll figure the rest out. (Especially if we have ultimate power from Target Specific available.)

As the person who more or less forced you to invent the bulldog mode, I have to say ā€œplease keep itā€.

There are two major uses for bulldog mode:
a) deal with specific tough targets, especially i.e. porcupine ones, where you want your rangers to clear them off
b) deal with regens of all kinds.

While in first case having manual targetting would do the job, in second case such change would in fact introduce even more micromanagement than there is today. (and @mandude: this is exactly why I would have automatic bulldog mode deactivation)

On the second subject, eliminating danger - for me definitely primary logic.

Making a good definition of most dangerous enemy is difficult, but highest DPS probably makes sense as a simple and universal approach. Sure there might be situations where a lower-dps enemy could pose more danger, but you can never please everyoneā€¦

Okay, a lot of food for thought in this thread. Will definitely be interested in testing a few of these modes and weā€™ll keep whatever makes the most sense.

@Coyot: to read you correctly, am I right in understanding you are agreeing with @mandudeā€™s suggestion to make bulldog mode ā€œturn offā€ when the enemy target becomes unavailable?

No, the exact opposite. When I switch to bulldog mode to deal with any and all regen creeps one by one, I definitely want to stay in bulldog mode.

Forgetting to switch it off is usually much less painful even if used in the other scenario, anyway :slight_smile:

I know this is probably a fairly dead post at this point, but I would like to offer an idea - and I /just/ found this gem of a series.

Allow setting the priority between the advanced targeting modifiers. This way players can set up a fairly complex system of logic with, hopefully, a lot less gui.

(in effect donā€™t make them any more or less important than the others other than based off the of the order the player sets them to be prioritized in)

Say, as an example, sometimes I might want to kill off enemies with the highest attack, but start with the enemy with the least health so I take the least damage - or in a different situation I might want to attack the enemy with the highest heath so I donā€™t wast any dps, but if there is a choice, I want to attack the enemy that doesnā€™t have any armor.

A drag to change position column or row with all modifiers seems like the most compact way of implementing this on the screen at first thought.

Iā€™m doing the same. But for a few exceptions I set the target depending on the character Iā€™m using. On that note, would it be possible for the game to remember what settings were in use for a given unit before being recalled (possibly even from past game sessions) and restore those when it gets summoned again?

On topic, Iā€™d be careful adding to many different targeting modes.Those listed are fine with me though. But it can also be dealt with by making maps with more detours and ensuring that all enemies, at some point on their path, can be specifically targeted using the available options. For example, consider a wave of 3 types : dangerous, tanky and noise. What I mean by noise is that it will mess up your priorities by, say, having less HPs than the dangerous ones hence being picked first if you set your units to target the ones with least HPs. Those 3 spawn from the same point, but the dangerous and tanky ones would fork for like 5 tiles before joining back with ā€œnoiseā€. If you have issues beating the level and notice that kind of shape you might be able to pull it off by exploiting this ā€œforkā€. I realize thatā€™s a heavy weight put on content creation, especially with multiple difficulties and stuff, but I also think that having more of this puzzle layer thing would make the game more interesting.