Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 8

Author Topic: Armed Combat Overhaul thread.  (Read 18736 times)

bjlong

  • Bay Watcher
  • [INVISIBLE]
    • View Profile
Armed Combat Overhaul thread.
« on: December 04, 2008, 04:59:17 pm »

Quote
Core73, COMBAT OVERHAUL, (Future): This one is a bit vague, mostly because the Combat Arc consists of so many small changes rather than a few sweeping additions. Aside from obvious changes to projectiles and the wrestling interface, skills could afford to overlap, attributes need to be associated to skills properly, skills could become rusty and ultimately degrade as in Armok 1, new general combat related skills can be added, styles/techniques for weapon/weaponless fighting roughly along the path Armok 1 had started, etc. As a dev item, this'll be done when combat more or less makes sense.

Req331, ATTACK OPPORTUNITY NUMBERS, (Future): It should generate random variations on rolls for each attack for a given turn between each creature, so that a swing at the head one turn is almost impossible, while grabbing the arm could be three times as easy as normal. This will lead to more variety in combat AI, rather than just having the 'best' moves used all the time.

The current combat system treats unarmed combat fairly well for this stage, while armed combat is much more... boring. This needs to change.

1.) Create a system much like unarmed combat for weapons fighting in close quarters. The system would revolve around "lines of attack" to describe how the blow would fall. The lines would be determined based on a 3x3 grid system.

An attack along any of those lines must hit certain body parts. A good start would be to emulate a basic fighting stance with two hands on a weapon, and see which body parts you could hit.

The interface would be something along the lines of attack w/weapon->start point->end point. If the start point and end points are the same, then the system interprets that as a thrust.

However, this isn't a full simulation yet...

2.) In most fighting systems, blows with weapons are delivered with steps, to increase power and change the range. This should not only be possible, but desirable. Perhaps it gives bonuses to the damage of the strike, with a small chance of overpowering any blocks? This can be done with the charge system in place now.

3.) The attacking along lines idea would work well with a more advanced system of determining possible targets. This could grow into a quick dwarf dodging a thrust, seeing the weapon arm wide open, and delivering a blow. This would improve on the random number generator above, but might make presentation a lot more difficult.

4.) Speaking of tracing the weapon's arc, this could be expanded into parrying. The weapon's (and arms') arcs could be saved, and a combatant could try to move his weapon into one of these arcs, altering it to keep it from hitting him, as a reaction.

STILL TO DO: Differentiate stop-blocks, setting aside, and counter attacks that would stifle the original attack. Expand this into multigrasp weapons. Allowing sufficiently long weapons to attack with one part while blocking with another part.

5.) Binding.

STILL TO DO: Everything.

(My original idea: This would be horrific to code, but it's an integral part of weapons fighting. Binding in real life is difficult to accurately model because it depends heavily on the interplay of torques between weapons. A crude simulation would have a weapon divided into so many parts (say, 5 for a dwarven sword) and use integers to represent length (1-5). The torque could be length times strength. The total torque divided by the moment of inertia of both weapons (which could be simply additive--an approximation function would have to take over here) would be the total angular acceleration (Again, approximate this to a nice, simple number). When you can thrust, slash, or bash according to the arc system above, that option appears.

Still talking about binding, there are more interesting things that can happen with binding, such as suddenly breaking off a bind to throw a much stronger opponent off balance (time spent off balance= torque applied/the dwarf's speed?). This would have to allow how much strength you put behind a bind be variable. It would also have to have the difficulty of slipping from a bind inversely proportional to the length. There are other nasty things, too, like using the hilt to bash your opponent's face from a bind. This requires that in the bind, one can pivot the weapon around the bind point.)

6.) It would be helpful to start keeping track of the velocity of strikes and weight distributions, with massive approximations, and make damage dealt proportional to the momentum.

