sbox
October 3

sbox — Октябрь 2025

В этом месяце стало проще находить игры, улучшилась физика physgun, появились облачные объекты, дубликатор и взрывы! Значительно повысилась производительность, стало меньше сбоев, а также появились новости об экспорте игр.

🎃 Дубликатор и аддоны, больше оптимизации и меньше сбоев, каждую неделю патчи, новая физика и когда юристы Facepunch подпишут с Valve договор об экспорте игр в Steam

Оригинал (ссылка)

Параметры запуска

Автор: Мэтт

Мы убрали всплывающее окно с параметрами запуска каждый раз, когда вы запускаете s&box, которое раньше предлагало вам играть в игру, открыть редактор или запустить в режиме VR.

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

Теперь игра определяет, если у вас подключен шлем, и, вероятно, вы хотите играть в режиме VR.

Еженедельные патчи

Автор: Мэтт

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

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

Меню с играми

Автор: Гарри

Список игр стал немного скучным, так как был отсортирован по популярности. Ничего нового не появлялось, несмотря на множество классных вещей, которые создавались. Поэтому я решил поработать в этом месяце и создать систему «полок», где мы можем динамически редактировать полки, и они могут иметь разные стили. Вдохновлено Netflix.

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

Взаимодействие с предметами

Автор: Гарри

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

Cloud Entity

Автор: Гарри

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

Я действительно впечатлен тем, что люди смогли создать это до сих пор, без какой-либо реальной документации.

Дубликатор

Автор: Гарри

Я исправил дубликатор, чтобы он правильно работал с объектами, соединенными физическими соединениями. Пока я был там, я добавил немного изюминки. Теперь вы можете удерживать shift и добавлять дополнительные несоединенные объекты к дублированию.

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

Сбои

Автор: Мэтт

В последнем блоге мы говорили о том, что наши показатели сбоев ужасны, в этом месяце мы много внимания уделили сбоям и решили несколько наших основных проблем. Наши сессии без сбоев за последний месяц улучшились на 1,44%.

Нашей главной проблемой было использование текстур после освобождения: мы отправляли несколько текстур в рендерер, которые удалялись до того, как могли быть использованы - это в основном происходило при использовании RenderAttributes, так как единственным местом, где существовала текстура.
Многие пользователи Windows 10 LTSC не могли запустить игру ранее, это было связано с совместимостью CET, добавленной в .NET 9 - теперь это исправлено, и пользователи могут играть в игру.

  • Исправлен сбой при горячей загрузке после открытия и закрытия Hammer.
  • Исправлен сбой при слишком раннем вызове spin инструмента.
  • Исправлен сбой в CreateRenderMessage при использовании неудобных имен.
  • Исправлен сбой редактора, если вы потратили более 60 секунд на перекомпиляцию ресурсов.

Исправлены планарные отражения, из-за которых resourcesystem застревал, думая, что он рендерит, никогда не выполняя потоковую передачу текстур и в конечном итоге приводя к сбою.

Нет потоковой передачи текстур

Наконец, мы обновили наш репортер сбоев Sentry до последней версии и настроили несколько параметров в надежде, что он поймает больше пользовательских сбоев, которые мы сможем исправить.

Хэширование ассетов

Автор: lolleko

В прошлом месяце мы упомянули, что недовольны запуском редактора, в частности, временем запуска.
Большая часть этого была связана с проверкой "изменился ли этот актив?" с использованием старого и медленного алгоритма CRC32.
Мы заменили его на xxHash3, который более чем в 100 раз быстрее нашей старой функции CRC32.

После обновления первая загрузка проекта вызовет полную перекомпиляцию для генерации новых хешей. После этого запуск будет намного быстрее.

До (CRC)

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

После (xxhash)

Sprite Resource

Автор: Карсон

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

Вы все еще можете использовать текстуры/изображения без ресурса. Все существующие SpriteRenderer и ParticleSpriteRenderer автоматически обновятся до встроенного формата, а перетаскивание нового изображения в сцену встроит его для вас.

Мы будем продолжать развивать это, чтобы сделать 2D-рабочий процесс все лучше и лучше :)

Настройки графики

Автор: Мэтт

