Combat enhancements: Difference between revisions
Line 30: | Line 30: | ||
== Ideas for improvement == | == Ideas for improvement == | ||
* abilities gained at certain ranks | * Progression just by increasing your stats is not fun after some time. We need to add new abilities which can be gained at certain ranks. Each ability should be special, and also have an associated animation. Examples can be: charge, blade dance, whirlwind of axes, ... Those may do a damage on multiple opponents, or ignore armor, or do extra damage to certain creatures, or multiply some of your skills, or change the way you use combat stances. Overall will be pretty good to have a way to script those effects, so can be more easily managed and don't have to be hardcoded. | ||
* combat runs automatically, but you | * Today if you stand in front of a monster, combat runs automatically, which may be pretty boring. Sure you can move, but you cannot really use different attacks or strategies. In general PlaneShift wants to be a roleplaying game where your character traits are well represented in game. For this reason we don't want to have the skills of the player influence too much the result of combat. As an example a combat UI where you swing all the time the sword, and you hit only when you are perfectly in synch with the monster is not something we want, because this will not represent the strength of your character. What we are seeking is a middle ground between player controlled and character controlled. We would like to be able to add different attacks and parry to a queue of events which is used during combat. So for example you could queue: special actions, spells, parries, swings, special attacks, dodging, ... | ||
* | * Today the chasing of monsters when in combat is pretty raw. In many cases they move on top of the attacker, and rotate wrongly, so they do not face the attacker properly. This has to be fixed. | ||
* ... | * ... |
Revision as of 22:08, 31 March 2011
(Go back to the main GSoC 2011 page)
Skills needed
Our server and client are all coded in C++ and the database is MySql. For this project C++ knowledge is needed with little knowledge of mysql.
How combat works today
PlaneShift today allows the players to engage combat with magic, with melee (like swords, axes, .. ) and with range combat (like bows).
Players have the possibility to choose stances: full defense, defense, normal, attack, berserk, to tell the engine how much of their skills they want to use for defense or for attack. The monsters today always use normal mode.
There is a table which determines the effects of each type of weapon vs. each type of armor. For example a knife will make more damage against a leather armor (which can be cut) than against a chain mail.
All stats, equipment, skills, item stats and quality are considered in the combat sequence. The actual formulas are pretty complex, and give some realism to combat.
Player can use 2 weapons, or a weapon and a shield. Players can use items to boost their stats/skills and fight better.
NPCs/Monsters can be:
- invulnerable (in this case you cannot even attack them)
- peaceful but able to fight back. They will not attack by themselves unless provoked.
- attack on sight. They will attack as soon as you approach them.
When you attack a monster you enter in his hate list, and he will chase you and attack you.
Combat is executed automatically by the server, the player can switch equipment, cast spells and move/run. If the player stands still in front of the monster, combat proceeds automatically until one of the two dies.
Progression is done through increasing your skills, stats and gaining new equipment. This allows you to fight better and face harder monsters.
Ideas for improvement
- Progression just by increasing your stats is not fun after some time. We need to add new abilities which can be gained at certain ranks. Each ability should be special, and also have an associated animation. Examples can be: charge, blade dance, whirlwind of axes, ... Those may do a damage on multiple opponents, or ignore armor, or do extra damage to certain creatures, or multiply some of your skills, or change the way you use combat stances. Overall will be pretty good to have a way to script those effects, so can be more easily managed and don't have to be hardcoded.
- Today if you stand in front of a monster, combat runs automatically, which may be pretty boring. Sure you can move, but you cannot really use different attacks or strategies. In general PlaneShift wants to be a roleplaying game where your character traits are well represented in game. For this reason we don't want to have the skills of the player influence too much the result of combat. As an example a combat UI where you swing all the time the sword, and you hit only when you are perfectly in synch with the monster is not something we want, because this will not represent the strength of your character. What we are seeking is a middle ground between player controlled and character controlled. We would like to be able to add different attacks and parry to a queue of events which is used during combat. So for example you could queue: special actions, spells, parries, swings, special attacks, dodging, ...
- Today the chasing of monsters when in combat is pretty raw. In many cases they move on top of the attacker, and rotate wrongly, so they do not face the attacker properly. This has to be fixed.
- ...