7.) Fighting with not-really-weapon areas. This would be basically bashing with hilts, crossguards, stabbing with anything pointy, slashing with anything sharp, and so on. Should be an "attack of opportunity" or last resort. Would require that everything that's edged have a sharpness value, everything pointy have a stabbiness value, and everything else having a weight value, to create realistic fighting. Weight shouldn't be too hard, esp. if you define volume and material density. Sharpness and stabbiness could be set arbitrarily.

STILL TO DO: Attacking with *parts* of the weapon would require some gymnastics, such as sectioning the weapon--but perhaps that can be done with the length figure.

8.) Stances. This fits in nicely with the arc idea--from one stance, your arcs will come in one way, and so can be blocked like so, but from another, they'll come in another way, and a different method of blocking is in order. Also, parrying from one stance is easier than parrying from another stance, and the arcs would reflect this. Perhaps DF can make these stances simple, and cache the distribution of the body parts in the 3x3 grid.

STILL TO DO: Figuring out a way to generate effective stances at world-gen, or whenever needed. Figure out a way to generate attacks, defenses, and so forth from a stance. Use the position of body parts to determine what attacks are stronger than others. Use the position and strength of a swing to determine how long it takes to land, and all the related stuff for parries.

9.) Range. It should come into effect here, as a dwarf should be able to simply step back to keep someone from actually hitting them, if they're far enough away, and quick enough. This would require length, width, and height dimensions given to every object in the game, and enforcing these dimensions in tile space.

STILL TO DO: Moving things into tilespace as-is.

10.) Related to range, sidestepping certain attacks should be possible.

STILL TO DO: Determining when this is possible.

So, these are all really not much fun to code, or pragmatic in and of themselves. However, if these are treated well, and don't take too much memory, the following exchange could happen quite regularly. (Warning: Uses original binding idea.)

Two swordsmen stand at the ready, holding their swords above their heads, over their right shoulders.  They stand two spaces away from each other, as they want to stay out of range of the other. The first dwarf, Urist McSlashy, steps foreward and swings across,  at the second's exposed left shoulder. The second, Urist McStabby, swings diagonally downward at the McSlashy's left shoulder, with his hilt more downward,  putting his weapon in the way of McSlashy's cut. He also steps foreward.  McSlashy, seeing his predicament, and seeing that his weapon's length 4 is on his opponent's 1, binds McStabby, overpowers him, and stops the cut to his shoulder. McSlashy quickly attempts to thrust at McStabby's face, moving his weapon from binding at length 4 to length 2. McStabby steps backward, moving his weapon from binding at length 1 to length 4, and is able to set aside the thrust. He then steps foreward to return a thrust at McSlashy's face, moving his weapon from binding at length 4 to binding at length 2. McSlashy sidesteps this diagonally foreward, continuing to bind McStabby. McStabby is unable to turn his sword, since both are binding at length 2, and they are of similar strengths. McSlashy is therefore able to quickly pivot his blade around the McStabby's blade, and thrust his hilt into his opponents face to knock him out.

I stole most of that from some medieval fightbooks.

tl;dr: Weapons combat needs an overhaul.
« Last Edit: January 11, 2009, 03:37:54 pm by bjlong »
Logged
I hesitate to click the last spoiler tag because I expect there to be Elder Gods in it or something.

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #1 on: December 05, 2008, 12:42:00 am »

Disclaimer: I don't know shit about fencing or stabbing people

The "lines of attack" idea is excellent and should even be pretty feasible -- next version will have some better body part positioning, so the game should have a good general idea of where a blow on the "top left" should land.  I would suggest having an underhand stabbing motion in addition to overhand thrusts, not only for close-in dagger work but also for similar motions like hilt-bashing.  Each of these general motions could have its own associated skill, so that swinging a hammer could carry over (somewhat) to swinging an axe (although thrusting with a pike bears little resemblance to thrusting with a sword, so maybe there could be separate skills for "multi-grasp thrusting" and "single-grasp thrusting").

1.) At a basic level, you could use the "charge" system for this.  That would be straightforward.

