Collision: Difference between revisions
todo projectile grenade hitboxes |
m Remove MigrateTranslation template: all translation migrated Tag: Manual revert |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
{{Stub}} | {{Stub}} | ||
<translate> | |||
'''''Collision''''' occurs between tiles, tees, and projectiles in the [[world]]. | <!--T:1--> | ||
'''''Collision''''' occurs between tiles, tees, and projectiles in the [[Special:MyLanguage/world|world]]. | |||
Imagine each [[Tiles|tile]] being made up of a matrix of smaller, sub-squares. Each of these sub-squares represents a single, unique position that a tee can occupy at any given time, with one sub-square representing a possible center of a tee's position. | <!--T:2--> | ||
Imagine each [[Special:MyLanguage/Tiles|tile]] being made up of a matrix of smaller, sub-squares. Each of these sub-squares represents a single, unique position that a tee can occupy at any given time, with one sub-square representing a possible center of a tee's position. | |||
* One tile in the world has a width and height of 32 units. (This means a tee can occupy a total of 1024 unique positions inside a single tile.) | * One tile in the world has a width and height of 32 units. (This means a tee can occupy a total of 1024 unique positions inside a single tile.) | ||
==Tile Collision== | |||
==Tile Collision== <!--T:3--> | |||
<!--T:4--> | |||
Different tiles have different collision hitboxes. In respect to the center position of a tee: | Different tiles have different collision hitboxes. In respect to the center position of a tee: | ||
*Standard DDRace tiles (the vast majority of tiles unique to DDRace modes, such as freeze and tele) have a square hitbox of <code>32x32</code> units. | </translate> | ||
*Kill [[Tiles|tiles]] have a square hitbox of <code>50x50</code> units. | *<translate><!--T:9--> Standard DDRace tiles (the vast majority of tiles unique to DDRace modes, such as [[Special:MyLanguage/Freeze|freeze]] and [[Special:MyLanguage/teleporter|tele]]) have a square hitbox of <code>32x32</code> units.</translate> | ||
*Solid [[Tiles|tiles]] (unhookable, hookable, hookthrough) have a square hitbox of <code>60x60</code> units. | *<translate><!--T:10--> {{TileLink|{{Tile|game|2}}|Death|Kill}} [[Special:MyLanguage/Tiles|tiles]] have a square hitbox of <code>50x50</code> units.</translate> | ||
*Freeze lasers are complicated. Assuming a freeze laser pointing upwards with the source entity at the bottom (which creates a "top" freeze laser at the uppermost tile, 2 full tiles of vertical freeze laser in the middle, and a bottom "source" laser tile.): | *<translate><!--T:11--> Solid [[Special:MyLanguage/Tiles|tiles]] ({{Tile|entities|3}} unhookable, {{Tile|entities|1}} hookable, hookthrough) have a square hitbox of <code>60x60</code> units.</translate> | ||
**From the side, they will freeze a distance of <code>28</code> units left and right from the center. | *<translate><!--T:12--> Freeze lasers are complicated. Assuming a freeze laser pointing upwards with the source entity at the bottom (which creates a "top" freeze laser at the uppermost tile, 2 full tiles of vertical freeze laser in the middle, and a bottom "source" laser tile.):</translate> | ||
**From the top, they have a hitbox radius of units <code>27</code> units upwards from the center. | **<translate><!--T:13--> From the side, they will freeze a distance of <code>28</code> units left and right from the center.</translate> | ||
**From the side, they will freeze a distance of <code>28</code> units downwards from the center. | **<translate><!--T:14--> From the top, they have a hitbox radius of units <code>27</code> units upwards from the center.</translate> | ||
*Stoppers are a little more complicated. Be aware - since stoppers are easily skippable, these hitboxes don't mean much due to the fact that one can easily skip several units through a stopper with speed. | **<translate><!--T:15--> From the side, they will freeze a distance of <code>28</code> units downwards from the center.</translate> | ||
**1-way stoppers (assumed to be pointing upwards) will prevent further downwards motion starting a distance <code>34</code> units upwards from the center but <code>16</code> units leftwards, rightwards, and downwards from the center. | *<translate><!--T:16--> Stoppers are a little more complicated. Be aware - since stoppers are easily skippable, these hitboxes don't mean much due to the fact that one can easily skip several units through a stopper with speed.</translate> | ||
**2-way stoppers (assumed to be pointing up and down) will prevent inwards motion starting a distance <code>34</code> units upwards and downwards from the center but <code>16</code> units left and right from the center. | **<translate><!--T:17--> {{Tile|entities|60}} 1-way stoppers (assumed to be pointing upwards) will prevent further downwards motion starting a distance <code>34</code> units upwards from the center but <code>16</code> units leftwards, rightwards, and downwards from the center.</translate> | ||
**4-way stoppers will prevent inwards motion starting a distance <code>34</code> units in all directions from the center. Keep in mind that the hitbox is "+" shaped rather than square shaped. | **<translate><!--T:18--> {{Tile|entities|61}} 2-way stoppers (assumed to be pointing up and down) will prevent inwards motion starting a distance <code>34</code> units upwards and downwards from the center but <code>16</code> units left and right from the center.</translate> | ||
**Tees can dash through [[Stoppers|stoppers]] with | **<translate><!--T:19--> {{Tile|entities|62}} 4-way stoppers will prevent inwards motion starting a distance <code>34</code> units in all directions from the center. Keep in mind that the hitbox is "+" shaped rather than square shaped.</translate> | ||
*Doors are handled internally the same as stoppers, so are skippable the same way with speed. | **<translate><!--T:20--> Tees can dash through [[Special:MyLanguage/Stoppers|stoppers]] with {{Ninja}}</translate> | ||
==Tee Collision== | *<translate><!--T:21--> Doors are handled internally the same as stoppers, so are skippable the same way with speed.</translate> | ||
Tees collide with other tees as circles with diameter of 28 units, although tees already interact if they come as close as 35 units. Tees gain speed in the opposite direction of the interaction point, and the amount of speed gained depends on the distance between the two tees during the collision (the farther away the less speed gained) as well as the angle at which they bump into each other (when moving directly into the direction of the other tee, the most speed is added). [[Hook#Weak hook .2F strong hook|Strong and weak]] also play a role, with strong tees bumping a bit more than tees with weak. | <translate> | ||
==Tee Collision== <!--T:5--> | |||
<!--T:6--> | |||
Tees collide with other tees as circles with diameter of 28 units, although tees already interact if they come as close as 35 units. Tees gain speed in the opposite direction of the interaction point, and the amount of speed gained depends on the distance between the two tees during the collision (the farther away the less speed gained) as well as the angle at which they bump into each other (when moving directly into the direction of the other tee, the most speed is added). [[Special:MyLanguage/Hook#Weak hook .2F strong hook|Strong and weak]] also play a role, with strong tees bumping a bit more than tees with weak. | |||
== Projectile Collision == <!--T:7--> | |||
</translate> | |||
{{Todo|Add hitboxes for a [[Special:MyLanguage/Grenade|grenade]]}} | |||
[[Category:Game-Mechanic{{#translation:}}]] | |||
{{ |
Latest revision as of 17:54, 4 May 2024
Collision occurs between tiles, tees, and projectiles in the world.
Imagine each tile being made up of a matrix of smaller, sub-squares. Each of these sub-squares represents a single, unique position that a tee can occupy at any given time, with one sub-square representing a possible center of a tee's position.
- One tile in the world has a width and height of 32 units. (This means a tee can occupy a total of 1024 unique positions inside a single tile.)
Tile Collision
Different tiles have different collision hitboxes. In respect to the center position of a tee:
- Standard DDRace tiles (the vast majority of tiles unique to DDRace modes, such as freeze and tele) have a square hitbox of
32x32
units. - Kill tiles have a square hitbox of
50x50
units. - Solid tiles ( unhookable, hookable, hookthrough) have a square hitbox of
60x60
units. - Freeze lasers are complicated. Assuming a freeze laser pointing upwards with the source entity at the bottom (which creates a "top" freeze laser at the uppermost tile, 2 full tiles of vertical freeze laser in the middle, and a bottom "source" laser tile.):
- From the side, they will freeze a distance of
28
units left and right from the center. - From the top, they have a hitbox radius of units
27
units upwards from the center. - From the side, they will freeze a distance of
28
units downwards from the center.
- From the side, they will freeze a distance of
- Stoppers are a little more complicated. Be aware - since stoppers are easily skippable, these hitboxes don't mean much due to the fact that one can easily skip several units through a stopper with speed.
- 1-way stoppers (assumed to be pointing upwards) will prevent further downwards motion starting a distance
34
units upwards from the center but16
units leftwards, rightwards, and downwards from the center. - 2-way stoppers (assumed to be pointing up and down) will prevent inwards motion starting a distance
34
units upwards and downwards from the center but16
units left and right from the center. - 4-way stoppers will prevent inwards motion starting a distance
34
units in all directions from the center. Keep in mind that the hitbox is "+" shaped rather than square shaped. - Tees can dash through stoppers with Ninja
- 1-way stoppers (assumed to be pointing upwards) will prevent further downwards motion starting a distance
- Doors are handled internally the same as stoppers, so are skippable the same way with speed.
Tee Collision
Tees collide with other tees as circles with diameter of 28 units, although tees already interact if they come as close as 35 units. Tees gain speed in the opposite direction of the interaction point, and the amount of speed gained depends on the distance between the two tees during the collision (the farther away the less speed gained) as well as the angle at which they bump into each other (when moving directly into the direction of the other tee, the most speed is added). Strong and weak also play a role, with strong tees bumping a bit more than tees with weak.