Коллизии

From DDraceNetwork
Revision as of 19:10, 14 February 2023 by Lolipod (talk | contribs) (Created page with "Представьте, что каждая тайл состоит из матрицы более мелких субквадратов. Каждый из этих субквадратов представляет собой единственную, уникальную позицию, которую может занять игрок в любой момент времени, причем этот один субквадрат предст...")
Эта страница является заготовкой. Вы можете помочь нам, дополнив и улучшив её.

Коллизия происходит между тайлами, игроками и снарядами в мире.

Представьте, что каждая тайл состоит из матрицы более мелких субквадратов. Каждый из этих субквадратов представляет собой единственную, уникальную позицию, которую может занять игрок в любой момент времени, причем этот один субквадрат представляет собой возможный центр позиции игрока.

  • Один тайл в мире имеет ширину и высоту 32 единицы. (Это означает, что игрок может занять в общей сложности 1024 уникальные позиции внутри одного тайла).

Коллизия тайлов

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.
  • 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 but 16 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 but 16 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
  • 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.


Projectile Collision

TODO: Add hitboxes for a grenade