2.) Hmm... okay, given the swing/thrust direction (and maybe some info about whether the target was missed, or the blow glanced off, or the arm was hewn off or whatever) we probably have an approximate idea of what "quadrant" the weapon occupies after the attack, and therefore the wielder's hands as well.  This would be enough for simulating an "exposed weapon arm," which is fucking awesome.  It could also be used for chaining swings together in a natural way.  Inferring stance beyond that would be extremely hard, I think.

3.) Yes, since the game knows the (highly approximate) positions of weapons and shields, this should be easy.  It's just the flipside of exposure.  Again, awesome.

4.) Tracking torque and angular momentum is essential for differentiating a halberd swing from a knife swing (and linear force/momentum for thrusts, I guess), so tracking length is important.  You need some basic information about weight distribution too.  Binding, though... that raises a whole slew of questions.  Can bind points slide?  Whose weapon do they slide along?  Does it depend on the friction coefficient?  And to support sneaky bind escapes, you'd need to track so much more about how the weapons can pivot, and what orientation they end up in as a result, and so on.

Honestly it seems like a can of worms.  Maybe if you kept it to a stationary bind point (for torque calculations) and excluded the sneaky techniques, it would be feasible.

Side note: the grip point should also be tracked relative to the length, to model weapons gripped near the middle (quarterstaffs).  Weapons could have multiple grip points that would augment torques, just like choking up on a baseball bat. 

The notion of being thrown off balance is extremely important and could still apply in other ways, like missed swings or plain clumsiness (e.g. crappy kinesthetic sense and agility plus a low swinging skill).  This has always been one of my favorite power goals:

Quote
# PowerGoal63, INEXPERTLY AND REPEATEDLY, (Future): You swing at the goblin, overextending. It kicks you in the stomach and your feet slip out from under you. When you hit the ground, you drop your sword. The goblin holds its giant club over its head, but with the weight of the club, it loses its balance and stumbles. You leap forward up from the ground and rush the goblin but trip on a rock and land in some serpent vines, which entangle you. You struggle to free yourself, but aren't in time as the goblin inexpertly and repeatedly clubs you until you die.

5.) Hell yes, give me pommel-bashing!  The tracking of volume (vaguely) and material density is also important for figuring out torques.  Sectioning the weapon isn't too hard, and it can work with or without an actual component assembly system in which hilts and blades are separately manufactured.  A component manufactured in a single piece, such as an axe handle, still needs separate sections to support multiple grip points, etc.  I can't think of any situations where you'd want a single section to have multiple components, so this could be structured easily in the raws:
  • each weapon has an ordered list of components
  • each component has a material and an ordered list of sections
  • each section has a size and length, an attack type, and tags like [GRIP] and [BIND]

Or (if component manufacturing doesn't go in) you can skip the components, and the weapon can specify an list of sections directly.  Either way, to figure out the weight distribution of the entire weapon, the game just puts the sections end-to-end.  Pretty easy.

6.) This seems really hard, mostly because of the immense diversity in body types.  I suppose you could just have (for example) biped stances, quadruped stances, and a catchall stance for creatures that don't fit.  Still, relating stances to attack types is... man, I don't even want to think about it.

7.) Yeah, pikes need a suitably impressive range.  There also needs to be a minimum range for halberd swings etc.  I suppose some of the existing ranged-weapon code could be used for targeting and attacking creatures that are more than one tile away.

One final note: basically all of this revolves around melee weapons that are rigid and linear-ish.  That's generally a good assumption, but what the fuck do you do about whips and flails?

Other stuff that would bear deeper consideration: skill/attribute usage, automation and AI for the much wider variety of combat options, ranged weapon overhauling, implementation of "combat styles" via (at least) preferences for slashes vs. thrusts or something.
« Last Edit: December 05, 2008, 01:32:05 am by Footkerchief »
Logged

Hamster Man

  • Bay Watcher
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #2 on: December 05, 2008, 01:11:27 am »

Too many words! *kerplodes*
Logged
So there's that, as well. It looks like the only chronic problems that water can't cure are nausea and cave spider bites.
Which, coincidentally enough, can be cured by magma.