Мы добавили несколько графических настроек в меню:

  • Детализация текстур: Устанавливает максимальное разрешение текстур, которое будет использоваться
  • Объемный туман
  • Постобработка: Управляет качеством нескольких компонентов постобработки, таких как AO, DOF, SSR
  • Сила размытия движения: Умножает размытие движения на это значение, перетаскивание до 0 отключит его.

Эти настройки намеренно широкие, с возможностью применения более детальных настроек с помощью convars.

Оптимизация рендеринга

Автор: Сэм

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

Много шагов теперь оптимизированы и предвычислены лучше, и мы делаем множество вещей более разумно в целом.

С этими изменениями:

  • Отражения в пространстве экрана стали примерно 4-8x быстрее
  • Блум стал примерно 14x быстрее

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

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

Исправление прозрачности (Альфа канала)

Автор: Сэм

Исправлено множество проблем с альфа-тестируемыми материалами - это такие вещи, как лиственная растительность, цепные заборы и подобные материалы.

Это заняло много времени, теперь все отлично.

У них были блестящие тени, края выглядели слишком мягкими и просто не выглядели правильно, теперь все должно быть корректно везде.

Физика

Автор: Лейла

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

Управляющий сустав предназначен для контроля движения тела. Это улучшило поведение нашего физического пистолета, чтобы он работал более похоже на gmod.

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

Интерфейсы в Инспекторе

Автор: Тони

Мы добавили поддержку перетаскивания компонентов в качестве их типов интерфейса в этом месяце. Мы планируем расширить это на GameResources в ближайшее время.

Это означает, что вы можете написать что-то вроде этого и перетащить в свойство в редакторе (Инспекторе):

public sealed class MyDisplay : Component, IDisplay
{
    [Property] public string Name { get; set; }
}

...

// В другом компоненте, может быть перетащен подходящими компонентами
[Property] public IDisplay MyDisplay { get; set; }

Косметика

Автор: Гарри

В прошлом месяце мы запустили нашу первую косметику от сообщества, Шарковая голова от Shadowbrain. Этот предмет больше не продается, и мы не будем его продавать снова. В середине месяца мы начали продавать Защитные очки от GKaf, и они перестанут продаваться 14 октября. Сегодня мы начали продавать Пропановый шлем от Duck. Он перестанет продаваться 1 ноября..

Есть люди, которые любят смеяться и указывать на то, что мы не должны продавать косметику для игры, которая еще не вышла. Дело в том, что монетизация — это часть создания игры. Нам нужно это протестировать и убедиться, что это работает. В идеальном мире игры финансировались бы сладкими мечтами и теплыми сердцами, но это не тот мир, в котором мы живем. Мы хотим, чтобы s&box и его движок были жизнеспособной, самодостаточной системой, которую мы можем развивать и эволюционировать на протяжении многих лет, и это действительно работает только если он может сам себя обеспечивать.

Мы пытаемся найти способы монетизации, которые поддерживают нас и кормят сообщество. Найти способы помочь людям использовать свои таланты, чтобы зарабатывать на жизнь. Вот что сделал Valve со мной и Garry's Mod. Вот чем я хочу заниматься.

Экспорт

Автор: Гарри

Как мы уже упоминали, мы планируем позволить вам экспортировать игры из S&box и выпускать их в Steam... без уплаты каких-либо роялти нам или еще кому. Мы считаем, что это было бы довольно круто.

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

Надеемся, что скоро у нас будет больше информации по этому поводу!

Ракетница

Автор: Just Rick

Я закончил Ракетницу в прошлом месяце, и Макс анимировал её. Теперь она доступна в Мастерской.
https://sbox.game/facepunch/v_recoillessrifle

Все оружия доступны в нашей коллекции 's&box weapons'. https://sbox.game/facepunch/sboxweapons

Улучшение Модалей

Автор: Тони

Мы добавили несколько новых функций в наши модальные окна на этой неделе:

Список Игроков

Теперь в ваших играх есть список игроков, который позволяет просматривать профили, отправлять запросы в друзья, а если вы хост, то и кикать людей.

Сменить Карту

Если ваша игра это поддерживает, хост может сменить карту прямо с экрана паузы.

Экспорт из Movie Maker

Автор: Ziks

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

Выводы

Автор: Мэтт

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

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

Спасибо всем, кто использует и тестирует движок неделя за неделей, создавая игры и инструменты. Мы все рады вернуть сообществу через playfund, косметику и скоро через экспорт игр.

💙 Русскоязычное сообщество s&box