DDnet Guide

DDnet Guide

Hook


DDnet Guide image 1

DDnet Guide image 2

The Hook allows you to maneuver around maps. It is always available and essential to almost every ddnet map. With it, you can:

hook certain blocks to swing around

hook other tees to pull them towards you

Use the hook by holding down secondary fire. Release it by letting go of secondary fire.

How it functions:

the hook moves in a straight line until it collides with either a tee or a wall

if the hook collides with nothing, it will stop at its maximum range

hooking is not instant, it does have a travel time

hooks do not nullify the former velocity of a tee, its just another factor that influences it

thanks to how thin it is, it can fit through diagonal gaps between blocks

Block Types

There are 3 types of solid blocks:

Hooking unhookable blocks will cancel your hook

Hooking a hookable block will anchor your hook into place, until you release it

Hookthrough blocks will not affect your hook, it will pass right through them

When your hook is active (anchored to a hookable block), your tee will be pulled towards the anchor point.

There is no timer when hooking a block, you can release it at any time.

Hooking Tees

Hooking another tee will pull the tee towards you.

Your tee will also be slightly pulled towards the other tee.

Keep in mind that, due to friction, pulling tees is way slower while they are standing on the floor. In contrast to hooking a block, a hook on another tee only lasts 1.25 sec. Once the timer runs out, the hook will be reset.

Pull limit of the hook

You will not pulled all the way to the anchor point. Instead, when your tee enters a specific radius to the anchor point you will not be affected by the hook until you get out of it again. This is especially significant when trying to move along the ceiling. Try to rehook the ceiling when your tee is directly below it, to stick tighter to the it.

Hook Hitbox of Tees

The hitbox of tees for the hook is actually larger then it is visually represented. While a tee looks about the same size as a block and mostly also interacts that way, its hitbox for the hook is much more generous. Due to this large hitbox it is possible to hook a tee through a gap between blocks without having to do a hook with surgical precision. To see how big the actual hit box of tees are, you can turn on ‘fat skins’ in Settings -> Tee -> Fat Skins(DDFat).

Weak Hook - Strong Hook

When hooking other tees, you won’t always pull them with the same strength. There are 2 different strength modes your hook can have, called ‘weak hook’ and ‘strong hook’.

With every tee on the server you individually have either weak, or strong hook on them. Who of you 2 has strong hook on the other is determined by who spawned last. The tee that spawned last has weak hook and the one who already lived longer has strong hook.

Weak and Strong hook are especially noticeble in parts where you hook the other tee along the floor and during hammerfly.

Advanced Behaviour

the hook has a maximum range. Once the hook expanded to its maximum range, it will reset. Note that if you move away from the hook, that maximum range is reached faster and you won’t hook as far. However, you can’t hook further by moving in the same direction

the hook does not start directly at the border of your tee you see. Instead, it starts a bit further out, which is why its easier too hook through a gap between blocks when you are near the gap yourself

Jump


DDnet Guide image 36

Jumps in Teeworlds allow you to maneuver vertically, in order to avoid obstacles and reach platforms you would otherwise not get. On a jump, your tee will get propelled upwards. The velocity will wear off over time until gravity pulls you down again.

In Teeworlds you have two types of jumps:

you will ground jump whenever you are standing on some kind of floor

the double jump (or air jump) is used while mid-air

You will usually have one ground jump and one double jump at your disposal.

Ground Jump

The ground jump is only possible whenever you touch the ground. Since it is programmed in the way that it sets your velocity to a certain value, it will disregard any other vertical boosts you gain at the same moment. When started the vertical velocity is set to 13.2 and at its peak it reaches a height of 5.69 tiles. Once you don’t touch the ground anymore, this jump becomes unavailable.

Double Jump

The double jump is available once you leave the ground. The vertical velocity is set to 12 when activated. Interestingly, since it sets your vertical velocity to a certain value like the ground jump does, you can manually use it to cancel all vertical velocity. It doesn’t reach as high as the first jump and only reaches 4.62 tiles at its peak. Together with the ground jump you can get up to 10,31 tiles.

The brightness of the tees feet indicate if it has already used its double jump. When double jump is not available, the feet are darker.

You get your double jump back the next time you touch the ground. You can double jump after jumping off the ground and also after walking off a platform.

Advanced Behaviour

