Dueling and move progression

Started by
7 comments, last by TechnoGoth 20 years, 3 months ago
Ok so I''m working my undergradute project for University and the project consists of a game. Now the game is about fencing so the major portion is a about the duel between two people. If you don''t no the rules of fencing I''ll give a brief overview. The two people start in the engard posititon and attempt to score a hit on the other person. After a hit is scored both people return to the engard postion. Since each hit consist of a series of moves, I want to create a progression of moves. Which means that each move has to influnce the next and so on until you finally score a hit or are hit. each move has the following three stats. Speed – the speed at which the move his done the higher the speed the faster the move. Complexity – the complexity of the move, the more complex the move the more likely it will succeed. Recovery time – the length of time need to recover after performing the move, the lower the value the faster the agent recovers. A present I use this formula ((So/(Sd-F))-(Co-Cd))*100 So - speed of offensive move. Sd – speed of defensive move. F – defenders fatigue. Co – Complexity of offensive move. Cd – Complexity of defensive move. a hit is scored if a random number 0-500 is less then the value generated by the formula. recovery time is added to fatigue after each hit and then begins decreasing when it reaches 0 that agent can then initiate the next offensive move. But I guess I''m wonder if anyone has any idea on how I can make combat more a progression of moves? Since at present fatigue begin carried over and lessening are the only sense of progression in a series of moves. ----------------------------------------------------- Writer, Programer, Cook, I''m a Jack of all Trades Current Design project Chaos Factor Design Document
Advertisement
There are different rules for fencing, depending on the weapon.

Foil:
- Only the tip can score
- You cannot hit limbs, head, or buttocks
- You can only attack if you gain the right (by extending arm 1st).

Sabre:
- The whole blade can score
- Can hit anything above the legs
- Same right of way rule

Epee:
- Tip only can score
- All parts of body can be hit
- Both may attack at the same time and both may score points at the same time.

Typically, 1st one to get 5 points wins preliminary rounds. 1st to 15 wins in eliminations.

Also you have boundaries.

Check here for some terminology that may help you design the moves.

I don''t think fatigue should factor in. Fencing is not really such a tiring sport. If anything, it is invigorating.
-solo (my site)
Muscle memory is a big factor in fencing, but I doubt you are interested in simulating that. What I advise is making certain moves follow naturally from other moves. I was always trained to riposte after every parry. If you just stop his attack and don''t come back at him, you''re giving the bout away. SO, when your little guy parries a cut, he should be able to respond immediately. I fenced saber, and when I parried in line 4, I''d nearly always riposte in line 5, because unless the guy''s attack was half-hearted, or a feint, he''d never recover from his lunge in time to parry 5. If he was baiting me, and I suspected it, I''d go 3, and get him under his sword. There''s a huge psychological element in fencing, a sort of paper-rock-scissors to the tenth power, but it shouldn''t be impossible to at least make something that looks like it. Although it does deprive the sport of some of it''s *sniff* nobility.

I don''t know if you fence or not, but your time model is probably inadequate. More important than the speed of the move is the reaction time of the fencer. If I see that attack coming, I can stop it no problem, and likewise for the other guy. Any defensive move is faster to execute than any offensive move, and so it those are your two variables then you''ll have a very rapid clang-clang sort of phrase. But speed is still important. I can attack 3 and then parry his riposte in five without much difficulty, even if I''m a little slow on the uptake, because that''s a very quick move. But going from a cut in 4 to a parry in five requires precognition. You have to know you''re going to do it even before you finish that cut, or else your blade will never make it. That''s how you string them together.

A deep lunge with an attack in 4 prety much dooms you unless you hit the guy. So you never start out with one of those. Assign a percentage to it. A low one. A straight attack in 5 is quick and recovery is equally swift, so it''s a good opener. 3 is good for a change-up, but a little slower than 5. If your attack in 3 is parried, you can bet your ass that the guy is going to riposte, and most likely in 5. So you can actually do that one with muscle memory before his attack begins. If he sees it, though, he''ll go 3 to avoid your parry. Tricky. Action and reaction blend together in an exchange, but usually either a point is scored or the fencers disengage after three or so swings. Only once did I actually go the length of the strip with parry-riposte back and forth, and the other guy got the touch anyway. Bastard. usually it''s clang-clang-clang-"I''m out of here" and then you re-engage and do it again.

Things like distance and footwork are instrumental as well. But if you were going balls-out as a simulator, you''d never get your assignment done. You may or may not want to throw in beat-attacks, feints, remizes (sp?) point-in-line, vertushkas (sp?) and all the other fancineses of the sport. For your purposes, elementary moves and strategies would be most practical. Attack, parry, riposte, disengage and repeat.

