Advertisement Jump to content
Sign in to follow this  

Realistic 1vs1 Combat Mechanic for Tactical RPG

This topic is 1778 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

OK, sorry again for the length and formatting. Hopefully this will make things much clearer. I've removed and added certain things which will hopefully help, as well as streamlined the system. I may add certain things again, but I have enough on my plate for the moment. Also, this is for a single-player turn-based combat system where the player can click buttons in the GUI to order his character attempt various combat maneuvers. The results of which will be told to him via text, and which will be determined by stat checks usually vs. the opponent with a little randomness thrown in. I have a little python programming experience and since I don't want to do really basic game I figured I'd learn by working out how to do this. It's a complicated game, but the basic stat checks and everything should be simple enough to program. I'm just getting into Object oriented programming. It'll probably be useful for this. I plan on making a text based demo of just the combat system which will hopefully be done around a month from now.


What I want from this post is to know whether people like this system, how to improve it, and generally anything related to it that you think of. I just want feedback, any sort is fine. The first two paragraphs cover what I feel are the most significant differences between this and most other RPGs. The other two involve things a few other RPGs involve but the mechanics should be slightly different from most.


There are only four sets of choices that are directly given to the player during combat. Whether to run away, his stance, his movement type, and if his movement involves hitting or grabbing some part of the opponent, then area attacked. The tactics in this game involve determining how these will affect your stats. Every choice will add and/or subtract from stats, usually both. Choosing things that enable winning the stat checks for the movement types you want is essential to winning.


Except at the very beginning of combat a character can only run or change his stance as a result of a movement type. Because what happens in combat is only displayed via text I can make thousands of different types of movements easily just by writing text files, which the program reads, with the requirements and consequences of the movements to subject the player to. Depending on multiple things such as equipment, and experience the player will have a choice of a few hundred possible to pick from. You will not start out with these however. Obtaining most of these techniques will require questing, and exploration of a huge randomly generated world. Your character will only be able to remember maybe ten special movements for each stance/equipment/role combination. A player can set for any combination but since most will pick certain weapons to gain skill in only a few combinations will need to be set. Certain general types of movement will always be available nomatter the combination, and your character will start with them. Since equipment will be mostly determined before battle you'll have to design a specific combat style by picking and choosing which movements to combine with which equipment. My hope is to design a combat system that will be both endlessly deep and easy to jump into.


One thing that deserves mention is the roles in combat. In a real fight people don't kindly take turns during fights. One fighter will constantly attack while trying not to give his opponent time to react. I want to simulate this with a role system where on character is the attacker and the other is the responder. Who's the attacker will be determined by who's skill and armor combination lets them be fastest when their stats are compared. The responder is a slightly more difficult role because the stat checks made to wound the other player are harder to win. When they do hit, they cause deeper wounds. Changing a role can be done, but is different depending on what role you've already taken. An attacker cannot become a responder unless he stops attacking and the responder decides to start. A responder however can force a change by choosing and succeeding against the opponents stat checks with certain movements. The idea is to let characters excel at one or the other, or be decent at both.


The game will have no hitpoint system. Instead there are four types of wounds. A successful strike will always inflict a wound unless prevented by armor. Regular wounds inflict a stat penalty. Bleeding wounds will reduce stats over time, and eventually kill. Concussions will knock the enemy out, and lethal wounds will kill. All lethal wounds except for some to the head will allow the enemy one last movement before dying. This simulates reality, and if your character manages to do this before dying the death penalty will not be as severe.


Your distance and position from another character determines your stats aswell. This is too complex to really discuss but a spear is longer than a dagger and arrows shoot farther than throwing knives. This will all be modeled with separate distance indicators for ranged weapons and melee. Different weapons will have optimal ranges where they may get stat bonuses, and being outside of those ranges will inflict penalties if not completely disabling all attacks with it, and forcing the player into a response role regardless of stat checks. The player can change roles and attack by getting closer to the enemy via movement.


