I catheced this at the time Hailston posted the said "alpha" content.
(quote snipped by jda)
Also, I didn't really understand your first sentence...
Nevermind, it's irrelevant anyways but the second word on it was supposed to be 'catched', 'saw'.
Thanks John, that clarifies the post for me significantly. I hadn't realized that somebody noticed my "feature idea" and put it down in the "TODO maybe someday" list, lol.
It would be a cool idea to implement, not to mention realistic and useful.
Tanks, for instance, have traditionally been less armored on their top and rear (and to some degree on the sides as well). Specific anti-tank weaponry and tactics have been designed to take advantage of this very fact. For example, mortars launched with a very high arc so they'd strike at a more perpendicular angle - or infantry targeting the tracks to reduce it's mobility.
I wonder - from a purely theoretical standpoint - what kind of coding approach would be good for this. We'd do best to start a new thread though, rather than keeping this thread in a zombie state any longer.... haha.
Actually I agree
only partially to that.
There was also some ticket I commented on the GAE tracker (don't remember the number now) that mentioned different kinds of armor for different different pieces of a given model.
I disagreed with that one because:
1. You would have to define, most likely in the .g3d not the XML, what parts had what armor-type. That would be a pain to mod and would actually be mostly irrelevant to a RTS game (more apropriate for a FPG). It could be done through the apha channel's and different predefined alpha exact values for each part of armor but the alpha channel is already taken up by the teamcolor (which you can make more or less proeminent through the said alpha value, I do that just for the proper looks
).Your 'sides' aproach however doesn't require that, so it's alright so far.
2. You would also have to do something similar on the attacker's side, to define which part of the object would actually be attacking (on a non projectile-based attack) and in what part of the motion (e.g. 'at frame 3' or 'between frame 3 and 4'). And both this and point 1 above would need tho test for specific mesh-parts collision...
Regarding this point for your aproach:
- Mesh-parts collision would be just as messy and irrelevant as stated in point 1.
- Mesh collision would not be needed for the "which horizontal side is the attack coming from?" because you just need to know what part of the target is "facing" the attacker.
But you would need it to determine whether an attack was coming from the 'top' or the 'bottom'.
- The above paragraph applies to mellee attacks period.
- Regarding projectile-based attacks regarding the same paragraph mentioned before, they are currently always set to hit the center of the unit (I think but am not completelly sure this is determied both by the target unit's size as well as the height and also the field values); but this could be changed more easily I guess, maybe setting it on the attacker's .xml ...? So... again, for which horizontal side the attack was coming from... feasible. For determining whether it came from above or bellow... I think not really.
- On top-bottom hiting projectiles, I guess you could alter that to somewhat offset the target-point relative to the target unit's center.
Though on moving units and attack coming from above might actually hit the target in the foot...
Again, in a modders perspective, you did not really need to work on "sprites" (mesh collision), the engine could actually determine if the projectile had arrived at a fixed object and if not determine what third of the unit's vertical height it actually hit.
In brief, my opinion:
- Mesh parts collision test is unfeasible/unpractical/mostly unneeded.
- "Horizontal side attacked?" rather easy to implement (from a moddder's POV, not necessarilly a coder's one
).
- Attacked on top or bottom not really feasible with current targeting mechanics but I guess could be coded around.
What do you think?
BTW... if you do post another thread on this, let me know, I'll copy this to a reply to that thread and delete it from here.