sbox — Обновление 15.04.2026
😥 Закрытие dev-preview, UI Батчинг и критерий по которым игру оставят.
Оригинал (ссылка)
Закрытие dev preview
Спасибо всем, кто помогал нам в этот период - разработческий превью теперь закрыт!
Разработческий превью был бесценен для разработки s&box, предоставив движок его основной аудитории с первого дня - вы, ребята, сказали нам, что вам нравится, а что нет, и это превратило движок в то, чем он является сегодня.
Мы снова откроемся в Steam 28 апреля за $20.
https://store.steampowered.com/app/590830/sbox/
Удаление игры у аккаунтов
Из 800,000 человек, которые присоединились к предварительному просмотру разработчиков, 40,000 могут оставить его а остальные были отозваны.
- Разработчики, выпустившие игры, в которые играли люди
- Любой, кто купил скины
- Любой, кто играл достаточно и действительно открыл игру в этом году
Мы делаем это партиями, чтобы убедиться, что все правильно, это может занять немного времени.
UI Батчинг
Я объединил UI-батчер, что означает, что UI теперь будет рендериться гораздо быстрее.
Вы можете ожидать значительные улучшения производительности в ваших пользовательских интерфейсах (что почти в каждой игре), некоторые пользователи сообщают о 54% больше FPS в меню.
Объединение
Ранее мы рендерили каждую панель по отдельности, проходя по DOM. GPU рисовал каждую по отдельности, что работало какое-то время. Но с ростом сложности количество отдельных отрисовок, которые выполнял ваш GPU, влияло на производительность.
Теперь мы можем, в лучшем случае, рисовать все сразу.
Страница открытия
Наша страница открытия сократилась с 1080+ вызовов отрисовки до всего лишь 5.
Вот что ваш GPU делал раньше. Каждая линия — это вызов отрисовки.
Вот видео, воспроизводящее каждый вызов отрисовки один за другим с до и после.
Другие страницы
Другие страницы меню рисуются за один вызов, что, к сожалению, не делает видео очень захватывающим, так как оно рисуется за один шаг.
В целом, это было необходимое улучшение, так как сложность игр и пользовательских интерфейсов возросла. Мы планируем поработать над этим немного больше, чтобы оптимизировать другие аспекты нашего UI-пайплайна.
Главное меню: Поиск
Мы упростили поиск, добавив удобную строку поиска в центре навигационной панели:
Это довольно просто, и мы будем улучшать это со временем - но надеемся, что это упростит поиск игр, в которые вы хотите играть.
Улучшения сериализации
В нашей сериализации с плавающей точкой была ошибка точности, из-за которой значения казались измененными, даже если их не трогали, что приводило к шумным git-диффам.
Теперь это исправлено, и вы больше не должны видеть большие неожиданные диффы, как этот, в ваших сценах или префабах.
Улучшения редактора префабов
На этой неделе мы внесли множество улучшений в редактирование префабов.
- Быстрее: Меньше выделения памяти и ненужной работы при редактировании префабов.
- Чище диффы: Вложенные операции с префабами больше не регенерируют все GUID.
- Отсутствующие префабы: экземпляры с удаленными файлами префабов теперь отображаются как "сломанные", вместо того чтобы выдавать ошибку;
данные восстанавливаются, если файл префаба возвращается.
- Исправления ошибок: Возврат вложенных префабов больше не стирает родительские переопределения; создание префаба из GameObject корректно восстанавливает позиции.
Map Editor: из Мэша в модели
Мы добавили инструмент, который позволяет конвертировать модель в карту сетки.
NavMesh генерация по запросу
Добавьте DeferGeneration свойство, чтобы пропустить генерацию навмеша при загрузке сцены, позволяя генерировать и выгружать тайлы по мере необходимости во время выполнения.
// Пропустить генерацию тайлов при загрузке bool NavMesh.DeferGeneration // Запросить генерацию тайлов (fire and forget) void NavMesh.RequestTileGeneration( Vector3 ) void NavMesh.RequestTilesGeneration( BBox ) // Удалить тайлы из навмеша void NavMesh.UnloadTile( Vector3 ) void NavMesh.UnloadTiles( BBox )
Оптимизация окружной окклюзии
Окклюзия окружения в настоящее время является самой большой проблемой для систем низкого уровня.
Мы выпустили несколько оптимизаций для SSAO, теперь используется Hilbert Tree вместо Blue Noise, что позволяет нам использовать меньше образцов для достижения того же визуального результата.
Кроме того, теперь мы используем логику Float16 вместо Float32, что должно значительно ускорить работу на некоторых GPU.
С этим еще много работы, но лучше выпускать это небольшими, быстрыми итерациями; возможность использовать правильные векторы движения и хороший двусторонний апсэмплер должна значительно снизить необходимость в грубой силе.
Вертикальный держатель
Мы добавили параллельное / вертикальное соединение, чтобы объекты оставались вертикальными.
В качестве дополнительного бонуса вы также можете связать два объекта вместе, и они останутся параллельными.
Документация
Документация получила много внимания, у нас много отличного контента, но его обнаружение и структура были неочевидны. Я перерабатываю всё, улучшаю раздел "Начало работы", добавляю больше основных разделов и страницы "хабов". Также уже было много вкладов от сообщества с тех пор, как мы открыли исходный код на прошлой неделе!
Выделенные сервера: текстурки
Долгое время, если выделенный сервер сетевал GameObject с ссылкой на текстуру, она обнулялась и никогда не отправлялась. Это связано с тем, что серверы не загружают данные текстур, что логично. Но из-за этого мы никогда не регистрировали их в нашем управляемом движке.
Теперь мы их регистрируем — это не значит, что вы можете начать читать данные текстур на сервере, вы не можете. Однако сетевое взаимодействие с этими ресурсами теперь будет работать как задумано.
Итоги
Это конец эпохи с закрытием предварительного просмотра разработчика - 5 лет назад мы получили Source 2 и почти сразу открыли доступ для разработчиков, позволяя им попробовать инструменты, когда их было очень мало, чтобы увидеть, что хорошо, а что нет.
Этот цикл обратной связи был жизненно важен для достижения того, где мы находимся, видя, как люди хотят продвигать границы Source 2 все дальше и дальше, пока мы не переписали половину движка от сущностей до удобной системы сцен, которую мы все любим сегодня.
Огромное спасибо всем в сообществе, кто участвовал на протяжении всего пути и помог определить, чем является s&box сегодня.
Все, что мы делаем, направлено на предоставление возможностей для следующего поколения разработчиков, будь то наш Play Fund, создатели косметики, открытый исходный код или экспорт независимых игр без роялти на Steam.
Мы всего в нескольких неделях от этого момента, мы заканчиваем последние штрихи, мы довольно уверены, мы знаем, что предлагаем и что не предлагаем, нет никаких завышенных ожиданий, мы рады перейти черту и начать новый цикл разработки, продолжая развиваться вместе со всеми.