Всем Хай!
На этой неделе самая животрепещущая тема - жертва, принесенная Ted и Kasper (KasperVld) на алтарь Парижской конференции развивающих игр iGamer. Они пожертвовали самое святое – свои выходные и официальный праздничный день в Мексике (что-то я не нашел, что за праздник 01.02 в Мексике. 05.02 – день Конституции. Может перенесли так своеобразно? – прим.Silver). Для Ted, с его непрекращающимися уже несколько недель поездками, серией интервью в Британии, это оказалось особенно тяжелым испытанием. Однако, вся его деятельность была связана с популяризацией науки и Космоса через игры, и мы счастливы видеть, что наша работа позволяет приобщать детей всего мира к интересным научным концепциям. Не забывайте, Игра – это самый естественный способ познавать этот мир и развивать себя.
Парижская конференция оказалась восхитительным событием, позволив
Ted и
Kasper пообщаться с нашими фанатами, познакомить новую аудиторию с игрой, ответить на множество вопросов о нашей команде, игре, ходу разработки и даже вполне конкретным аспектам реального ракетостроения. Разумеется, сделать все это на французском, стало нелегкой задачей, но активная жестикуляция, выразительное мычание и помощь в переводе, предложенная уважаемым
Richard Adenot (стример KSPTV и создатель графических эффектов фильма
Minions) помогли нам справится с трудностями. Детишкам особенно понравились кербалята, летающие в EVA по орбите Кербина. В понедельник наши резиденты встретились с
Sarbian (автор модификации
MechJeb) за ланчем после чего направились во французский национальный центр космических исследований
CNES. В общем напряженное расписание, но оно того стоило.
А теперь к новостям разработки. Felipe (HarvesteR) провел очередную увлекательную неделю, отлавливая баги, обнаруженные командой тестеров. И снова большую часть его внимания занимали колеса. В частности, он провел один занимательный тест, загрузив колесный ровер через погрузочную рампу в грузовой отсек самолета и доставив его на островной аэродром для покатушек.
Впервые в ходе тестов на свет вылезло несколько серьезных проблем, в основном связанных с определением момента касания аппаратом поверхности (посадкой, проще говоря) и грузовыми отсеками. Следует отметить, что момент, считающийся игрой за касание колесами поверхности тела, рассчитывается иначе, чем касание поверхности любой другой деталью. Коллайдеры шасси на самом деле поверхности в общем-то не касаются. Скорее это «касание» программно симулируется, на основе данных о взаимном расположении шасси и поверхности, геометрических параметров колес, рассчитывается приложение сил по всем векторам на каждое колесо для реалистичной симуляции взаимодействий, приводных/тормозных моментов, скольжения и прочее. В свою очередь это приводит к необходимости прописать для шасси свою, отдельную логику фиксирования момента «посадки», что не так-то просто, ибо «приземлен» в KSP, не всегда означает, что вы касаетесь земли. Возможно вы приземлились на какую-то другую деталь (как пример, настил грузового отсека – прим.Silver), расположенную на земле, или летящую в воздухе.
Следите за ходом мысли? Тогда продолжим. Теперь, если рассмотреть пример перемещения на ровере внутри самолета, можете представить, насколько все может стать запутанным в следующей ситуации: самолет с каргобеем стоит на ВПП. Ровер загружен в отсек и касается настила всеми колесами. Статус и самолета и ровера – «приземлен». Начинаем разгон и взлетаем. По идее, следует сменить статус аппаратов на «в воздухе». Однако, так ровер все еще касается настила, то считает, что он «приземлен», но если посмотреть на ситуацию относительно самолета, который вроде как не касается земли, а значит летит, то он также настилом касается другого объекта (чей статус «приземлен», как мы помним) – и, соответственно, считает, что он также имеет статус «приземлен» (раз касается «приземленного» объекта), хотя и находится в воздухе. Парадокс.
К счастью Felipe смог превозмочь этот баг и теперь все работает как надо. Можно заехать в самолет на ровере, куда-нибудь долететь, приземлиться, выкатиться из отсека и покататься вокруг!
На прошлой неделе мы упоминали о введении системы
Traction control (контроль тяги). Ранее
Felipe отрегулировал мощность двигателя соответственно гравитации тела (жестко зафиксировав значения), на котором вы находитесь, но на практике, при попытке разрешить задачу таким, казалось бы, простым способом, результат вышел неудовлетворительным. Ну что же, «Назад к чертежной доске!». Была разработана система, похожая на реальные автомобильные системы контроля тяги. Она сравнивает скорость колеса (линейную скорость точки на внешнем диаметре колеса) со скоростью крафта, относительно поверхности и проверяет – проскальзывает ли колесо или нет. Причем рассчет производится для каждого колеса в отдельности. Если колесо буксует, момент понижается до тех пор, пока колесо вновь не находит сцепления с поверхностью. Как и с предыдущим решением вы сможете настраивать систему контроля тяги в соответствии со своими предпочтениями или вообще ее отключить с непредсказуемыми, но веселыми, последствиями.
Были также внесены изменения и в рулевую систему колесного привода. Ограничения углов поворота колес теперь сняты. Так что аккуратнее крутите баранкой! При резком повороте на высокой скорости вы можете внезапно обнаружить свой автомобиль лежащим на крыше. Ну а если совместить это с настраиваемым контролем тяги… ммм… полагаем, мы открыли вам множество новых способов раздолбать ровер на ровном месте.
В части тестирования мы наконец приближаемся к завершению тестов Unity 5, а Steve (Squelch) и Mathew (sal_vager), как и остальная часть команды, потихоньку стали выискивать старые баги версии 1.0.5, что должны быть исправлены к релизу 1.1. Не беспокойтесь, мы не на секунду не забывали о всех багрепортах, что вы нам присылали, и полагаем, что сможем исправить большую часть проблем.
Так, о чем еще не сказали в этом выпуске? А, интерфейс! Долгое время вопросы разработки пользовательского интерфейса доминировали в наших выпусках Дневников, но, так как они наконец отошли на второй план, стоит упомянуть о них вкратце, особенно в свете того, как недавно один крайне умелый товарищ, «нашел»
альбом Felipe на Imgur, со скринами новых контекстных менюшек и другими мелкими обновленными деталями интерфейса. Мы не собирались выкладывать эти изображения, но все равно рады, что вам понравились внесенные изменения, судя по отзывам на форумах. Спасибо, блин,
хитрожо… смекалистому юзеру, чье имя мы не станем афишировать.
Поговорим о фишках 1.1. Daniel (danRosas) создал и нарисовал интерфейс ачивок для консолей, Bob (RoverDude) продолжает разработку системной связи (аналог RT – прим.Silver), а Dave (TriggerAu) весь в работе над контентом KSPedia. В настоящее время система содержит 120 базовых страниц, текстовое содержание для всех уже готово, но картинок кое-где не хватает. На этой неделе он вместе с Mike (Mu) сосредоточиться на завершении и дополнении существующего контента, а также внедрении нескольких новых функций в KSPedia.
Система контрактов – это зона ответственности Brian (Arsonide) и она находится в режиме перманентного развития. К апдейту 1.1 контракты из области «Впервые в мире…» будут внедрены в линейку исследовательских контрактов. Стоит отметить, что речь не о автоматических достижениях (типа «достигнута высота в 10 км.»), а непосредственно о контрактах. Между этими двумя типами существует некоторое «перекрытие» зон, что могло привести к автоматическому пропуску некоторых заданий из исследовательской линейки: к примеру, контракт на посещение Мун исчезал, если игрок посетил ее ранее самостоятельно (если честно, не понял, что они там исправили, так как на мой взгляд так и нужно. Если тело уже посещено, какой смысл выдавать контракт на его посещение? В общем – надо будет посмотреть – прим.Silver).
Исследовательские контракты теперь могут всплывать несколько раз для одного тела с различным набором задач, в количестве от одной до трех. Контрактная система будет учитывать выполнение отдельных заданий или их пропуск игроком, а также освоенность игроком отдельных тел системы, о чем мы ранее говорили в Дневниках, но, правда, с некоторыми ограничениями, дабы не нарушать логичность их выдачи.
Серьезного прогресса мы достигли и на поле консольного мира: сертификация начнется со дня на день. Наконец-то
Joe (Dr Turkey) вышел на финишную прямую и это хорошо, ведь есть еще куча дел, о которых нужно позаботиться: снежный ком грядущих встреч и собраний, о которых мы пока не можем распространяться, планирование последних шагов по релизу апдейта 1.1., подготовка первых этапов апдейта 1.2., счета и бухгалтерия, приготовления к участию в различных публичных мероприятиях, вроде церемонии DICE Awards и
SXSW gaming…
(белый шум)*
*в этом месте рассказ Joe был грубо и бесцеремонно прерван и зацензурирован Kasper.
Переводчик: Silver