sbox — Обновление 29.09.2026
🦉 Новый Терри 2.0 c шеей, финалисты в Game Jam III, новый загрузочный экран, компилятор карты в Map Editor, игры/карты стали грузится быстрее, База данных от Facepunch, больше статистики для игр
Оригинал (ссылка)
☢️ Проголосуйте за GAMMA TEAM, чтобы наш пацан попал на 1 место. Он уже в топ 4 и дальше больше. Голоса ресетаюстя каждый день, поэтому они важны. Пожалуйста, сделайте это!
Финалисты Game Jam III
Roundabout выбыл из соревнований и занял 5-е место, получив приз в размере 5000 фунтов стерлингов. Оставшиеся финалисты:
Следующий тур голосования уже открыт!
Сосиска 2.0
Я обновил внешний вид гражданина. Теперь у него по умолчанию не хмурое лицо, и у него может быть шея.
У нас есть ползунки для изменения других параметров тела, таких как размер груди, талии, шеи и носа. Вы также можете выбрать цвет глаз. Так что, если вам нравилось отсутствие шеи, вы можете вернуть её с помощью ползунка.
Честно говоря, мне нравится этот персонаж, мне нравится, как он выглядит, мне нравится, что у него нет шеи. Но мы постоянно получаем отзывы о том, что люди его ненавидят. Им не нравится в нём всё. Поэтому мы будем экспериментировать и менять что-то, чтобы это исправить.
Мы будем продолжать пытаться сделать его более удачным, будем дорабатывать и стараться сделать его менее спорным, но в какой-то момент нам, возможно, придётся признать: «Да, это не сработало
», и выбросить его в унитаз, заменив обычным гуманоидом. Конечно, это само по себе не решит проблему, но это постоянно упоминается в наших многочисленных негативных отзывах, поэтому мы решаем эту проблему наряду со всеми остальными отзывами, которые получаем.
Деформация моделей
Теперь вы можете изменять форму модели с помощью ModelDeformerкомпонента. Добавьте его в качестве дочернего элемента модели, используйте его объем, чтобы выбрать затрагиваемую область, и раздуйте, сожмите, растяните, трансформируйте, вытяните или спроецируйте эту часть сетки. Деформаторы можно располагать друг над другом с явным указанием приоритета для управления их порядком.
Все эти функции работают на GPU, они невероятно быстрые и подходят для любой модели. Они носят чисто визуальный характер — они не изменят положение костей, хитбоксов или данных о столкновениях.
Именно это обеспечивает Citizen 2.0 возможность управления формой шеи и телом, но это также можно использовать для ваших собственных персонажей и эффектов.
Друзья и пати
Мы немного изменили расположение элементов и переместили список друзей так, чтобы он был сразу бросался в глаза в правой части главного меню. Мы хотим максимально упростить для вас процесс приглашения друзей и просмотра их активности.
Теперь все элементы управления группой отображаются в правом нижнем углу экрана. Так будет понятнее, что происходит, все ли скачали игру или вы ждете ответа от организатора. Эти элементы управления группой остаются на экране и на других страницах, включая всплывающие окна!
Мы также добавили новую карточку игрока, которая отображается при нажатии на одного из ваших друзей. На ней также отображается его аватар!
Превью игр
Мы обновили экран обзора игр. Большая часть информации, которая не была нужна игрокам, теперь удалена, но мы также добавили кое-что новое, что значительно упростит поиск игр, подходящих для вашей компании.
Последнее обновление игры также отображается с первого взгляда. Мы призываем создателей контента на платформе использовать эту функцию, поскольку она полезна для того, чтобы показать игрокам, что нового и чего ожидать.
Обновление загрузочного экрана
Экран загрузки выглядит устаревшим, поэтому мы обновили и его. Теперь на нём будет отображаться дата последнего обновления игры, с которой вы сможете ознакомиться, а также количество разблокированных достижений.
При запуске экрана загрузки можно было заметить, что некоторые элементы зависали на экране во время прогрева. Эта проблема также исправлена, поэтому в дальнейшем игра будет работать плавнее.
Музыка в главном меню
В главном меню появилась новая музыкальная композиция от Карсона. А если она вам не нравится, я добавил отдельную настройку громкости музыки в меню, так что вы можете уменьшить или выключить её независимо от остального аудио.
devultj
Теперь голосовой чат использует SDL для захвата микрофона и Opus для сжатия. Вы можете выбрать свой микрофон непосредственно в настройках звука в игре, а индикатор в реальном времени поможет установить порог активации голоса.
Это также исправляет искажение звука при запуске нескольких экземпляров игры. Теперь каждый поток воспроизведения имеет свой собственный декодер, а для воспроизведения пользовательского голоса можно использовать SoundStream.WriteVoiceData.
Новый экран запуска
Новый экран запуска игры с индикатором выполнения.
Области профилирования графического процессора для списков команд
Теперь вы можете добавлять собственные области профилирования в списки команд. Они будут видны в игровом профилировщике GPU ( overlay_gpu 1) и внешних инструментах. Это должно быть полезно для измерения влияния на производительность отдельных участков вашего кода рендеринга.
Вот как можно добавить область профилирования:
static readonly ProfilingSampler MyProfilingScope = new ( "My Profiling Scope" );
// Внутри кода выполнения списка команд:
using ( _commandList.ProfileScope( MyProfilingScope ) )
{
// Сделайте здесь что-нибудь...
}Вложенные области видимости тоже работают, как на скриншоте выше. Вот пример настройки:
используя ( _commandList.ProfileScope( ParentScope ) )
{
используя ( _commandList.ProfileScope( NestedScopeA ) )
{
// Что-то здесь...
}
используя ( _commandList.ProfileScope( NestedScopeB ) )
{
// Что-то здесь...
}
}Эти фрагменты кода также доступны в документации s&box .
Оптимизация беспорядка
Мы значительно оптимизировали механизм рассеивания помех, чтобы уменьшить потребление памяти, снизить количество зависаний и повысить общую производительность.
В нашем бенчмарке мы сократили выделение памяти на 58% и время пакетной загрузки уменьшили на 97%.
Компиляция сцен
Теперь вы можете компилировать сетки и модели сцены в единую статическую геометрию и коллизии, используя команду «Сцена > Компилировать сцену» . Это похоже на компиляцию карт в Hammer, что является еще одним шагом к переносу редактирования карт в редактор сцен.
Если в вашей сцене много полигональных моделей, вы должны заметить значительное сокращение количества вызовов отрисовки.
Улучшения глубины поля
Глубина резкости теперь имеет инструмент выбора фокуса: щелкните по объекту в сцене, чтобы установить фокус, вместо того чтобы определять расстояние методом проб и ошибок. Также расширены элементы управления фокусным расстоянием и диапазоном для больших сцен.
Теперь размер размытия масштабируется относительно целевого разрешения рендеринга 1080p, поэтому изменение разрешения позволяет сохранять постоянный размер эффекта. Мы также исправили проблему с яркими пикселями HDR, которые просачивались сквозь отклоненные сэмплы глубины резкости.
Быстрая загрузка игр
Чем дольше приходится ждать начала игры, тем больше игроков сдаются, не успев её увидеть, поэтому мы потратили некоторое время на то, чтобы ускорить процесс.
Загрузки
Раньше загрузки выполнялись в основном потоке, поэтому при быстром соединении их производительность частично ограничивалась частотой кадров. Теперь же они выполняются в пуле потоков, и зависимости загружаются параллельно, а не одна за другой.
Выбранные данные из наших тестов:
- В среднем, на оборудовании с подключением со скоростью 200 Мбит/с игра, содержащая много мелких файлов, загружается примерно на 50% быстрее.
- Наибольшую выгоду получили игры с большим количеством зависимостей от других пакетов: в одной из них время выполнения сократилось с 19,4 до 6,6 секунд.
- Чем быстрее ваше соединение, тем больше выигрыш, медленные соединения и так в основном ограничены пропускной способностью сети.
Загрузка
Большая часть времени, затраченного на погрузку, уходила на накладные расходы, а не на саму погрузку:
- Файлы монтировались по одному.
- DLL-файлы пакетов загружались заново при каждой загрузке.
- Вызовы бэкэнда ожидали друг друга, вместо того чтобы выполняться параллельно.
Загрузка песочницы на ровной траве:
- Холодная загрузка (первая загрузка после запуска s&box): от ~20 до ~9 секунд.
- Повторная загрузка в рамках той же сессии: от ~7 до ~5,5 секунд.
Быстрый painter
Я оптимизировал систему Painter. Теперь рисование многоугольников и полилиний происходит намного быстрее и не создает никаких лишних элементов.
Стабильность рендеринга
Мы устранили несколько причин сбоев графического процессора, включая работу с нормалями глубины на некоторых видеокартах AMD, фильтрацию кубических карт, компоновку входных данных для рендеринга, а также очистку при загрузке карт или завершении работы рендерера.
Также исправлены ошибки, связанные с заменой масштабирующих процессоров DLSS и инициализацией или совместным использованием масштабирующих процессоров FSR3. При превышении объема видеопамяти пул текстур теперь уменьшается на величину превышения, в том числе и в инструментах. Отчеты о сбоях графического процессора содержат больше информации о неудачном вызове, шейдере и объеме памяти, что помогает выявить оставшиеся проблемы.
База данных
У нас уже некоторое время есть служба базы данных на бэкэнде, но она не была доступна извне. Теперь же она доступна через ` Sandbox.Services.Database.`. Существует миллион способов её использования, и я уверен, что мы будем расширять её возможности в будущем.
Это позволяет сохранять данные в базе данных для вашего пакета на бэкэнде. Данные, очевидно, сохраняются между сессиями и могут быть публичными или приватными. Вы можете получить все записи для определенной группы и т.д.
var messages = Database.GetTable( "player-messages" );
// Сообщение и его координаты в пространстве.
var data = Json.Serialize( new
{
Текст = "У этой груди есть зубы. "
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/<your-org>/<your-game>/metrics/player-insights.
Её могут видеть только члены организации, ответственной за игру.
- Как долго игроки остаются во время своей первой сессии?
- Сколько человек вернутся на следующий день, через неделю и через месяц?
- Улучшается это или ухудшается со временем.
- В меню отображалась информация о вашей игре и о том, как игроки могут в неё войти.
- Убедят ли их миниатюра, описание и видео нажать кнопку воспроизведения
- Удержат ли их внимание первые 5 минут?
Также есть небольшой раздел о загрузке, поскольку из-за большого объема файлов или медленного запуска игроки сдаются, не успев ничего увидеть.
Все показатели сравниваются с аналогичными играми, поэтому вы можете оценить, насколько хороши ваши результаты.
Мета данные из страницы в редактор
Настройки количества игроков, кооперативного/противоборствующего режима и карты перенесены с веб-сайта в настройки проекта и мастер публикации.
Игроки должны видеть, в какие игры они могут играть в одиночку или со своей группой, и это работает только в том случае, если для каждой игры указана эта информация. Поэтому теперь мастер публикации запрашивает её.
Исправления рендера ландшафта
Теперь отверстия и внешние края ландшафта обрезаются перед пиксельным затенением. Это восстанавливает раннее отбрасывание глубины и позволяет MSAA сглаживать обрезанные края, избегая при этом работы шейдеров над ландшафтом, который будет удален.
Мы также исправили ошибку, из-за которой при предварительном проходе глубины рельефа записывались некорректные данные о поверхности. Теперь он выдает правильные нормали и шероховатость, восстанавливая затенение окружающей среды на рельефе.