Foa

  • Bay Watcher
  • And I thought foxfire was stylish in winter.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #3 on: December 05, 2008, 01:36:29 am »

  • Ooh, rushing your foes, block breakers, and possible amping/decaping!
  • Stances, they provide conveniences in certain occasions and add to the battle styles ( AUTOPARRY: Sleuth Blend! )
  • I love parrying, especially weapon breakers, disarming, feints, counterattacks, miscellaneous.
  • Weapon speed and drive, erm, good, but miscellaneously AWESOMELY NAWESOMELY GREATLY SUNNILY TIME!
  • Oh, dirty play, I kill call impaling one with their extremities!
  • Stance development to reflect on restrictions/suggestions of certain techniques.
  • Range of reach, charge distance, throwing distance, weapon reach, and effectiveness range ( generally either it's out of range, or it is in, or insanely ridiculous )
  • Adjacent support, good, diagonals/side thrusts are going to be allowed.

I love this thing.
Logged

korora

  • Bay Watcher
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #4 on: December 05, 2008, 09:35:45 am »

If you want the arcs to make sense you have to be able to track where every body part is at all times on arbitrary creatures.  You have to know when a borgle's borgle is fully borgly or else you can't accurately model whether it gets hit, so essentially you have to make modders code in "animations" for their creatures.

It's not like you can see what's going on, anyways; better to abstract all the arc business away to overall stats.  When you see that someone's left leg was sliced, you can fill in the blanks in the combat yourself.

I only skimmed the rest of the points, but it seems like they mostly rely on arcs.  Still, they seem like good ideas and I'm sure it's possible to include most/all of them without resorting to lines of attack.
Logged
DFPaint, a cross-platform 'screenbuilder' utility

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #5 on: December 05, 2008, 09:53:02 am »

If you want the arcs to make sense you have to be able to track where every body part is at all times on arbitrary creatures.  You have to know when a borgle's borgle is fully borgly or else you can't accurately model whether it gets hit, so essentially you have to make modders code in "animations" for their creatures.

I know my post was ungodly long, but I did cover this.  The new bodies, from what Toady's said, should have enough info about the relative positions of body parts that you can at least make a pretty convincing guess about where a particular "line of attack" should hit.  The lines of attack we're discussing are simple -- you could represent them on a clock, as in "a swing from 12" would be a straight downward chop.  This simplicity means we only need to know what body parts are close to the twelve o'clock position on a creature -- probably the head and shoulders, and then you can randomize among those (weighting by relative size, of course).

You can also do some limited adjustment for current stance, because you can guess where the weapon hands are based on previous attacks -- when I slash straight down and the sword clangs off your helmet, my arm will still be in a roughly 12 o'clock position, meaning that if YOU do a vertical chop with your axe, you have a greater chance of hitting my hand, but I also have a great chance of parrying the blow since my sword is already there.  So even without taking stance and footwork into account, lines of attack let you do a great deal of educated guesswork about the positions of body parts, which enriches the combat in meaningful ways.  It lets players make smart, tactical decisions rather than just hurling themselves into the RNG meat grinder.
Logged

korora

  • Bay Watcher
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #6 on: December 05, 2008, 10:29:16 am »

Yeah, it works great for humanoids because you can make generalizations like that  (and I did see that part of your post).  But the point is you have to support any arbitrary body type or it's all worthless, and I don't think it's as easy as you suggest. 

A "swing from 12" is easy to visualize on a humanoid because we're oriented up-and-down, so the 12'o'clock side of us is relatively small.  This allows you to say "oh, it'll hit the head or shoulders, no problem."  But what if you're dealing with a quadraped?  Then a swing from 12 could hit pretty much anything except the legs.  What if you think of a swing from 3'o'clock on a human: how high is the swing?  Do you decapitate, sever an arm, sever a leg?

Say I have a sword in my 9'o'clock hand when you swing.  How fast are you swinging?  Can I move my sword to block in time?  Are you deciding that based on RNG, and if so, why bother with all the lines of attack?

Say you thrust and I parry.  Do I push your sword up or down?  Or to the side?  Which side?  Does it matter which hand you're holding the sword in?  Where does that leave my hands?  Did you track your foot moving forward when you thrust?

If a dragon swipes at you with its tail, where does that put the rest of its body?

Don't get me wrong, I like the results you're suggesting, I just think that this implementation is infeasible.
Logged
DFPaint, a cross-platform 'screenbuilder' utility

Tonren

  • Bay Watcher
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #7 on: December 05, 2008, 10:43:52 am »

Quote
Urist has become an expert Street Fighter.

Quote
Urist HADOKEN'd a goblin recently.
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #8 on: December 05, 2008, 11:03:25 am »

Yeah, it works great for humanoids because you can make generalizations like that  (and I did see that part of your post).  But the point is you have to support any arbitrary body type or it's all worthless, and I don't think it's as easy as you suggest. 

A "swing from 12" is easy to visualize on a humanoid because we're oriented up-and-down, so the 12'o'clock side of us is relatively small.  This allows you to say "oh, it'll hit the head or shoulders, no problem."  But what if you're dealing with a quadraped?  Then a swing from 12 could hit pretty much anything except the legs.  What if you think of a swing from 3'o'clock on a human: how high is the swing?  Do you decapitate, sever an arm, sever a leg?

Quote
11/02/2008: ... Relative body part sizes are also in the raws/data now (though the combat aspect of that will be handled with wounds, which is off a bit later in this release). When I do the appearance part of this release, it'll say a bit more about how that size number is related to its shape/dimensions.

11/08/2008: 1103. Positions and relations for body parts within their parent body part to give wounds a chance to seem more reasonable instead of being sort of loopity loopy paths around the parent part made by a supposedly straight object, and some other morph bookkeeping.

That is the crucial thing.  We don't have to make humanoid-centric assumptions because the humanoid body will include information like "the head is ON TOP OF the body, and only 20% as large" unlike the current bodies in which a humanoid head could be a golfball-sized lump sticking out of the back for all we know.

Say I have a sword in my 9'o'clock hand when you swing.  How fast are you swinging?  Can I move my sword to block in time?  Are you deciding that based on RNG, and if so, why bother with all the lines of attack?

The swing speed, as was previously covered, will be determined by the weight distribution of the sword, the grip position, and various attributes and skills of the wielder.  Your block will depend on similar factors.  The RNG will figure into both rolls, naturally, but to a much smaller degree than it currently does -- more causality, less randomness.  I don't get your all-or-nothing perspective on the RNG, the current hit-roll system already does some basic weighting and this is just an expansion of that with a larger element of player choice.

Say you thrust and I parry.  Do I push your sword up or down?  Or to the side?  Which side?  Does it matter which hand you're holding the sword in?  Where does that leave my hands?  Did you track your foot moving forward when you thrust?

You could use the current position of your sword to determine what direction you parry from, then my sword gets knocked in the same direction while yours rebounds slightly.  Or you could just randomize it.  Left/righthandedness could be taken into a account, or all weapons could be considered "central."  Stance seems pretty hard so I'd be happy with always regarding most of the body (parts that aren't GRASPs or connected to them) as staying in a "neutral" position. But however you answer these questions -- even if you're still randomizing SOME elements -- it's still an improvement.  Again, this isn't all or nothing.

