1 (edited by Pathos 2018-07-21 04:33:01)

Topic: [Guide] Movements: Mechanics of High Speed and Mastery

This guide will clearly point out the mechanics on what the optimal movement is for highest speeds, mainly, converting vertical momentum to horizontal speeds.


Key Points
1. Gravity and transferring the vertical momentum into horizontal direction
2. Knowing the critical angles, 0°, 90°, 180°, and 270°, for optimization in a circular motion and using the left/right key or the hook at the critical angles (usually in quarter-circles)
3. Register on race.teesites.net and practice on Teerace servers



I. Gaining Momentum via Vertical Motion
TL;DR of this section:
1. Hit the ceiling
2. Hook downwards
http://i.imgur.com/Ik95Dok.png

In Teeworlds, there are five sources to gain momentum: another tee hooking you, hooking (the ground/wall/ceiling or weakly, another tee), gravity, jumping, and grenades. I cover hooking the ground and gravity.

Hooking the ground is a finite source of gaining momentum, while gravity is an infinite source. This means that if you hook in front of you, no matter how long or how many times you hook in front of you, you won't be able to run any faster after a certain point. However, if you find a map with infinite vertical space, the gravity will keep accelerating you downwards without an end. Therefore, the main way to gain speed is to use the gravity (but not with too much falling speed far beyond the hook's pulling strength).

But hooking downwards and gaining momentum from gravity are not mutually exclusive. And since hooking the ground actually gives you higher acceleration than gravity, it's a must-use for gaining speed. So, what is the best way to get downwards acceleration? Hit the ceiling or gain elevation and hook downwards.

https://i.imgur.com/HaeiSzt.mp4

(From the mp4 above, you can see the buttons I'm pressing. The reason why I press left there is to cancel the backwards motion from hooking down-right)

Jumping is another source of momentum. It has an infinite acceleration with limited top speed, while losing that upward motion to the gravity's downwards acceleration.



II. Transferring the Momentum from Vertical Motion to Horizontal, Using the Critical Angles
TL;DR of this section:
1. Hook forward before the horizontal critical angle (image above, step 2)
2. Press forward when you hit the horizontal critical angle (image above, step 3)
3. Release the hook at the vertical critical angle, basically a quarter-circle motion (image below)
http://i.imgur.com/4WSCASk.png

https://i.imgur.com/QdgCCRA.mp4

From the mp4 above, you can see that I start with what I stated before. I hit the ceiling and hook down. I press right to keep the hook's length as long as possible (see explanation at the end of this section). When the hook becomes 0°/180°, I start pressing left. Then I use one short hook, then another hook to release until the hook becomes 90°. To clarify, starting from the moment I press left and releasing the last hook is a quarter-circle.

But why do I use three hooks in this mp4? Well, first reason is because of how the terrain/map is restricting my path and that's a straightforward explanation. However, the second reason is because during the big, swinging motion with three hooks, I can continuously gain momentum from gravity during those hooks and keep transferring them towards horizontal vector of motion.

Now, to cover the jump part--the mechanics are congruent to the downward swing, similar logic with transferring the gravity's momentum to horizontal vector of motion.

https://i.imgur.com/xE2tLb8.mp4
https://i.imgur.com/R6BOsQW.png

Notice that I added a second hook when going left on the above mp4, just like a downward swing. From this, you can gain additional speed. The game showed that I was just under 30 velspeed (not shown).

So, why the critical angles? Why is that the optimum?

http://i.imgur.com/BWoNj03.gifv

Well, let's say your current speed is 1 in some diagonal direction and you're only allowed maximum 1 speed and you want to transfer that speed entirely into horizontal direction. Then, the only way to do that is to completely transfer your vertical motion, rendering it 0, giving your horizontal motion 1. If you know a bit of trigonometry, you know that:

sin(0°) = sin(180°) = 0
|cos(0°)| = |cos(180°)| = 1

where sin would be for calculating your vertical speed and cos would be for your horizontal speed. Thus, you know that all of your momentum of 1 speed is transferred at the critical angle. You should not confuse with hooks here. The explanation with the sin and cos are the direction of motion. The hook should be 90°.

Why should the hook be longer? Similar to the explanation with the three hooks above, that is because the bigger your swing, the more time your quarter-circle swing takes. And during that time of the swing, you're still gaining momentum from gravity. Further, because it takes more time and human reflexes are not perfect, we can control the release of the hook at the critical angle better.



III. Further Guidance and Practicing
TL;DR of this section:
1. Visit race.teesites.net and register, explore the website and videos
2. Join Teerace FastCap servers in-game
3. Good jump start maps to practice are DeliciousTee-no-weapons, ctf3-no-weapons, ctf_infiltrate-no-weapons, ctf_aurochs-no-weapons, and ctf2-no-weapons

There are many mods that puts an emphasis on movement. One of them is Teerace. It is the ultimate learning tool where you can watch videos/demos of top players' movements and copy exactly what they do. You can visit the website at race.teesites.net, explore the website, look at some videos of the maps, and learn from it. You can register and the website will keep a progress of your improvements. In-game, you can join a Teerace server and login to record your times, shown on the website.

For those learning, I would recommend the game type FastCap without weapons. As for a course, I would recommend the following five maps and goals:
1. DeliciousTee-no-weapons: under 9 seconds (eventually 8.5)
2. ctf3-no-weapons: under 5 seconds (eventually 4.5)
3. ctf_infiltrate-no-weapons: under 5.5 seconds (eventually 5)
4. ctf_aurochs-no-weapons: under 4.5 seconds (eventually 4)
5. ctf2-no-weapons: under 10 seconds (eventually 9.5)

Of course, after mastering each map without weapons, take them on with grenades!

Now, to explain the above course--DeliciousTee is a great map for learning to optimize critical angles. It has many corners to maneuver in short distances and is a good practice for all directions. With the critical angles covered, ctf3 is a good map for learning when not to use critical angles. Afterwards, ctf_infiltrate, ctf_aurochs, and ctf2 are technically challenging maps (therefore they are also great CTF maps) to improve general movement mechanics.

For grenades only, I recommend f33.

2

Re: [Guide] Movements: Mechanics of High Speed and Mastery

This puts a lot of the intuition I've gained into concrete advice, thanks for the tips. Hadn't thought about hooking as being a method to utilize gravity for longer more but that makes a lot of sense to think of it in those terms.

Question - the face of the wall (e.g. hooking the top of a block vs a side) that you hook affects the speed at which you're pulled as well, right? Since I'm pretty sure that's the case, feels very different to hook the side vs the top of a block, but perhaps I'm confused and it's all just the placement of the hook relative to my tee.

3

Re: [Guide] Movements: Mechanics of High Speed and Mastery

Did you see this game http://www.rimsimgames.com/kugelnio/

4

Re: [Guide] Movements: Mechanics of High Speed and Mastery

arsalan55555 wrote:

Did you see this game http://www.rimsimgames.com/kugelnio/

Sadly it doesn't have a hook, but it's great that it's using teeworlds assets

A little bit off topic here?

Having troubles finding servers in the serverlist? Go to Pastebin (its a referer cause there is daily a new pastebin) and add the lines to your settings.cfg (in %APPDATA%\teeworlds). Then open teeworlds and go to the favorites tab. (Note however, standard teeworlds client can only show 256 favorites, use ddnet instead)