These are the basics of combat, and it's all a player would need to learn to be proficient. Since much of it is only what would be in a real fight or common sense it shouldn't be that hard to pick up. Here's the full list of what I'd like to see happen during combat, and in order. I won't explain it in this post because the last time I did that I decided to change much of it, but it should give you an idea for how combat plays out.


colored words mean that if the first colored word happens, the italic and underlined words of that color included, and if so, always immediately afterward. Question marks besides words indicate a choice given to the player. Note the red underlined words indicate if you fail at running then they happen to you, if you hit the opponent, they don't.


stats > equipment > run? > (succeed or fail) > position > facing > initiative > stance? > (attack or response role) > move type? > area attacked? > (hit, miss, or N/A) > area hit > wound type > wound severity > (position/stance change) > (death, kill or N/A) > end combat > (role change) > (repeat from “move type?” )

Edited by dimescion

Share this post

Link to post
Share on other sites

Though the quantity of text might take a bit to read, I'm finding the formatting quite painful. Could you please reformat.

Basically, I read the question as, how do you take twitch based combat in the style of a tournament fighter and convert it into a turn based RPG? How do you tell the detailed story of a hand to hand battle and allow the player to affect the out come?

I think one problem with your system is that you're looking at trying to allow player input for every eventuality in battle. I suspect (and it is just a guess) that players are going to get tired have having to input every little thing. Also, it's going to be difficult trying to reconcile two characters proceeding at the same time.

If I were to approach this, I wouldn't be doing it turn-based. And I think I'd try to have it such that each character **may** be given an opportunity to interject a particular move as an opponent is making his (or if none has yet been made). To determine if it is something that a character **may** do, it would be calculated perhaps based on reaction speed, experience against a particular attack, and opportunity based on stance or position. An attack is coming from an opponent, the player's reaction time is sufficient to react, perhaps the player is given only the chance to realise he's open and attempt to select a particular defense. Or perhaps the defense is taken out of the player's hands as if the character is acting out of a reflex action. Or perhaps if the player's skill is sufficient, the player is offered a few options for a counter attack.

You then might be looking at creating a sort of map of stances and attacks and counter attacks and taking the player from one branch to another as each move is begun and changed in response of one reaction to another and another. Success and failure determined by a combination of knowing whether there's sufficient time to react at all, knowing certain situations are most effective against others, and whether or not an option is available to a player due to the character's skill level. Or perhaps just replace all that with some random number that says if you're successful or not.

I can't help but think it might be better suited (easier) to a 3D sort of a project such that rather than having to define outcomes of one move vs another you have a physics help determine the effectiveness of of each move. Then it'd be a matter of presenting the player with options for available moves, perhaps in a bullet time sort of situation. But from your description, that doesn't sound like the way you want to go.

Share this post

Link to post
Share on other sites

In general it sounds quite cool, although I agree that you have to be careful not to overload the player with tasks. I do enjoy having to use different fighting techniques for different enemies, and as it sounds like in your game for differences in your own condition. I'd do the fun test - does it work or is it too much of a chore? Maybe it will need some streamlining, e.g. slightly less features and options, or some of the choices are made for you by your previous choices, e.g. your stance is a combination of where your previous move left you and what you chose next.


Only somewhat relatedly, I do enjoy the thought behind the Overgrowth combat system, which is real-time and 3D, but maybe still interesting to you anyway:

Share this post

Link to post
Share on other sites

kseh, I hope the formatting is better now. It seems like a really could've been clearer, hopefully the edit will explain things better. I do want to keep to 2d and turn-based to require a high level of tactical thought from the player, and because I have no idea how to code 3D. It seems like this process might be a little too complicated to really explain concisely since the movement type is so variable. Essentially I just want to create a huge and realistic set of movements that the player can use. Combat will be kept simple by forcing the player to only choose certain ones that fit with his equipment combination and what kind of play-style he has.


Jefferttitan, you got the idea right. I wish I had explained it better. The only two choices the player has after the first round of combat is over is just movement type and area attacked. movement type is doesn't nessecarily attack but may reposition your character for a better chance at winning. There will be many movement types. The video you showed is pretty cool. The combat is surprisingly tactical for a real-time game.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!