опубликовали Klonan, Rseding

Планы релиза Klonan

На этой неделе мы выпустили версию 0.17.79 и отметили ее как стабильную. Внутренне мы называем это «Стабильный релиз 3», и главной особенностью стали новые всплывающие подсказки, которые мы показали в FFF-318.

Есть одно ограничение, которое мы наложили на себя, когда начали этот более быстрый график выпуска функций: мы хотим избежать поломки модов. В принципе, это достаточно просто, не начинайте переименовывать объекты, не удаляйте функции API и т. Д. Однако, по мере дальнейшего развития, существуют определенные функции и улучшения, которые мы не можем реально сделать так, чтобы они не сломали. моды, такие как новый символьный графический интерфейс (FFF-289), и коррекция цвета (FFF-320).

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

Мы уже начали внутреннее объединение этих функций 0.18 в нашу основную ветку, поэтому мы не будем больше выпускать версии 0.17 (если не будет обнаружено что-то абсолютно катастрофическое).

Проблема с частицами Klonan

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

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

В этом ролике спрайт частиц крови был заменен визуализацией отладки, чтобы облегчить подсчет

Так что это немало. Кусака породил 427 частиц, а Спаунер 749. Ну, они не сохраняются очень долго, и они только декоративны, так что все в порядке, верно?Читать далее

опубликовали Twinsen, Rseding

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

Новые подсказки Twinsen

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

Новый вид

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

Категоризация

Читать далее

опубликовали Oxyd, TOGoS, Klonan

Новый алгоритм поиска пути Oxyd

На прошлой неделе мы упомянули изменение, в котором кусаки не сталкивались друг с другом, но это было не единственное связанное с кусаками обновление, которое мы выпустили на прошлой неделе.Так совпало, что обновления этой недели включали в себя то, над чем я работал несколько недель назад, – обновление системы поиска пути.

Поиск пути

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

Для выполнения своей работы используется алгоритм A * (произносится как «А Звезда»). Простой пример поиска пути A * показан на видео ниже: Кусака хочет обойти некоторые утесы. Алгоритм начинает исследовать карту вокруг кусаки(показана белыми точками). Сначала он пытается идти прямо к цели, но как только он достигает скал, он «разливается» в обе стороны, пытаясь найти положение, из которого он снова может идти к цели.

Каждая точка в анимации представляет узел. Каждый узел запоминает свое расстояние от начала поиска и оценку расстояния от этого узла до цели – эта оценка обеспечивается так называемой эвристической функцией. Эвристические функции – это то, что заставляет A * работать – это то, что направляет алгоритм в правильном направлении.

Простым выбором для этой функции является просто прямолинейное расстояние от узла до позиции цели – это то, что мы использовали в Factorio с незапамятных времен, и это то, что заставляет алгоритм изначально идти прямо. Однако это не единственный выбор – если эвристическая функция знает о некоторых препятствиях, она может управлять алгоритмом вокруг них, что приведет к более быстрому поиску, так как ей не придется исследовать дополнительные узлы. Очевидно, чем умнее эвристика, тем сложнее ее реализовать.Читать далее

опубликовали wheybags, Twinsen, Abregado, Klonan

Новый инструмент в редакторе карт wheybags

За последние несколько недель мы действительно ускорили нашу работу над кампанией. Мы много продвигались вперед как со сценариями, так и с дизайном физического уровня. Одна из проблем, с которой мы столкнулись, заключается в том, что нам часто приходится выполнять правки на карте, которые довольно утомительны, но недостаточно распространены, чтобы добавить для них новый инструмент в редактор карт. Например, что-то вроде «отключить все спаунеры в этом регионе».

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

Чтобы решить эту проблему, мы решили добавить инструмент Lua в редактор карт. Этот инструмент позволит вам выделить курсором  область, а затем запустит ваш пользовательский код Lua в этой области. Фрагменты названы и сохранены в вашем player-data.json, так что вы можете оставить их для дальнейшего использования.

Читать далее