If a dragon swipes at you with its tail, where does that put the rest of its body?

That might fall under wrestling rather than melee weapons.  It's not really a fair question in any case, since DF has very little notion of orientation at the moment.  Once DF does have orientation, the dragon presumably turns away from you first, and then it's just like holding a sword, except in front of the dragon's butt rather than its chest.  You might restrict it to left-right and right-left swipes.
« Last Edit: December 05, 2008, 11:09:27 am by Footkerchief »
Logged

Tormy

  • Bay Watcher
  • I shall not pass?
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #9 on: December 05, 2008, 11:12:30 am »

Well your "leaked" informations are good and realistic bjlong, but I don't know that how could it work in a fantasy game.
Combat between humanoids is one thing...but many of these points wouldn't work very well in combat events between the various entities. Dwarf vs. Ettin for example.

Also, just some notes:

- I think a simple directional attack method would be perfectly enough to have, if we would like to see a more detailed combat system. [IE: Swing your weapon from the left/right/top, thrust etc.]
- SIZE must have an important role in combat. Right now a dwarf is able to hit the head of a giant. Normally the dwarf should be able to hit the legs of the giant. [If the giant is not lying on the ground at least..]
- Parry & Dodge chance should depend on SIZE vs. SIZE, overall strength and agility. [Example: Some dwarf can max out his strength, but it's nowhere near the maxed out strength of a giant. So dodging the blow of a giant is much more realistic than parrying it with a weapon using raw strength.]
- Weapon type & skill rating with the given weapons. It should be easier to parry incoming attacks with a sword compared to a morning star for example, if the SIZE of the creatures is roughly the same.
Logged

korora

  • Bay Watcher
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #10 on: December 05, 2008, 11:16:30 am »

OK, I guess I have two main (slightly contradictory) problems.  The first is that I think this overcomplicates things for modders and Toady, takes up CPU cycles and RAM, etc.  The other is that I think it doesn't do enough to model combat: it shouldn't be clock positions, it should divide a tile into 3x3x3 and let you swing between any two cubes; it should track where your limbs are, not assume a neutral position; the RNG shouldn't be necessary, etc.

You can only fix one of these by making the other worse, and personally I'd rather leave it on the side of abstraction, at least as long as DF is ASCII.  If it ever gets full 3D graphics, I'll probably support this.
Logged
DFPaint, a cross-platform 'screenbuilder' utility

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #11 on: December 05, 2008, 11:59:34 am »

OK, I guess I have two main (slightly contradictory) problems.  The first is that I think this overcomplicates things for modders and Toady, takes up CPU cycles and RAM, etc.

RAM?  Not really, the only RAM usage of note will be the more complex body structures, and those are going in regardless.  CPU -- the body structure traversals aren't going to be any more complex than those required for projectile penetration lines, etc., which again are going in anyway.  Performance is a non-issue here.

The other is that I think it doesn't do enough to model combat: it shouldn't be clock positions, it should divide a tile into 3x3x3 and let you swing between any two cubes; it should track where your limbs are, not assume a neutral position; the RNG shouldn't be necessary, etc.

A cube?  I'd think a 3x3 grid would suffice and be much simpler interface-wise (select attack direction on the 3x3 numpad, swinging attacks take 2 presses, thrusts take 1 -- very easy to learn).  Either way that's a viable alternative to radial slices.  It would allow you to aim for a decapitating blow, which would be nifty.  You're right, that is a much better approach, and it shouldn't invalidate any of the location-based stuff that bjlong and I brought up.

I already explained that the most important limbs, the ones holding the weapons and shields, can be tracked.  And it's not as if leg position will be ignored entirely -- a swipe at knee level will still hit the knees, which is a MASSIVE improvement.  The slightly inconsistency in precision will be transparent to the user, since DF adventure mode players are already used to all their actions revolving around their hands.  And real stances aren't an outright impossibility either, since Toady already built a stance system for Armok. 

The RNG is not "necessary," now or ever.  It's just used to cover up the weaknesses of the simulation.  This system would reduce those weaknesses and lessen the gaps that the RNG currently fills.  Pardon the cliche, but I think you're making the perfect the enemy of the good.
« Last Edit: December 05, 2008, 12:10:02 pm by Footkerchief »
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #12 on: December 05, 2008, 12:07:44 pm »

Well your "leaked" informations are good and realistic bjlong, but I don't know that how could it work in a fantasy game.
Combat between humanoids is one thing...but many of these points wouldn't work very well in combat events between the various entities. Dwarf vs. Ettin for example.

Nope, it will work between any creatures.  Toady is implementing body part sizing and positioning for the next release, so even exotic creatures like tentacle demons can be handled properly.

I've explained this three times now

You're right about size though, that needs to be factored into any kind of strength-based calculation and can also affect where blows can land -- for instance, a dwarf fighting a giant won't be hitting the giant in the head, even with an overhead chop.
« Last Edit: December 05, 2008, 12:15:46 pm by Footkerchief »
Logged

Tormy

  • Bay Watcher
  • I shall not pass?
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #13 on: December 05, 2008, 03:18:18 pm »

Well your "leaked" informations are good and realistic bjlong, but I don't know that how could it work in a fantasy game.
Combat between humanoids is one thing...but many of these points wouldn't work very well in combat events between the various entities. Dwarf vs. Ettin for example.

Nope, it will work between any creatures.  Toady is implementing body part sizing and positioning for the next release, so even exotic creatures like tentacle demons can be handled properly.


Oh...you are right. Somehow I've missed it.  :-X
Logged

bjlong

  • Bay Watcher
  • [INVISIBLE]
    • View Profile
Re: Combat, Martial Arts, and Weapons suggestions
« Reply #14 on: December 06, 2008, 12:23:14 am »

Wow, I didn't know that the devs supported this kind of change so extensively already.

Okay, looking at the cube suggestion, this actually might be a good way to simulate stances. There is a 3x3x3 cube, and a stance allocates the body parts and weapons in sections of the cube.

When facing a unit in a stance, you get a projection of that cube into a 3x3 grid.

When you're facing a titan, or something else huge, the cube could be filled one body part, say, leg. But this would require multi-tiled units.

Now, I proposed radial slices because that's how I've always seen fighting systems divide it, but this could work really well in dividing up creatures in any way. For example.

Code: [Select]
1 2 3
4 5 6
7 8 9

If I want to attack along, say, line 1 from the OP, DF could look at sections 1, 2, and 3, and check to see if anything is in those sections. If it is, present those body parts for targeting. If, say, 1 has nothing it it, then it checks 4, and displays any body parts in there for targeting. If 1 and 4 have nothing in them, then it checks 7. If I want to attack along, say line 2, then it would check 2, 3, and 6, then 4, 5, and 8, then 7. Hopefully, this wouldn't be too inefficient.

I was looking more at binding, and I figured that it would be more accurate to have both combatants "choose" their actions without knowing the other's action, all on the same turn, since reaction times are practically the same when binding, in my experience. For now, binding could be done in whatever stance the combatants were in before the bind, which I imagine to be very basic for the first implementation of these ideas.

Binds should have two choices to make--what the "action" of the bind is, and what the strength of the bind is. The action of the bind can be Attack (if possible), change opponent's bind point, reverse weapon, or no action (which makes a higher bind strength possible). Bind strength should be the force you're putting on the blade. Except for reverse weapon, there should be no significant stance changes for these options. (I chose them so that they'd be simple to model.)

Reverse weapon would be the following actions in the following sequence: turn the weapon around the pivot point, step diagonally foreward to put the creature in hilt-bashing range, and bash with the weapon's hilt, then recover to a neutral stance, 180 degrees from your original facing. This can't be performed if the opponent's changing your bind point, if the opponent is reversing his weapon, or if the opponent's attacking (though it does block the attack). More complex relations would be nice, but this is an improvement, and could probably be built on.

Stances, I think, should be generated at World Gen, and by (maybe) Military Strange Moods. These would be the "starting" stances, and, unless we can come up with an easy way to model stances on-the-fly, these should come up with an off balance stance for each weapon type/creature combination. This is a lot to generate and store, and I have no clue if it's feasible or not.

I'll talk some more about ranged weapons, non-rigid weapons, combat styles and personal preferences later, when I've had more sleep.
Logged
I hesitate to click the last spoiler tag because I expect there to be Elder Gods in it or something.
Pages: [1] 2 3 ... 8