Коллизии

From DDraceNetwork
Revision as of 19:20, 14 February 2023 by Lolipod (talk | contribs)
Эта страница является заготовкой. Вы можете помочь нам, дополнив и улучшив её.

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

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

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

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

У разных тайлов разные хитбоксы коллизий. в зависимости от положения центра игрока:

  • Стандартные тайлы в DDRace (подавляющее большинство тайлов, уникальных для режима DDRace, таких как фриз и телепорт) имеют квадратный хитбокс в 32x32 единицы.
  • килл тайлы имеют квадратный хитбокс в 50x50 единиц.
  • Твердые тайлы (анхук, хук, сковзные) имеют квадратный хитбокс размером 60x60 единиц.
  • Замораживающие лазеры устроены сложнее. Предположим, что замораживающий лазер направлен вверх с источником внизу (что создает "верхний" замораживающий лазер на самой верхнем участке, 2 полных тайла вертикального замораживающего лазера в середине, и нижний тайл "исходного" лазера):
    • Сбоку они замораживают на расстоянии 28 единиц слева и справа от центра.
    • Сверху они имеют хитбокс радиусом 27 единиц вверх от центра.
    • Снизу они замораживают на расстоянии 28 единиц вниз от центра.
  • Будьте внимательны - поскольку стопперы легко пропускаются, эти хитбоксы не имеют большого значения из-за того, что можно легко пропустить несколько юнитов сквозь стоппер со скоростью.
    • Односторонние стопперы (предпологается, что он направлен вверх) будут препятствовать дальнейшему движению вниз, начиная на расстоянии 34 юнитов вверх от центра, но во все остальные напрвления (влево, вправо и вниз) стоппер будет начинать останавливать только начиная с 16 юнитов от центра.
    • Двусторонние стопперы (предполагается, что он направлен вверх и вниз) будут препятствовать движению внутрь, начиная на расстоянии 34 юнитов вверх и вниз от центра, но при остановки движения горизонтале стоппер будет останавливать движения только с 16 юнитов от центра.
    • 4-сторонние стопперы предотвращают движение внутрь, начиная на расстоянии 34 юнитов во всех направлениях от центра. Имейте в виду, что хитбокс имеет форму "+", а не квадрата.
    • стопперы можно легко проскочить с помощью ниндя.
  • Двери внутри кода обрабатываются так же, как и стопперы, поэтому их можно пропустить с той же скоростью.

Коллизии игроков

Игрок сталкиваются с другими игроками как окружности диаметром 28 единиц, хотя при приближении на расстояние 35 единиц игроки уже взаимодействуют. Игроки набирают скорость в направлении, противоположном точке взаимодействия, и количество набранной скорости зависит от расстояния между двумя игроками во время столкновения (чем ближе, тем больше скорость), а также от угла, под которым они сталкиваются друг с другом (при движении прямо в сторону другого игрока достигается наибольшая скорость). Стронг и вик также играет роль, причем игроки с сильным хуком сталкиваются чуть сильнее, чем игроки со слабым.


Коллизия снарядов

TODO: Add hitboxes for a grenade