whenever you hold the jump-key, you either trigger a jump instantly or trigger a jump as soon as it is available to you. This can be used to jump as soon as you touch the ground

in cases where you have more than 2 jumps, the amount will divide in 1 ground jump and double jumps for the rest

when timing a jump right before getting frozen, you will both get frozen and double jump at the same time

Movement

Gravitation: Every tick the acceleration of 0.5 is added to the y velocity (downwards).

Input (horizontal movement):

Pressing nothing:

Air: Every tick velocy.x = velocy.x * 0.95

Ground: Every tick velocy.x = velocy.x * 0.5

Pressing key in opposite direction:

Ground: Every Tick horizontal velocity decreases by 2 until 10 in the opposite direction is reached

Air: Every Tick horizontal velocity decreases by 1.5 until -5 in the opposite direction is reached

Horizontal speed up by pressing a or d:

Ground: Every Tick horizontal velocity increases by 2 until 10 is reached

Air: Every Tick horizontal velocity increases by 1.5 until -5 is reached

Max speed

Max speed: 6000 Sub-tiles/Tick (+speedup in one tick, e.g. gravity, jetpack, explosion).

src/game/gamecore.cpp (before calculating new position from velocity):

if(length(m_Vel) > 6000)

m_Vel = normalize(m_Vel) * 6000;

This is the bottle neck in vertical movement. In horizontal movement a “ramp”-Value is multiplied to the horizontal speed. Causing the tee to slow down and stop when getting too fast. This is most commonly observed in speed ups.

The speed is rounded down to a precision of 1/256 every tick. This is causing the tee to stop moving horizontal when having too much speed.

Todo:

convert sub-tiles/tick into tiles/sec

find max vel und real max vel (from where would a constant function fit)

find speed, where the tee stops moving

write about ramp speed, and add diagram

Hammerfly

General Principle

Hammerfly is the most common flight technique for 2 tees.

To hammerfly:

stack 2 tees on top of each other (use a wall to line up)

the lower tee continuously hammers the upper tee

the upper tee (the ‘driver’) hooks the lower tee

The hammer hits propell the driver upwards

The continuous hook:

pulls the hammering tee upwards

keeps the two tees into hammer range

This way you can fly upwards indefinitely.

Timing

Spamming the hammer and hook won’t get you very high.

As the hammering tee, try to hammer whenever you just bounced off the other tee.

As the driver, never let go of the other tee in the air. Hooking every second hammer hit the lower tee does is a good rhythm.

Without Lining Up

Whenever you don’t have a wall to line up in a tower:

choose a tee to drive

have the driving tee jump over the other tee

start the usual hammerfly cycle

Driving

Driving allows the driving tee to direct the hammerfly to the side. When done well, this allows for horizontal flight.

As the driver, drive by moving in the desired direction directly after you got hit by the hammer.

Start with very light movement. The further you move each hit, the more horizontal, but also unstable the hammerfly will get.

Dropping While Hammerflying

Some parts require you to drop a bit during a hammerfly.

If the driver still has double jump available, you could:

stop the hammerfly cycle shortly

have the driver double jump to cancel the falling speed

start the hammerfly cycle again

Without double jump, you can:

stop the hammering

have the driver hook the lower tee again and again to bump into each other

The bumping will slow down the drop significantly. This way you can start the cycle any time you want.

Note however, that you want to have strong hook as the driver for this, else the bumping might not work as well.

Kinta Fly

Kinta fly (or just ‘kinta’) is a special but much harder variant of hammerfly. It is usually done below a ceiling and allows horizontal flight in much tighter space.

For kinta, both tees have to move in the desired direction at the same time. Don’t move continuously, but instead like you would move while driving.

What you want to achieve is that both tees stay above each other. Note that you will have might have to adapt your hammering rhythm.

To initiate kinta successfully, start the moving at the same time. Usually you start moving in the direction once the upper tee is near the ceiling.

Speedfly

Speedfly can be attempted during a usual hammerfly to reach high vertical velocity.

Initiate speedfly as the driver by double jumping just before you will get hammered. If you got the timing, you will suddenly gain a lot of height than usual on the hammer hit.

To keep the speed up, the hammering tee always has to hammer just before bumping into the upper tee, which would break it.

Pretty much every time window for this trick is very narrow.

Hookfly


DDnet Guide image 123

