Пятничные факты #232 – PAX, Ошибки, Графы

Spread the love

Привет, в последнее время было очень холодно. Это одна из тех недель, когда мы не знаем о чем писать. Поэтому мы постараемся написать небольшие фрагменты.

Борьба за стабильность

Большинство из нас работает над исправлением ошибок и небольшими проблемами в нашем отставании, но некоторые из нас уже работают с 0,17. TOGoS делает серьезные изменения в генераторе карт, чтобы исправить множество мелких проблем, которые он по-прежнему имеет. HanziQ и sindri работают над заменой графического интерфейса OpenGL 3.3 вместе с posila, который начал работать с DirectX 11 back-end. Wheybags работает над новым рендерингом шрифтов. Oxyd начал внедрять наш первый графический интерфейс из переписаного GUI, новая технология GUI, как и другие мелкие вещи, находятся в очереди.

Отчеты о сбоях за версию

Мы сделали быстрый график из отчетов, собранных загрузчиком журнала сбоев.

Факторио собирается на PAX East (Rseding91)

У нас есть подтверждение от PAX, что у нас будет стенд там (номер 10019). Мероприятие проходит в Бостоне с 5 по 8 апреля.
Мы купили билеты на самолет и зарезервировали наше жилье. Билеты для широкой публики в некоторые из дней, похоже, уже распроданы, поэтому, если вы хотите приехать проверить нас, вы должны купить билет в ближайшее время. Мы будем там в основном, чтобы показать игру новым игрокам, посмотреть, как новые игроки реагируют на игру, болтать с поклонниками и другими разработчиками.

Разработчики, которые будут там: HanziQ, Klonan, Rseding91, Twinsen и V453000. Rseding91, и я также буду посещать Лос-Анджелес, поэтому, если в округе есть фанаты Фэкторио, мы, возможно, отправимся на обед или даже проведем небольшую встречу. HanziQ будет находиться в Нью-Йорке в течение 7 дней после конвенции, поэтому, если вы там, вы можете организовать встречу с ним.

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

Критичиские ошибки(Rseding91)

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

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

Конечным результатом было: пока вы загружаете карту, игра загружает «измененные параметры модов» в память и говорит: «Я не знаю, что это за мод, я загружу его и выброшу» (это логика предназначена для обработки загружаемых файлов при удалении мода). Как только игра заканчивается, она применяет все ожидающие действия, чтобы догнать других игроков – как и следовало ожидать – за исключением случаев, когда применяется «изменение мода», теперь применяется пустая установка, и игра вылетает из строя.

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

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

Список становится все более конкретным, поскольку мы продолжаем идти. Это просто показывает, что внутренности Factorio очень сложны, и ошибки могут скрываться годами.

IME поддержка китайского, японского, корейского языков (posila)

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

Как всегда, дайте нам знать, что вы думаете на нашем форуме


Комментарии:

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.