Привет, с вами RedGuy, разработчик в ST, и сегодня я немного расскажу вам про мотоцикл Калеба.
Помните как в Идеальном Мире Рома сдвинул мотоцикл Главного Секретаря, в результате чего на сцене после этого он ехал боком? Давайте немного окунёмся в то как это случилось, как это можно было предотвратить, и что мы сделали после этого.
Часть 1. Разработка
Для начала нам нужно понять, как вообще работает механика мотоцикла. Когда Калеб подходит к нему, Калеб устанавливается пассажиром, буквально так же работает посадка у игрока на свиней/лошадей/лодки в майнкрафте. Дальше вступает в дело движение. Как вы помните, дорога от заправки идёт прямо, из-за чего, для упрощения, разработчик сделал геометрическую формулу ускорения, которая изменяет только одну координату вдоль этой дороги, не трогая остальные 2 пространства и повороты. Таким образом, мотоцикл движется по прямой и только, независимо от положения.
Часть 2. Рома
Давайте окунёмся в момент когда всё пошло не так. Рома решил потрогать мотоцикл который стоит на дороге, но при этом не вернул его в начальное положение. Никто из тестировщиков не думал так сделать, что создало неожиданное для нас поведение. Всё, что было дальше, вы видели в серии :3
Часть 3. Последствия
Что же было сделано после того, как мы увидели серию?
Во первых, сказали Роме больше так не делать.
Во вторых, обновили код, отвечающий за подобные моменты. Теперь формула использует не 1 точку в пространстве, а все 3, учитывая движения в бок и в высоту, соответственно, управляя положением мотоцикла.
В третьих, отключили возможность управлять важными сюжетными машинами и мотоциклами.
И в четвёртых, подшутили над Ромой в самом сюжете, добавив в одном из мест просьбу не трогать мотоцикл. (напишите в комментариях, если помните, какой момент)
Вот так вот, 1 недочёт и желание Ромы попробовать всё, создали интересный баг, который нашёл отдачу в сообществе.
Комиссар Дейв, вы обвиняетесь в прикосновении к мотоциклу!