Also, use epee rules. Foil and saber both feature right-of-way, which is a very complex and subjective scoring element, basically so that you can''t both kill each other at the same time. Epee allows simultaneous hits, and so you don''t have to worry about whose arm extended first or anything like that. However, epee also allows touches all over the body, which means more lines in which to attack, defend, etc.

Good luck with your project.
One question you should be asking yourself is this: Are you going to make a Fencing Simulator or a Game? There are many aspects of Fencing that won''t translate well into a fun video game. There are many aspects of fun video games that would make fencing stupid.

If you want to make a game, I recommend that you go with a good game design slogan: Symbolize, don''t simulate. Don''t try to emulate every little nitty-gritty detail of the activity on the strip. It''s not necessary to make an entertaining piece of software.

If you want to simulate the physics/factors of Escrime then go ahead and listen to these other people.

-----------------"Building a game is the fine art of crafting an elegant, sophisticated machine and then carefully calculating exactly how to throw explosive, tar-covered wrenches into the machine to botch-up the works."http://www.ishpeck.net/

I should point out that the goal of the project is not to create a fencing simulator or even relisticly portray fencing.

The project mainly focuses on machine learning, which is a form of AI for those who don't know.

So to elborate more they actual fencing will by done by intellegent agents. The user will not have any control during the bout. Maybe I should have mentioned that earlier... Oh well.

The user control comes during the training portion of the game where the user teachs the agent how to fence as well as influnces the agents stats.

There are 8 moves at present
4 offensive and 4 defensive.






-----------------------------------------------------
Writer, Programer, Cook, I'm a Jack of all Trades
Current Design project
Chaos Factor Design Document



[edited by - TechnoGoth on January 6, 2004 7:10:41 PM]
quote:Original post by TechnoGoth
Complexity – the complexity of the move, the more complex the move the more likely it will succeed.


it doesn´t work that way - a move only succeeds if it has the right degree of complexity.
That means that when the attackers intended action consists of 3 elements (feint - feint - hit), but the defenders of only two (parade - riposte) then the defender will score the hit.

also, I agree about the fatigue value. while fencing is physically very demanding you won´t run out of steam during a bout, the only time when that kind of thing factors is when you have to go up against multiple opponents in quick succession, or do a day-long tournament.

as for making combat more sequential - add the possiblity of one or both of the fighters moving out of range again.

if you want a gradual buildup until a hit occurs I´d play around with these variables:

pressure: don´t just calculate success/failure for an action, but by which degree it does so. if for instance a defensive action succeeds by a lot, the defender may regain the initiative and carry some bonus from the previous action into his counterattack.
increasing the distance to the opponent decreases pressure for both.
a fencer moving into the warning zone (the respective end areas of the strip) pressure would also increase, since he cannot move back indefinitely.

reaction to moves in progress: let the agents react to moves that are just beginning, especially for Epee this is very important as there´s a lot of action without the intention to hit there (testing the opponents reactions and reflexes, building a rhythm etc.)

While it is *extremely* simplied, I would highly suggest that you try "researching" (playing) the original Prince of Persia (the Apple II version would obviously be hard to get, but the old PC version can actually run on Windows XP). It successfully merged easy to learn, skill based (not button mashing) and elegant sword fighting.
There''s seems to be a little confusion so I guess I have to explain better.

"That means that when the attackers intended action consists of 3 elements (feint - feint - hit)"

In the game that would be two seperate moves resulting in a hit not a single move.

the fatigue does not represent how tired a person is but length of time to recover from their last move before they can perform their next move. For instance if you perform a step lunge then you have to return to the engard postion before you can perform another move.(at least in this game) That takes time and thats what the recovery time is for. The fatigue also represents the fact that your out of postion after perform a move. So if you perfrom a step lunge and miss you leave yourself open thus a quick jab is more likely to hit you.

The intend perpose is to make the game seem fluid and not static. So that a series of moves mean something instead of just being seperate segments.



-----------------------------------------------------
Writer, Programer, Cook, I''m a Jack of all Trades
Current Design project
Chaos Factor Design Document

Well, with 4 attacks and four (presumably corresponding) defenses, I think you''d have little difficulty making a machine learning algorithm. Since fancing is little more than a graphical shell for this algorithm, an actual understanding of the sport is superfluous. I think that the key ingredient you need is the ability to give the impression that attack #1 is going to take place, but actually perform attack #2. That''s a feint, after all. Letting the defender record and analyze data regarding frequency of certain events, success rates of its own actions, and patterns in its opponent''s behavior would be a simple mathematical excercise, and could be performed admirably by any respectable machine. You should have little difficulty with your assignment.

This topic is closed to new replies.

Advertisement