View Issue Details

IDProjectCategoryView StatusLast Update
0003116Spring engineGeneralpublic2012-07-14 18:57
ReporterGoogle_Frog Assigned ToKloot  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version88.0 
Fixed in Version89.0.1+git 
Summary0003116: Hitvolume config causes invulnerability
DescriptionCertain hitvolume, unit centre and aimsphere configurations can cause a unit to be invulnerable (or take reduced damage) against weapons with low AoE. This can occur with non-contrived examples.

The first example is here from this ticket http://springrts.com/mantis/view.php?id=3103. It turns out that the tilted unit tilts the hitsphere such that BeamLasers do reduced damage.

My second example is in ZL v1.0.6.6. As far as I can tell the unit 'armanni' is invulnerable to all impactOnly weapons. It is also invulnerable to corstorm weapons which have some AoE.

I suspect this is a widespread problem with a few more unknown units taking reduced damage from certain angles/weapon types.
TagsNo tags attached.
Checked infolog.txt for Errors

Relationships

related to 0003103 resolvedKloot Reduced BeamLaser damage when tilted 

Activities

Google_Frog

2012-06-14 14:48

reporter   ~0008777

In the armanni case modelCenterOffset is also used.

Kloot

2012-06-18 12:50

developer   ~0008796

Last edited: 2012-06-18 16:43

_obviously_ it is possible to create such configurations, eg. a large ship might have a long thin cylindrical volume such that bow or stern weapon impacts would not cause any damage (because damage is based on distance from explosion impact to model center, and if that exceeds an explosion's AOE a unit takes none). now what do you expect to be done about this that doesn't completely change the balance of _every_ game&mod out there?

abma

2012-06-18 15:45

administrator   ~0008798

Last edited: 2012-06-18 21:45

shouldn't explosion damage not be calculated by the smallest distance to the hitbox? (without having any knowledge about this topic...)

if i understood this right, i wouldn't care about balance... invulnerable units are imo the worst thing that can happen to the "balance"...

Kloot

2012-06-18 22:26

developer   ~0008799

Last edited: 2012-06-18 22:27

it should, but the smallest distance is not that easy to calculate (when the volume is not a sphere or box) so approximations would have to be used which would again introduce weirdness like invulnerable units.

ie. completely solving this is not possible, unless the collision system were changed to only support spheres and boxes (something I am half-seriously considering).

abma

2012-06-19 00:44

administrator   ~0008800

Last edited: 2012-06-19 00:45

discuss/decide next week in meeting? (or here, maybe other devs have ideas/hints/opinions)

Google_Frog

2012-06-19 11:13

reporter   ~0008802

"_obviously_ it is possible to create such configurations"

-> "This can occur with non-contrived examples."


"only support spheres and boxes"

If this fixed all the current hitvolume/aimsphere weirdness I would support this. The weirdness includes this bug and a removal of the aimsphere in favour of aim tests based on hitvolume.

Kloot

2012-06-19 18:22

developer   ~0008804

Last edited: 2012-06-19 18:27

that is not going to happen because the aim tests take weapon spread (accuracy + sprayangle) into account, they don't intersect hit-volumes with a line but with a cone which is infeasible for anything but spheres.

Google_Frog

2012-06-20 06:41

reporter   ~0008805

Ok, fix aoe-damage calculation by restricting volumes to rectangle and sphere then let me define the position and radius of the aimsphere. I know manual definition of aimsphere could potentially break things but if it is used properly there are many cases where I could improve units behaviour.

Kloot

2012-06-20 15:19

developer   ~0008806

You can already define the position via UnitDef.modelCenterOffset (and Upspring for 3DO/S3O), or the midpos metadata key if using OBJs/assimp models.

Runtime manipulation of radius will be possible in 89.0 if it ever gets released.

Google_Frog

2012-06-20 15:37

reporter   ~0008807

That position is also the position for many other things. Nanospray moves towards it, commands are drawn to it and opponents aim at that point to attack the unit.

For example I have an amphibious unit with a turret mounted on top. The model center is set to the turret location so that it cannot kill things with impunity from just below the surface of the water. This messes up aiming, allied units with arcing trajectory cannot shoot over it when they should be able to.

Kloot

2012-07-14 18:57

developer   ~0008983

done for 89+

Issue History

Date Modified Username Field Change
2012-06-14 14:46 Google_Frog New Issue
2012-06-14 14:48 Google_Frog Note Added: 0008777
2012-06-18 12:50 Kloot Note Added: 0008796
2012-06-18 15:45 abma Note Added: 0008798
2012-06-18 15:46 abma Note Edited: 0008798
2012-06-18 16:43 Kloot Note Edited: 0008796
2012-06-18 21:45 abma Note Edited: 0008798
2012-06-18 22:26 Kloot Note Added: 0008799
2012-06-18 22:27 Kloot Note Edited: 0008799
2012-06-19 00:44 abma Note Added: 0008800
2012-06-19 00:44 abma Note Edited: 0008800
2012-06-19 00:45 abma Note Edited: 0008800
2012-06-19 11:13 Google_Frog Note Added: 0008802
2012-06-19 18:22 Kloot Note Added: 0008804
2012-06-19 18:27 Kloot Note Edited: 0008804
2012-06-20 06:41 Google_Frog Note Added: 0008805
2012-06-20 15:19 Kloot Note Added: 0008806
2012-06-20 15:37 Google_Frog Note Added: 0008807
2012-07-14 18:57 Kloot Relationship added related to 0003103
2012-07-14 18:57 Kloot Note Added: 0008983
2012-07-14 18:57 Kloot Status new => resolved
2012-07-14 18:57 Kloot Fixed in Version => 89.0.1+git
2012-07-14 18:57 Kloot Resolution open => fixed
2012-07-14 18:57 Kloot Assigned To => Kloot