Action
Learning paths through this topic
Make an enemy pick who to attack from teamwork, without flipping between two players
A tank draws attention, a healer should be left alone, but a simple rule of attacking the one who did the most makes the enemy turn back and forth when two players are close. This entry shows the margin that calms it and how a taunt breaks through.
Catch players who shoot faster than the weapon allows, without punishing a bad connection
The server must refuse shots that come faster than the weapon should fire. But a shaky connection delivers honest shots in clumps, and a strict check throws away real ones. This entry shows a check that is fair to jitter and still stops a modified client.
Let teammates hurt each other by accident, but never kill or grief
Full friendly fire ruins an evening with one careless or spiteful player, and no friendly fire lets people stand in each other's explosions for free. This entry shows a middle setting, with limits that stop one player from wearing down the rest.
Keep a ground-targeted spell inside its range and in front of walls
The player points at the floor for a fireball or a trap, but the cursor can be far away, right on the caster or behind a wall. Using it raw makes spells land where they should not. This entry shows how to pull the target in, push it out, and what to do when the cursor sits exactly on the caster.
Let a guard notice the hero step by step instead of all at once
Guards who see you the instant you enter their view make sneaking pointless, and guards who never notice make it too easy. A fill-up meter gives players time to react. This entry shows what fills it, what drains it, and how not to flicker at the edges.
Aim a healing spell at the right teammate, not the same one everybody heals
With three healers, all of them pick the lowest player and all heal the same person while another one falls. This entry shows how to count heals that are already on their way and which teammates must be skipped.
Let a big enemy shrug off weak hits while winding up a heavy blow
If every tap interrupts a giant's swing, it is a toy; if nothing does, fights become a race to avoid. A threshold that adds up the pressure gives light weapons a use and makes heavy ones feel heavy. This entry shows the counting and when to forget it.
Stop an enemy from being stunned forever by a fast combo
A strong player chains light attacks and the enemy never gets to act for ten seconds, which feels awful on the receiving side, especially against a boss. This entry shows how each hit can stun a little less and when the enemy gets control back.
Turn the time a button is held into a weak, strong or perfect attack
Holding the attack button should reward patience, but players who hold too long should not get the best result, and those who let go at the right instant should feel clever. Here is how to cut the hold into steps, where the borders belong, and what happens at the extremes.
Keep a late health message from overwriting a newer one
Messages can arrive in the wrong order, so a player is healed, then an old message says they are hurt again and the health bar jumps back. This entry shows how to tell which message is newer, including when the counter that numbers them runs out and starts over.
Count a hit once, even when the network delivers the message twice
Networks repeat messages, and a repeated hit report means double damage or a second kill reward. This entry shows how to recognise a report you have already handled without keeping a list that grows forever, and how a very old report must be treated.
Draw enemies smoothly from a few updates per second, and what to do when updates stop
Enemies controlled by the server arrive only a few times per second, and drawing them as they come looks like stuttering. This entry shows how to show them smoothly a little in the past, and how far to guess forward when a message is missing before they should simply stop.