Блиц: Джорб о системе плавающих координат

Haven and Hearth: Блиц: Джорб о системе плавающих координат
Обычно интервью — это разговор на много часов. Раз уж встретились, нужно обсудить все подряд, да так, что после такой беседы в течение года нет смысла встречаться. Но что если изменить формат и поговорить на одну, зато актуальную тему? Встречайте новый формат интервью от ММОзговеда: «Блиц». Наш собеседник — Джорб — автор лидера недели, проекта Haven and Hearth.

mmozg: Привет, Джорб. Тема сегодняшнего блица — «координаты с плавающей точкой».

Jorb: Я буду рад ответить на любые вопросы.

mmozg: Отлично! Расскажи, пожалуйста, почему это настолько важная тема, зачем нужно переделывать весь код для работы с такими координатами?

Jorb: Числа с плавающей точкой обеспечивают лучшую точность в позиционировании объектов. Это важно во многих случаях, например, при повороте объектов и любых взаимодействиях, затрагивающих такие понятия как расположение объектов, расстояния, относительные углы поворота и так далее, и в подавляющем большинстве случаев такое изменение оказывает сугубо положительное влияние.

mmozg: Это более или менее общие слова. А что конкретно вы собираетесь реализовывать на базе этого изменения в координатах?

Jorb: Начать мы планируем с переработки системы «столкновений» (например, когда игрок упирается в какой-то объект). Хочется добиться того, чтобы объект в случае столкновения не останавливался напрочь, а аккуратно сдвигался в сторону. Особенно в случае, когда столкновение произошло по самому краю объекта. Это должно существенно упростить жизнь в «захламлённых» поселениях, потому что вместо того, чтобы полностью остановиться об краешек, к примеру, корзинки (так происходит сейчас), ваш персонаж «отскочит» от неё и продолжит свой путь.

Этот этап далеко не маленький, но, по крайней мере, хорошо сформулированный и имеющий четкие границы. Именно поэтому мы хотим реализовывать его в первую очередь. И только после него планируем заняться следующим этапом, связанным с изменением системы координат. Речь про то, что мы называем словосочетанием «объекты, контролируемые другими объектами».

Haven and Hearth: Блиц: Джорб о системе плавающих координат
mmozg: Речь про неинстанцированные дома и прочие замечательные вещи? Почему для всего этого так важны нецелые координаты?

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

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

Что же касается связи с новой системой координат, то дело в том, что подобный контроль одних объектов над другими предполагает множество преобразований координат, например между областью моста, где можно ходить и общемировыми координатами. И без увеличения точности с большой вероятностью это бы означало множество неприятных проблем с округлением, ошибками преобразований и прочим, что в свою очередь привело бы к очень странному поведению. То есть нельзя сказать, что координаты с плавающей точкой именно необходимы, но позитивное их влияние достаточно большое, чтобы начать именно с них.

mmozg: Кастомизируемые дома — замечательно! Но вообще, про все эти потенциальные нововведения ты так или иначе уже упоминал раньше. А есть что-то такое же крутое, но о чём вы ещё не рассказывали?

Jorb: Наибольший потенциал, скорее всего, как раз у системы контроля объектов, но об этом нам ещё только предстоит подумать. Например, приходит в голову возможность ходить по кораблям. Но я бы не занимался сейчас спекуляциями на эту тему. По крайней мере до тех пор, пока сама система не будет реализована и мы не увидим её потенциал на деле.

mmozg: Ну и последний вопрос. Как успехи в реализации?

Jorb: Ну, это вотчина Лофтара. Могу лишь сказать, что последний раз, когда мы с ним это обсуждали, он был близок к состоянию, когда и сервер и клиент, по крайней мере, компилируются без ошибок.

mmozg: Понятно, значит это займёт ещё какое-то время. Спасибо за ответы!

Jorb: Всегда пожалуйста.
Читайте также

2 комментария

avatar
Песочные часы с отметкой «99%»? Слишком подозрительно :)
avatar
Это намек на то, что состояние этого нововведения «вот-вот» уже некоторое время. Но так и висит. :)

Оставить комментарий