Suggestion: Momentum, Friction and Attractors - a possible major improvement to combat

Users who are viewing this thread

TL;DR: By treating each unit as a particle with momentum and friction, as well as reacting to attractors (and repulsors), you can resolve bottlenecks and dumb behavior, as well as adding realism and more tactical depth to the game.

1. Momentum: When riding into a crowd, the units on foot slide to the side of a mounted unit, when in reality you should see the impact throw bodies back as momentum is transferred from the mounted unit to the ones hit. The more bodies the mounted unit hits, the more it loses momentum. The bodies that are thrown may collide with someone nearby, imparting their momentum on others, etc etc, making a sort of ripple effect. Since these impacts are not perfectly inelastic, the "wave" should die out after the second or third person in the chain of collisions.

These impacts, should interrupt weapon swings or even knock people down. A simple calculation could be if the momentum transferred (∆mv) overcame a threshold for knockdown, which could be calculated by the unit's mass, and their movement state (bracing would give a bonus, running would be a penalty), and maybe even their athletics skill.

This brings up the important, very important concept of bracing - when shieldbearers in a shieldwall interlock shields, and soldiers behind them help reinforce by pushing or putting additional shields on top of the first (kneeling rank). Currently in Bannerlord (as Warband, as well) you'll see a mass of infantry run into a mass of stationary infantry, but instead of bouncing back, the charging infantry mass compacts into a tightly overlapping mass of soldiers bodies clipping into one another. What should happen instead is that the first wave of attackers will hit the shieldwall (with their bodyweight behind their own shields, in an attempt to break the wall) and we should see them bounce backwards like a ball bouncing off a wall. The attackers right behind them will collide with this first rank, bouncing the first rank against the wall again, and the friction (more on that later) that reduces the momentum transferred from all these reactions means that within a few seconds, the attacking mass stops vibrating.

This is then a good point to talk about....

2. Friction: There's two kinds of friction, static and kinetic. But rather than a complex calculation of every surface of a unit or weapon or shield, you can simply treat the entire unit as a particle, and you can think of the unit's stability (ability to stay in place) as the coefficient of static friction. It suffices to say that once you overcome a certain threshold, you'll move that unit. Think of two wrestlers with interlocked arms that are simply pushing on one another. If one wrestler is stronger and pushes the other back, we can say that the weaker wrestler's stability was overcome, as in physics when a force overcomes an object's static friction and starts moving it.

When an attacker charges and hits shield-to-shield with a defender, unless that defender is sufficiently braced or massive, they will be thrown back (and the attacker will end up not moving, having transferred their momentum). If instead you have two defenders pushing on a single shield, it is more likely that it will be the attacker that bounces backwards. Since humans are not infinitely hard objects not all the momentum is perfectly transferred or reflected - think of arms and legs as dampening shock-absorbers. This in effect becomes the kinetic friction between moving objects. Soldiers moving in tandem in a formation (not bumping against each) other minimize this kinetic friction. How well soldiers move in tandem is matter of drills and practice - and modeling this self-organizing behavior is where attractors and repulsors come in.

3. Attractors / Repulsors: The game already uses some form of them, and it's easy to see in the way units move or go into formation. What I'm suggesting is having additional attractors/respulsers on a smaller scale, and to implement some features that may require more animations to be made:

- Sticky Spots: Any time someone grapples another, locks shields, pulls or pushes; these two units are effectively stuck together. In-game, it should work like magnets coming together. For a shield wall, each unit's shield should have a "Friendly-Shield-Attractor" point to the left, right, and above (if the game wishes to implement testudo formations). That means a friendly unit nearby have a magnetic-like force attracting their neighbors's shield, but only opposite sides; in other words, left sides of shields only attract right sides, and vice versa.

Another use for stickiness is at geographic features or structures. For examples, the edges of crenels of a battlement should attract nearby ranged units to stand just slightly aside the crenel, and pop out to shoot intermittently. (This highlights the need for a "shooting from cover" animation in game, by the way). Trees should generate an attractor on the side opposite the opposing force, so a dispersed troop of archers in a copse of trees will automatically station themselves behind those trees, minimizing their exposure. The stickiness of that position keeps them from moving around constantly (unrealistic and immersion-breaking) and they are more likely to stay in place when faced with a charge.

An infantry unit in the first rank of a shieldwall should also have an attractor for second rank units to come up behind and hold their shields upward and provide greater stability for the first rank. The second rank units should generate an attractor for spear-wielding units to come up behind and thrust weapons over the first two ranks.

There's lots of positions around siege equipment for units to hold up shields protecting the units moving the towers or battering ram that need to be addressed, as many others have pointed out.

- Personal Space: without changing the size of the collision mesh, each unit should have a respulsor acting at close-by distances. That way, units can get squished together momentarily (like from two crowds colliding), but they will naturally spread out after that (unless they are sticking together, as outlined above).

- Hazards: The edges of walls and stairs without safety railings should also exert a repulsor force, which is only come when there's a lot of shoving that makes units fall over the edge (not simply thru accident of overcrowding). The falling animation should happen for any unit that falls over an edge, for that matter.
 
Your ideas are good, but they're done with this game. Take your suggestions to the Bannerlord board, where you'll find a much warmer reception to your ideas. Anyways I don't think the original M&B's engine could handle all of that.
 
Your ideas are good, but they're done with this game. Take your suggestions to the Bannerlord board, where you'll find a much warmer reception to your ideas. Anyways I don't think the original M&B's engine could handle all of that.
I'm an idiot and didn't realize what forum I was posting on!! HAhahaha *headsmack*
 
Back
Top Bottom