Плечом к плечу
Game Jam: Финальная четверка
Roundabout выбывает из гонки и занимает пятое место, получая приз в размере 5000 фунтов стерлингов.
В финал прошли следующие команды:
- GAMMA TEAM
- RUN IT AGAIN
- Catz VS Ratz
- Keg Quest
Стартовал новый раунд зрительского голосования!
Ситизен 2.0
Модель Ситизена получила обновление: теперь у него нейтральное выражение лица без хмурого взгляда, а также появилась возможность добавить шею.

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


Честно говоря, мы обожаем Ситизена в его текущем виде и безумно любим полное отсутствие шеи. Однако отзывы сообщества единогласны: игроки терпеть его не могут. Их раздражает в нем абсолютно всё. Именно поэтому мы экспериментируем и вносим изменения, чтобы исправить ситуацию.
Мы продолжим дорабатывать персонажа, пытаясь сделать его менее спорным, но если в конечном итоге эксперимент провалится, нам придется признать поражение, отправить его в утиль и заменить стандартным гуманоидом.
Разумеется, это не панацея для всех проблем s&box, но жалобы на внешность Ситизена регулярно всплывают в негативных рецензиях, поэтому мы стремимся учесть этот и другие важнейшие отзывы.
Деформация моделей
Теперь вы можете изменять форму любой модели с помощью компонента ModelDeformer. Добавьте его как дочерний элемент, ограничьте зону воздействия через объем и деформируйте меш: раздувайте, сжимайте, растягивайте, трансформируйте или проецируйте отдельные участки. Деформеры можно комбинировать, задавая приоритеты для точного порядка выполнения.


Все вычисления производятся на GPU с невероятной скоростью, а инструмент применим к любым моделям. Изменения носят исключительно визуальный характер и никак не затрагивают кости, хитбоксы или данные о столкновениях.
Именно эта технология подарила Ситизену 2.0 шею и новые настройки телосложения, но вы можете использовать ее для собственных уникальных персонажей и визуальных эффектов.
Друзья и группы
Мы перекомпоновали интерфейс: теперь список друзей расположен на самом видном месте — в правой части главного меню. Наша цель — сделать приглашение друзей и мониторинг их активности максимально простым и интуитивным.

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

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

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

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

Это также решило проблему искажения голоса при запуске нескольких копий игры параллельно. Теперь каждый аудиоплеер использует собственный декодер, а кастомное воспроизведение голоса доступно через SoundStream.WriteVoiceData.
Новая заставка при запуске
Игра обзавелась новым стартовым экраном, дополненным индикатором прогресса загрузки.

Профилирование GPU для списков команд

Теперь вы можете интегрировать собственные зоны профилирования прямо в списки команд. Они отображаются как во внутриигровом GPU-профилировщике (команда overlay_gpu 1), так и в стороннем софте. Это незаменимо для оценки производительности конкретных участков вашего рендеринг-кода.
Пример добавления зоны профилирования:
static readonly ProfilingSampler MyProfilingScope = new( "My Profiling Scope" );// внутри кода выполнения списка команд:
using ( _commandList.ProfileScope( MyProfilingScope ) )
{
// ваш код...
}
Вложенные области также поддерживаются, как показано на скриншоте выше. Пример настройки:
using ( _commandList.ProfileScope( ParentScope ) )
{
using ( _commandList.ProfileScope( NestedScopeA ) )
{
// ваш код...
}using ( _commandList.ProfileScope( NestedScopeB ) )
{
// ваш код....
}
}
Эти фрагменты кода также доступны в официальной документации s&box.
Оптимизация мелких объектов
Мы провели масштабную оптимизацию системы рассеивания мелких объектов (clutter scatterer), снизив потребление памяти, уменьшив количество подлагиваний и повысив общую производительность.
На нашей тестовой сцене удалось сократить выделение памяти на 58% и ускорить пакетную загрузку на 97%.

Компиляция сцен
Теперь меши сцен и модели можно компилировать в единую статическую геометрию и коллизии через меню Scene > Compile Scene. Это аналогично компиляции карт в Hammer и является еще одним шагом к переносу полноценного редактора карт в редактор сцен.

При наличии большого количества мешей в сцене вы заметите существенное сокращение числа вызовов отрисовки (draw calls).

