1
Programming / Knockbacks
« on: August 25, 2009, 07:08:46 PM »
I'm about having knock-backs in my game, where attacks can move characters back a tile. This would be usefull for giving characters, especially the player, more breathing space as well as convey the mighty warrior image.
Here I'm assuming that knock-backs happen randomly. One-tile knock-backs would seem to work fairly well. However, since I want my game to work with superhero-esque settings and characters, part of me wants to allow multi-tile knock-backs that send characters careering through the air and crashing through walls until they land or hit a cliff. This kind of action works in cartoons and comic books, but in a roguelike it would seem to translate into giving a character a free, albeit painfull, escape. This could be even more annoying if the character focuses on ranged attacks.
I'm thinking of a couple of ways to balance this kind of knock-back. One way would be to not make it random, but allow the player to choose when to make a knock-back attack and maybe control the force. I'm a little worried that this might complicate the interface though, and that since it's an active effect it might not see as much use in battle, reducing the overall quantity of "cinematic action" I was hoping for.
Another way would be to give more advantages to these knock-backs. On top of the damage caused by the blow, the hit character could also receive bonus damage based on how far he flew and how many things he ran/crashed into on the way. A knocked-backed character could run into another character, which knocks him back causing damage, who could knock other characters back, and so on for a Newton's cradle effect that ends up dealing damage to multiple characters.
A final set of improvements would be to make it easier to close the gap between the attacker and the knocked-back target. The knocked-backed character could be "unconscious" for the number of tiles he flew, giving the attacker time to either catch up or focus on other enemies. Characters could also have "run" or "leap" abilities that they'd use to cross multiple tiles in one turn, which would be usefull here.
Here I'm assuming that knock-backs happen randomly. One-tile knock-backs would seem to work fairly well. However, since I want my game to work with superhero-esque settings and characters, part of me wants to allow multi-tile knock-backs that send characters careering through the air and crashing through walls until they land or hit a cliff. This kind of action works in cartoons and comic books, but in a roguelike it would seem to translate into giving a character a free, albeit painfull, escape. This could be even more annoying if the character focuses on ranged attacks.
I'm thinking of a couple of ways to balance this kind of knock-back. One way would be to not make it random, but allow the player to choose when to make a knock-back attack and maybe control the force. I'm a little worried that this might complicate the interface though, and that since it's an active effect it might not see as much use in battle, reducing the overall quantity of "cinematic action" I was hoping for.
Another way would be to give more advantages to these knock-backs. On top of the damage caused by the blow, the hit character could also receive bonus damage based on how far he flew and how many things he ran/crashed into on the way. A knocked-backed character could run into another character, which knocks him back causing damage, who could knock other characters back, and so on for a Newton's cradle effect that ends up dealing damage to multiple characters.
A final set of improvements would be to make it easier to close the gap between the attacker and the knocked-back target. The knocked-backed character could be "unconscious" for the number of tiles he flew, giving the attacker time to either catch up or focus on other enemies. Characters could also have "run" or "leap" abilities that they'd use to cross multiple tiles in one turn, which would be usefull here.