Hookfly is a flight technique for 2 tees. It uses the hook and is a lot easier with a wall of hookthrough between the 2 tees. Parts usually force you to use hookfly instead of hammerfly by removing the ability to hammer other tees.

Initiating hookfly (with a wall of hookthrough):

be each one one side of the wall

one of the tees jumps up and hooks the other tee as high as possible

continuous cycle:

the currently higher tee hooks the lower tee

Each hook will pull the lower tee significantly higher than the other tee was. Thereby you will gain height each hook and are able to fly upwards indefinitely.

To initiate a hookfly mid-air, one tee has to cancels its fall by doublejumping and hook the other tee up.

Timing

Hooking the other tee the moment you are are just barely above him won’t get the other tee very high. Instead, wait a little longer until

your tee has reached a decent height

and the other tee is still well in your hook range

Without Hookthrough Wall

Without the wall you will have the problem of bumping into each other, which will break the rhythm.

To counteract the missing wall, steer away from the other tee whenever you are hooking. You must move far enough to not collide, but have to stop before the other tee has to aim its hook in order to not mess up the aiming.

Horizontal Hookfly

For horizontal flight, the 2 tees will no longer have a side dedicated for each, but will instead revolve around each other.

To hookfly horizontally:

stand apart from each other

the tee that stands in the desired direction:

jumps up

hooks the other tee

continuous cycle:

whenever you are on the top left relative to the other tee, hook him

move right shortly after each hook

Hammerhitfly

To throw another tee, jump above it and hook the tee upwards and hammer it while it is next to you. You have to dodge the other tee by moving to the side to not have it bump into you.

In a nutshell, hammerhitfly is a very precise chain of 2 tees taking turns to throw the other tee up.

initiate it by having one of the 2 tees throw the other tee up

loop it by having the thrown tee hook the other tee right before it gets hammered and using the hook to throw once again

Only the currently hooking tee moves. Move to the side after the start of the hook to dodge the other tee on its way up. Optionally move towards the other tee again if you are out of hammer range.

If you fail the hammering, simply continue the cycle, you should be able to keep the fly up.

Rocketfly

Introduction

Rocketfly is a hard fly technique for 2 tees, and is pretty much only used when one of them is deep frozen (aka deep). It requires the grenade launcher and is a lot easier with strong hook. Doing the rocketfly consistently mostly comes down to feel.

Easier Variant: Using a Wall

With a wall at your disposal you can use a much easier variant of the rocketfly:

place the deep tee next to the wall

jump on top of it

aim down, a bit away from the wall

repeating cycle:

hook

fire

General Principle

To initiate rocketfly, jump over the frozen tee and hook him below you.

To rocketfly to the right:

try to stay on top of the other tee and slightly on the left side of it

shoot the grenade whenever the other tee has just bumped into you (if you have weak hook, you might not bump properly)

continuously hook the other tee, rehook only directly before firing

aim downwards and a bit to the left

repeating cycle:

shot a grenade

adjust your position by moving a bit to the right yourself

To rocketfly to the left, do the same movements but mirrored. Each shot of the grenade launcher will propell you upwards and yourself as well as the other tee sideways.

Adjusting The Angle

How far you go upwards and to the side over time depends on the angle you shoot your rocket at.

When you aim further to the side, you will get launched stronger sideways. Note that you also have to adjust your position more.

The closer you are to aiming straight down, the more height you will gain and the less you will have to adjust your position.

Losing Height While Rocketfly

During vertical flight it is hard not to gain height over time. Once you need to lose height, stay above the other tee and hook it occasionally to drop slowly (same technique as when losing height during hammerfly). To continue to rocketfly, hook the other tee towards you and start the cycle again.

Flying Upwards

While the positioning stays the same (decide for one side of the tee to stay on), you now fire straight downwards and only slightly to the side. Each shot of the grenade launcher will propell your tee upwards significantly and the frozen tee to the side. The hook will mostly correct your position to the other tee, but you might have to manually adjust your position by a bit.

Switching Direction

Whether you are flying horizontally or vertically, you might need to switch your flight direction for one reason or another. To practice switching the direction mid-flight, first practice each direction individually and then try the switch. Switch by changing your position relative to the other tee while you are hooking it towards you, and changing the angle of your grenade launcher.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2200476699					

More DDraceNetwork guilds