Улучшение глубина резкости (Depth of Field)
В настройках глубины резкости появился инструмент выбора фокуса: вместо утомительного подбора расстояния методом проб и ошибок достаточно просто кликнуть на объект в сцене. Также расширены элементы управления фокусным расстоянием и диапазоном для работы с масштабными локациями.
Интенсивность размытия теперь масштабируется относительно разрешения 1080p, сохраняя одинаковый визуальный эффект при смене разрешения. Кроме того, мы устранили проблему, из-за которой яркие HDR-пиксели просачивались сквозь отсеченные семплы глубины резкости.
Ускоренная загрузка игр
Чем дольше пользователь ждет запуска, тем выше шанс, что он закроет игру, так и не начав играть. Именно поэтому мы серьезно ускорили этот процесс.
Загрузки
Раньше загрузка файлов выполнялась в главном потоке, из-за чего на быстром интернет-соединении скорость упиралась в кадровую частоту. Теперь процесс перенесен в пул потоков, а зависимости скачиваются параллельно, а не последовательно.
Результаты наших тестов:
- На стандартном ПК при соединении 200 Мбит/с игры с большим количеством мелких файлов загружаются примерно на 50% быстрее
- Максимальный прирост заметен на проектах с множеством зависимостей от сторонних пакетов: время загрузки одного из них сократилось с 19.4 с до 6.6 с
- Чем быстрее ваше соединение, тем заметнее разница (медленные соединения изначально ограничивались пропускной способностью сети)
Процесс загрузки
Большая часть времени уходила на накладные расходы, а не на реальную распаковку:
- Файлы монтировались поодиночке
- DLL-файлы пакетов скачивались заново при каждом запуске
- Запросы к бэкенду ожидали завершения друг друга вместо параллельного выполнения
Запуск песочницы на карте flatgrass:
- Холодный старт (первый запуск после открытия s&box): с ~20 с до ~9 с
- Теплый старт (повторный запуск в той же сессии): с ~7 с до ~5.5 с
Ускоренная отрисовка кистью
Мы оптимизировали инструмент Painter. Теперь создание полигонов и полилиний происходит мгновенно и без создания лишнего мусора в памяти.
Стабильность рендеринга
Мы исправили несколько причин падения графического драйвера, включая проблемы с обработкой глубины и нормалей на некоторых видеокартах AMD, фильтрацию кубмап, раскладку буферов рендеринга, а также очистку памяти при выгрузке карт или завершении работы рендерера.
Помимо этого, исправлены ошибки при замене апскейлеров DLSS, а также инициализации и совместном использовании FSR3. При превышении лимита VRAM текстурный пул теперь автоматически сокращается на объем перерасхода (включая инструменты разработчика). Отчеты о сбоях GPU теперь содержат расширенную информацию о проблемном вызове, шейдере и бюджете памяти для более точной диагностики.
База данных (Database Service)
Бэкенд-сервис баз данных существовал уже давно, но долгое время оставался скрытым. Теперь он официально доступен через пространство имен Sandbox.Services.Database. Сфер его применения бесчисленно множество, и со временем мы продолжим его развивать.
Этот инструмент позволяет сохранять данные вашего пакета прямо на сервере. Информация сохраняется между игровыми сессиями и может быть как публичной, так и приватной. Доступна выборка всех записей для конкретной группы и многое другое.
var messages = Database.GetTable( "player-messages" );// Текст сообщения и его координаты в мире.
var data = Json.Serialize( new
{
Text = "У этого сундука есть зубы.",
Position = new Vector3( 120, 450, 32 )
} );await messages.Create( Guid.NewGuid().ToString(), data, "dungeon-01", true );
var records = await messages.List( "dungeon-01" );
Аналитика игроков для создателей контента
В метриках вашей игры появилась новая вкладка со статистикой игроков: sbox.game/.
Страница доступна исключительно участникам организации-разработчика.
Аналитика охватывает два ключевых аспекта:
Удержание игроков (Retention)
- Сколько времени пользователи проводят в игре во время первой сессии
- Сколько из них возвращаются на следующий день, через неделю или месяц
- Динамика показателей (рост или падение аудитории со временем)
Популярность и первое знакомство
- Где именно в меню демонстрировалась ваша игра и как пользователи переходили к ней
- Насколько привлекательны обложка, описание и видеоролик, побуждающие нажать кнопку запуска
- Удерживает ли игрока геймплей в первые 5 минут
Также добавлен небольшой блок, посвященный времени загрузки — ведь долгие скачивания и долгий старт заставляют игроков сдаться еще до того, как они оценят игру.
Все метрики сопоставляются с похожими проектами, позволяя объективно оценить успешность ваших показателей.

Метаданные игры перенесены с сайта в редактор
Настройки счетчика игроков, режимов кооператива/противостояния и карт перекочевали с веб-сайта в настройки проекта и мастер публикации.
Игрокам важно понимать, в какие режимы можно играть в одиночку, а в какие — компанией, поэтому теперь мастер публикации требует указывать эту информацию для каждого проекта.

Исправления рендеринга ландшафта
Дырки и внешние границы террейна теперь отсекаются до этапа пиксельного шейдинга. Это восстанавливает раннее отсечение глубины (early depth rejection), позволяет технологии MSAA сглаживать обрезанные края и избавляет от лишней нагрузки на шейдеры при обработке отбрасываемых участков местности.
Мы также исправили ошибку предварительного прохода глубины ландшафта, из-за которой записывались некорректные данные о поверхности. Теперь генерируются правильные нормали и шероховатость, возвращая честное затенение (ambient occlusion) для ландшафтов.
Обновление от 26.09.15
Обновление от 26.09.08
Обновление от 26.09.01
Обновление от 26.08.19
Обновление от 26.08.05
Обновление от 26.07.22
Обновление от 26.07.15