Скачать демки к статье

Wallbugs

ENG

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



Первое выглядит как прохождение стен и потолков будто по инерции, без потери скорости.
Обычно это называют skim (проскок).
Вернее говоря, это не баг стен, а фича физической модели игрока: после приземления или принятия отдачи от оружия стены, потолки и другие игроки, выступающие в их качестве, на некоторое время перестают влиять на скорость.
Приземлиться надо с вертикальной скоростью менее -200ups, это включит режим skim'а на 250ms.
После отстрела этот режим включается на время 50-200ms в зависимости от величины принятой отдачи.
Проскоки после прыжков нашли широкое применение в ctf по категории стрейфов; там они помогают сделать траекторию прыжков более ровной и за счёт этого выиграть во времени.
Применение skim'ов с оружием встречается реже.
08-01_q3dm6_landingskims.dm_68 - несколько прыжковых skim'ов и после ob.
08-02_q3dm6_weapskims.dm_68 - пример skim'ов с оружием.



Второе же явление, понимаемое под словом воллбаг, представляет собой застревание в твёрдом объекте (обычно так и называют - wallbug или сокращённо wb).
Есть следующие варианты эффектов от wb:
1. Физика как в воздухе, вертикальная скорость равна нулю.
2. Физика как в воздухе, вертикальная скорость уменьшается, как при падении.
3. Физика как в воздухе, вертикальная скорость ведёт себя, как при падении, вертикальная координата медленно уменьшается.
4. Физика как на земле. Состояние может быть полезно, если на полу slick.

Для удержания в wb иногда надо прижиматься к стене, иногда стрейфить, иногда достаточно ничего не делать.

Wb, как и многие другие баги Q3, связан с буферной зоной стен, поэтому часто можно поймать его на кривых (curve) и неаксиальных брашах (расположенных не по игровым осям).
В случае кривых возможны все 4 варианта развития событий в wb.
08-03_q3dm9_wb2slope.dm_68 - скорость по z набирается, применяем её к наклонной.
08-04_sjt2_01.152_wallbug.dm_68 - подобный случай, ловим ob. Чтобы застрять, надо для начала попасть в буферную зону стены.
08-05_csu1a_flexible_z_wb.dm_68 - координата z меняется, при достижении пола автоматически получается ob.
Пример варианта 1 с неаксиальным брашем:
08-06_q3dm6_b2ra_onejump.dm_68

Особый случай - стык стен под острым углом. Если только одна из них расположена не по оси, то получаем эффект 2:
08-07_q3dm18_fixed_z_wb.dm_68 - тут участвует curve, с брашем сработало бы аналогично.
Если же обе стены неаксиальные, то обычно получаем вариант 3, но возможен и 2.


Также можно застревать и в стенах, расположенных вдоль осей.
Это потенциально возможно, если стена направлена в сторону положительной части координатной оси (но далеко не всегда).
Чтобы застрять, надо встать сбоку от такой стены и подвинуться перпендикулярно ей на размер буферной зоны (0.125u) + ещё немного, а затем прижаться к стене, смещая координату в сторону буферной зоны.
В таких wb возможны варианты поведения физики 1 и 4.
Можно застревать по горизонтали: 08-08_q3dm6_corner_wb.dm_68
А можно и по вертикали: 08-09_q3dm13_ceil_wb.dm_68

Практически на любой карте есть такой wb; к счастью, среди карт для дефрага наберётся от силы сотня, где он полезен.
Наиболее широко эти wb используются в стрейфовой категории cpm ctf. Там господствуют длинные преджампы, и wb - неплохая им альтернатива.
Такой тип wb легко предотвратить при маппинге: он невозможен в детальных брашах