- Глубокое погружение в развитие случайного признака
Возможно, вы заметили, что прошлой весной приобрели новый навык-умение ползать ! Можно было бы подумать, что такой революционный навык был создан месяцами напряженной работы и тщательного планирования. Ну, спойлер предупреждает: все это был несчастный случай! Хотите узнать, как это произошло? Затем возьмите стул и крепко держитесь; это обширная закулисная история о том, как ползучий заполз в Майнкрафт.
Все началось с невинного на вид сообщения об ошибке в hitboxes и Eye heights. Видите ли, все Майнкрафт мобы имеют хитбокс – невидимую коробку, которая представляет, сколько места занимает моб. Если вы играете в Майнкрафт на ПК или Mac, вы можете увидеть все хитбоксы игры, нажав суперсекретную комбинацию клавиш F3+B (никому не говорите).
Красная линия в верхней части -это высота глаза. Он используется , чтобы определить ,могут ли два моба видеть друг друга . Если они смогут установить зрительный контакт , то смогут прицелиться или последовать друг за другом
Сообщенная ошибка была связана с неправильным размером хитбоксов или неправильным расположением глазных высот, что было легко исправлено благодаря нашему замечательному сообществу игроков™, которое услужливо перечислило все ошибки, которые необходимо было устранить. Один интересный пример, который выделялся, состоял в том, что хитбокс белого медведя не менялся во время анимации атаки. Белый медведь встает всякий раз, когда он атакует, и если хитбокс не следует за ним, то игрок не может ударить белого медведя по туловищу, когда он стоит.
Эта ошибка hitbox не ограничивалась белым медведем, и вскоре мы узнали, что даже игрок hitbox был неправ в своем поведении. Когда вы” крадетесь", удерживая клавишу shift, ваша модель игрока переходит в позу приседания. Но хитбокс и высота глаз на самом деле не следовали за ним.
Эй , линия роста красных глаз ! Вы должны были следить за головой игрока , когда крадётся ! Хорошо ,что это исправили.
Так в чем же была проблема? Ну, высота глаз игрока также эффективно является "камерой" для вашей перспективы от первого лица, поэтому, когда вы нажмете shift, чтобы скрыться, вы на самом деле не заметите никакой разницы, потому что ваша перспектива просмотра была недостаточно снижена. Это было легко исправить – просто измените одно число в коде Minecraft и: tadaa, проблема решена! Высота глаз теперь была в правильном положении, и вид камеры игрока будет достаточно низким, чтобы заставить их чувствовать, что они согнулись.
Приседание после изменения высоты глаз , что делало его гораздо более визуально по сравнению со стары тонким.
Однако эта маленькая проблема была далека от решения, так как оказалось, что решение имело важный побочный эффект: изменив хитбокс игрока на более низкий, игрок теперь мог поместиться под плитой, когда крался!
Теперь вы могли не только прятаться под этой плитой, когда крались – ваша голова также появлялась над плитой всякий раз, когда вы прекращали прятаться. Причина, по которой мы получили этот результат, заключалась в том, что игра не была разработана для этого, поскольку она предполагает, что игрок стоит, когда он не держит клавишу shift.
То, что игроки поместились под ранее недоступным пространством высотой 1,5 блока, на самом деле было довольно значительным изменением геймплея! То, что начиналось как, казалось бы, небольшая задача, росло в масштабах, и необходимо было обсудить с командой разработчиков, чтобы решить, является ли это хранителем или нет.
Так вот что происходит , когда сидишь на корточках под плитой , а потом отпускаешь клавишу shift? Голова торчит прямо сквозь плиту ( ну , по крайней мере визуально )! Ой !
После некоторого обсуждения мы решили, что это стоит добавить. Однако кодирование оказалось довольно сложной задачей, так как то, что мы называем “подхалимом", буквально имело в Майнкрафте целых 26 различных значений. Это включало в себя такие вещи, как затемнение вашего бейджа с именем, предотвращение скольжения вниз по лестнице и снятие вас с лошади или минной тележки – и это только некоторые имена!
Все эти вещи были собраны вместе и соединены с ключом переключения, что делало его действительно трудным для работы. Это также вызвало много вопросов, таких как: если вы нажмете shift, чтобы проникнуть под плиту, что именно должно произойти, когда вы отпустите shift? Если вы находитесь под плитой и не удерживаете сдвиг, должны ли вы двигаться нормально или медленно? Вы технически подкрадываетесь или нет? Что вообще означает подкрадываться?
Эти вопросы, включая множество различных определений, в конечном итоге привели нас к решению исключить "кражу" как понятие в Кодексе. Это было довольно большое предприятие как техническое изменение и включало в себя распутывание всех различных поведений друг от друга, чтобы сделать возможным настроить каждое поведение отдельно. Вот она, история о том, как мы научились прятаться под плитами!