Want to discuss something that isn't related to 0 A.D. or Wildfire Games? This is the place. Come on in and introduce yourself. Get to know others who are using 0 A.D.
Here is where you can get help with your questions. Also be sure to tell us how we are doing. What can we improve? What do you wish we could do better? Your opinion matters to us!
This is the place to post general stuff concerning the game. Want to express your love for hoplites or find people to play the game with? Want to share your stories about matches you have played or discuss historical connections to the game? These and any other topics which are related to the game, but don't have their own forums belong in this forum.
Discuss the game play of 0 A.D. Want to know why the game plays the way it does or offer suggestions for how to improve the game play experience? Then this is the forum.
Do you have any questions about modifying the game? What will you need to do what you want to? What are the best techniques? Discuss Modifications, Map Making, AI scripting and Random Map Scripting here.
Forums for decision-making on issues where a consensus can't be reached or isn't sufficient. The committees are chosen from among the official team members, but to ensure an open and transparent decision process it's publically viewable.
Yes, with decomposition I meant a force causing the translation (your normal) and rotation (the perpendicular projection of your normal respect to the lever). By "radial" I mean the force vector applied to the centre of the object would give the direction of motion, which in your case it's the normal since you are dealing with a contact force. I tend to visualise things in a more abstract way (there are force vectors), and you in a causal way (the contact is a normal force). So all seems fine.
Yes, because translational and rotational impedance would be different. Imagine a ball moving slowly, but rotating really fast. If you push it off centre, doing so "in tandem" with its translation would benefit that more, while doing so "in tandem" with its rotation would benefit that more instead, because it's about applying the impulse as efficiently as possible (like pushing a swing with the correct timing), and there are two "independent" velocities in the system. Now, all that is just to justify that you can have independent scaling for translation and rotation. If choke points will be a mess or not, hard to tell without trying, that's why I said "hopefully", having in mind that in choke points relative speeds could become quite random, but hopefully low enough, although if objects accelerate instantly I have less hopes for things to work out (I hope ships need to accelerate though, otherwise my coming ramming ideas won't be as nice).
We don't decompose the collision vector. We calculate the resulting impulse from the contact normal, and the spin actually comes from calculating the torque given the impact position to the center.
Since the shape is (almost) a rectangle, then it's just about calculating the lever effect on a axis - the contact point projected on it.
Velocities are also calculated based on this closest point.
I think to apply your idea it would be to add a scaling to the lever effect? But I'm not sure it's always desirable, for example on the choke point wouldn't that create more units facing the wrong direction of movement?