Anonymous Login
2019-05-25 20:26 UTC

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002015OpenClonkObjectspublic2019-05-01 10:23
ReporterZapper 
Assigned ToMarky 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusassignedResolutionopen 
Product Version8.1 
Target VersionFixed in Version 
Summary0002015: Revisit melee combat: deal damage after animation to allow for blocks etc.
DescriptionMelee weapons are quite strong at the moment.
They could deal the damage only after the animation has played. This would allow the shield to actually have some use in combat (as you could actually block).
Additionally, it would add another layer to melee weapons, further distinguishing eg. the hatchet, club and the sword.

I was never 100% happy about the melee combat, as it did not feel quite right enough. Maybe that could be a good thing to try?

Suggested by Wipfhunter: https://clonkspot.org/forum/topic_show.pl?pid=17460
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0006163

Marky (developer)

I'd like to look into implementing this.

I imagine it as follows:
* Have the melee weapon hit the target at animation end. Maybe reduce damage if the animation was stopped before its desired length (lets say the attacker tumbles because of a rock that hit him mid-animation, or because of some explosion)
* Have rolling behind the attacker or moving out of reach before the animation is over either avoid damage, or reduce damage as explained above (signal the dodge with a sound to the player?)
* Have the shield (or a counter-attack?) during animation block the damage (with a nice animation and/or sound that signals the successful block to the player)

~0006164

Zapper (developer)

Alternatively, the weapon could deal damage /during/ the swing. That would also have the same effect: If I block with a shield, I only get very minor damage. And if the enemy hits me with the whole animation, I get a lot of damage.

Then it would also be easier to at least hit the enemy. Because in the first iteration, it was like that: The sword would hit at one point (maybe half) of the animation. And it felt weird if you /just/ missed the enemy

~0006165

Marky (developer)

I thought about that, too, and I liked it at first because you'd also get a nice "shrinking health bar" effect during the swing. I did not like it though, because you'd have lots of calls to the damage reducing callbacks (if there are any), as well as hit sounds and other hit/damage effects in objects.

So, "during swing" damage is ok, but only if it is applied as a whole once the object is out of reach/animation cancelled/attack blocked.

What about hitting multiple targets? Should they be safe once the attack "connects" with the first target?

~0006167

Zapper (developer)

>because you'd have lots of calls to the damage reducing callbacks (if there are any), as well as hit sounds and other hit/damage effects in objects.

Ah yes, that's a valid remark

>So, "during swing" damage is ok, but only if it is applied as a whole once the object is out of reach/animation cancelled/attack blocked.

Sounds good, too

>What about hitting multiple targets? Should they be safe once the attack "connects" with the first target?

Currently you can hit multiple targets and I would like to keep that

~0006168

Marky (developer)

>Currently you can hit multiple targets and I would like to keep that
Ok, then at least a successful block has to stop the attack (if there is an animation feedback, otherwise it becomes weird). Since animations are not part of the first few commits I'll keep hitting multiple targets through the entire animation.

~0006169

Caesar (developer)

Hm, if we only deal damage at the end, we could also only allow the block to be fully effective if the shield was activated after the attack started. That would make the current "hurrdurr, I am holding a shield"-stalemate less of a problem. Thoughts?

~0006170

Zapper (developer)

Might be well worth a try!

~0006171

Marky (developer)

I think it is good. Regarding product version: Should this really be 8.1? I can make a short prototype for 8.1, but the real thing should be 9.0, in my opinion.

Shield blocking: As I understand it, the weapon will have the following phases:
1) swing/charge-phase. Does no damage.
2) damaging phase. This *might* have a further property for full damage after x frames. E.g. the phase is 20 frames, and the full damage time is 10 frames - so if you enter the attack area after 15 frames you'll get 50% damage. If you enter at 10 frames and exit at 13 it's 30% damage. If you enter at 5 and exit at 17 it's still 100% damage, and so on.

Now, looking at these phases, I'd handle shields this way:
a) Start blocking before phase 1) => the shield prevents 50% damage
b) Start blocking during phase 1) => the shield blocks damage and you are shielded throughout the rest of the attack (would do something similar for triggering a roll, so it finally has a purpose!). This means that you can counterattack after a successful block
c) Start blocking during phase 2) => You get damage as if you exited the attack area after X frames. E.g. block after 5 frames = 50% damage, block after 11 frames = whoops you are too late.

~0006174

Zapper (developer)

"Product version" means the version of the product that is affected by this issue. "Target version" means the version we plan to release the changes in.

To the changes: Yeah, we'll just have to see how it feels :)

~0006244

Clonkonaut (developer)

Last edited: 2019-04-30 08:19

View 2 revisions

The bigger problem I see here is how to communicate these rules to the player (and I don't talk about a few text boxes in the Tutorials which no one reads or remembers).

No, I talk about how the result of a certain action becomes something the players will understand. So, unless you are a developer of the game, how do you know that blocking before the attack starts is less effective? Other games might show you a special effect whenever an attack breaks the block. But if you just take damage (which in itself is something you often overlook in OC), the only conclusion is that blocking with a shield is ineffective (or weird if it sometimes works). Maybe the person also thinks that the block direction was wrong and blocking with a shield is very difficult (if the direction is also important when it comes to blocking swords, blocking might just be too difficult in addition).
In contrast, how do I know that my block was effective? Other games (mostly PvE) flash certain icons or controls whenever you are able to perform a certain counter (see e.g. https://vignette.wikia.nocookie.net/zelda/images/0/0c/1200px-BotW_Perfect_Dodge.png ) or again, you get to see a certain visual effect. The attacking clonk could be thrown off or something.

As the attacker, how do I see whether my attack did full damage (no block), half damage (ineffective block) or no damage (perfect block)? With three possible outcomes, having two distinct sounds (hit and blocked hit) is longer a clear indication of the outcome.

I could imagine showing / flashing certain status symbols around your clonk. The problem is that this would be something exclusively shown in sword & shield combat and nowhere else in the game. It would then get the feeling of a whole different subgame in itself and a foreign object in the game. If all these rules just work silently without the player's knowledge, the effects feel arbitrary at best, buggy at worst.

~0006247

Marky (developer)

Yes, you'd need at least some sort of feedback for the player. My suggestion:

Perfect block: Attacker plays an animation, similar to pickaxe hitting resistant material (this also stops the attack and other guys behind you, etc. are not hit), maybe block sound + pickaxe clang?
Ineffective block: Block sound, no special effects
No block: hit sound

About the UI stuff and weapon system: It should be an player setting, or explained in a tutorial, possibly both.
+Notes

-Issue History
Date Modified Username Field Change
2018-03-18 10:48 Zapper New Issue
2018-03-18 21:20 Marky Note Added: 0006163
2018-03-18 21:28 Zapper Note Added: 0006164
2018-03-18 21:38 Marky Note Added: 0006165
2018-03-19 17:39 Zapper Note Added: 0006167
2018-03-19 17:53 Marky Note Added: 0006168
2018-03-21 05:56 Caesar Note Added: 0006169
2018-03-21 07:58 Zapper Note Added: 0006170
2018-03-21 19:57 Marky Assigned To => Marky
2018-03-21 19:57 Marky Status new => assigned
2018-03-21 20:06 Marky Note Added: 0006171
2018-03-28 08:01 Zapper Note Added: 0006174
2019-04-30 08:19 Clonkonaut Note Added: 0006244
2019-04-30 08:19 Clonkonaut Note Edited: 0006244 View Revisions
2019-05-01 10:23 Marky Note Added: 0006247
+Issue History