One topic. One exercise.

Everyone hits creeps, but only one source gets the final hit. Here I suggest some calm practice: watch health, account for attacks already in flight and compare what you intended with what happened. I am not asking for a perfect last-hit count yet.

A last hit is a specific moment, not total damage
In the image, Juggernaut's final hit kills an enemy creep, and gold appears afterwards. That killing blow is what connects the attack to the reward. The number in the frame belongs to this recording: different creeps and different conditions can give different bounties.
In practice, stop attacking continuously first. Watch allied creeps reduce the target's health and wait for the right moment. If your attack arrives too early, the creep may survive it. If it arrives too late, another source may finish it first. Both mistakes give you useful information.
«I care more about you understanding why you missed a last hit than getting an impressive number by chance once.»
Ruslan Ukrainskyi · OOPS DOTA
EXPLORE THE EXAMPLE ↗Watch the enemy creep next to Juggernaut: a sword strike finishes it off, and +38 gold appears after it dies. That is a last hit. The number belongs to this recording, not every creep bounty.
OOPS DOTA / Ruslan Ukrainskyi · own Juggernaut recording
An attack does not always land instantly
Heroes have attack animations, and ranged heroes also have projectile travel time. The moment you give an attack order and the moment the creep loses health therefore differ. If other attacks are already in flight nearby, account for them rather than looking only at the current health bar.
Choose one hero for several attempts. Switching heroes after every miss changes your attack timing and makes comparison harder. Learn to recognise one familiar attack first. Then you can check how another hero differs.

Denying is a separate task involving an allied creep
You can deny an allied creep with low health when it is available to attack. This is not a normal way to hit healthy allies, nor a guaranteed way to deny your opponent all experience. Detailed conditions and values depend on the current rules; for your first practice, distinguishing your own target from the enemy's is enough.
A deny competes for your attention with last hits and your hero's safety. If the opponent is ready to attack, you cannot treat every available deny as mandatory. Sometimes avoiding exposure or preserving your chance to take an enemy creep matters more.
EXPLORE THE EXAMPLE ↗On a real lane, tell allied creeps apart from enemy creeps. Denying requires an allied creep with low enough health to be attackable; it’s a separate action, rather than ordinary farming.
OOPS DOTA / Ruslan Ukrainskyi · own Juggernaut recording
Compare causes, not just the total
After a wave, name two specific misses: you attacked too early, were late, overlooked another projectile, backed off under pressure or stood too far away. Then choose one adjustment. Ten identical attempts without observing can reinforce a mistake instead of building a skill.
For the next wave, change only the thing you chose: order timing or position. A worse result is still useful for comparison. In matches against people, opponents and lane objectives add to the mechanics; it is convenient to separate the basic action from that pressure first.
- 01Watch the creep's health
- 02Account for attacks in flight
- 03Land the last hit
- 04Check the reward
Try it in the client.
In a bot match, go to a lane with one hero. For this attempt, assess your last hits over a few waves rather than whether you win.
- 01
Watch one wave without constant auto-attacking: follow the creeps' loss of health.
- 02
Try to last hit enemy creeps; after two misses, name the cause of each.
- 03
On the next wave, adjust only your order timing or your position.
- 04
Find a low-health allied creep and try an available deny using the attack command.
- 05
Compare the final wave with the first: explain one deliberately successful last hit and one remaining mistake.
How to tell whether it worked
You recognise gold gained after a last hit, distinguish a deny target and explain a miss through a specific action.
You attacked a creep, but another hero received the gold. Which conclusion helps?
Choose an action and read the explanation.
Tried it in-game?
Mark the lesson when you’ve done the practice. It’s your checkmark, not a skill grade.
Next lesson ↗Sources and context
An original beginner course by Ruslan Ukrainskyi. The learning path was prepared on October 6, 2026 for patch 7.41f; check exact values, object locations and interactions against the current client and Valve’s source. Illustrations have separate captions: our own recordings, official demonstrations and clearly marked historical examples.
Valve: short practice scenarios and a glossary (2021) ↗Valve: heroes and ability descriptions ↗Valve: current patch 7.41f notes ↗


