sbox — Переосмысление
💙 s&box станет бесплатным в декабре! Гарри меняет платформу спустя 3 года: Сосиски удалены, Sandbox Game теперь Garrys Mod 2, PlayFund изменён, многие AI слопы удалены с заработка, много оптимизации
Оригинал (ссылка)
Переосмысление
Последние пару недель я переосмысливал, как должна выглядеть платформа s&box. Платформа не пользуется популярностью, у неё низкий уровень удержания пользователей. Мне стыдно за наши отзывы, мне очень стыдно. Я выслушиваю все негативные отзывы, анализирую их, воспринимаю всерьёз и решаю, что нам следует делать, а что нет. Не секрет, что дела идут не очень хорошо.
Мы сосредоточились на движке и процессе разработки. Это то, что нам нравится, это то, что нас вдохновляет, — но мы продаем не движок, а игру. Поэтому нам нужно значительно улучшить игру, нам нужно переключить внимание на то, что испытывают игроки, а не разработчики.
Часть нашей работы направлена на привлечение внимания к игре-песочнице . Мы стремимся сравняться с версией Garry's Mod и превзойти её . Мы демонстрируем всем возможности движка, добавляем больше NPC, транспортные средства, предлагаем первоклассный многопользовательский режим, поддерживаем дополнения и возможности кастомизации. Это относительно простая задача, но я подвёл всех, кто на это рассчитывал. Я признаю это и прошу прощения – мы будем работать лучше.
Мы полностью убираем Citizen. Мы пытались заставить его работать примерно на год дольше, чем следовало (см. ниже).
Мы долго мучились с поиском игр. Какие игры показывать, а какие скрывать. А потом появился ИИ, и это стало намного сложнее, потому что внезапно стало очень легко найти подходящую игру. Игрока заваливают выбором. Ему показывают несколько хороших игр, а вокруг куча отстойных. Он выбирает игру, она долго скачивается, и тут же оказывается ужасной. Сколько раз он будет пробовать разные игры, пока не найдет ту, которая ему понравится?
Моя идея о Netflix для игр не работает. Это нецелесообразно. Люди не так находят игры. Нельзя просто предложить пользователям 60 игр и сказать: «Развлекайтесь». Это не лучший вариант. Люди хотят находить игры через рекомендации, через активные многопользовательские игры, через просмотр стримеров, инфлюенсеров и создателей контента. Мы подходим к этому с неправильной стороны.
Нам не следует стремиться к тому, чтобы быть платформой с наибольшим количеством доступных игр. Нам следует стремиться к тому, чтобы быть платформой с лучшими, самыми популярными играми. Где хороший вкус и отличные мнения ценятся превыше всего. Это очень свойственно человеку, и это никогда не сможет заменить искусственный интеллект.
Именно поэтому мы меняем систему Play Fund на систему, основанную на субъективном одобрении, вместо системы, в которой каждый может просто записаться самостоятельно (см. ниже).
Мы потратили много времени на создание собственной серверной части, собственной версии Steam Workshop. Я прихожу к выводу, что это в основном была пустая трата времени и ресурсов. Создавать это было весело, но нам следовало бы максимально адаптировать всё под Steam Workshop.
Мы планируем перейти на бесплатную модель игры к концу года. Нам уже указывали на то, что мы взимаем плату за доступ и продаем скины. Я не думаю, что это слишком необычно в наше время, но я прекрасно понимаю, как в сочетании со всем остальным это может отпугивать игроков. Нам не нужна плата за вход, нам нужны игроки. Мы всегда планировали перейти на бесплатную модель игры, так что, к черту все, давайте сделаем это сейчас. Все, кто заплатил за игру, автоматически получат кучу эксклюзивных предметов инвентаря Steam (дополнительно, если вы купили ее за 20 долларов вместо 10), что, я надеюсь, оправдает цену покупки.
Мне нравится наблюдать за тем, как люди создают что-то новое, мне нравится этот движок, и мне нравится работать над ним . Негативные отзывы меня ранят. Меня ранит пренебрежительное отношение к проекту. Мне не нравится подводить людей, особенно когда они заплатили мне деньги за услугу. Я всё понимаю, и мы вносим масштабные изменения, чтобы попытаться улучшить ситуацию. Пожалуйста, отнеситесь с пониманием, пока мы вносим эти изменения.
Сосиска мертва
Сосиска мертва. Теперь человек — это выбор по умолчанию везде. Модель все еще существует в игре, поэтому игры, которые ее используют, будут продолжать ее использовать, но она больше не отображается в меню или редакторе аватаров. Мы обновим наши игры, чтобы использовать людей.
Я знаю, что некоторым из вас понравился этот персонаж, и мы теряем часть своей идентичности, поэтому я считаю, что это прагматичный и необходимый следующий шаг. Не всё так плохо. Теперь нам нужно поддерживать только одну модель игрока. Нам не нужно беспокоиться о моделях с четырьмя пальцами и огромными руками. Всё оружие может быть обычного размера. Мы можем создавать автомобили обычного размера.
Улучшения человеческой модели
Мы вместе работаем над улучшением моделей людей, и на этой неделе вы можете ознакомиться с первым вариантом.
У нас появились новые анимации, уровни детализации (LOD), улучшенное нижнее белье, возможность выбора цвета глаз, анимации лазания и гораздо более чистая анимационная графика.
Энергия, которую мы вкладываем в улучшение моделей людей, только начинается. Это будет непрерывный процесс.
Изменение лица
Я обновил внешний вид человеческих моделей. В дальнейшем я сосредоточусь на улучшении внешнего вида и возможностей кастомизации человеческих моделей, а также на расширении вариантов голов.
Мы улучшили и добавили уровни детализации (LOD) для человеческих моделей, а также внесли некоторые исправления в сетки тел.
Продолжается разработка глаз, добавляется новый материал и возможность регулировки цвета.
Мы прошли долгий путь от первоначальных голов, которые мы добавили. Цель — создать модели, которые больше похожи на жителей Half-Life 2 или Нико Беллика из GTA. Вызывающие сочувствие, угнетённые — не страшные и не гиперреалистичные.
Мы знаем, что многим из вас будет грустно расставаться с этим Сосиской, и мы будем скучать по нему внутри, но, по крайней мере, вы не сделали себе татуировку с его именем... Я никогда этого не забуду.
Анимации
Поскольку в s&box хотелось использовать модель человека в качестве модели по умолчанию, стало ясно, что существующая система анимации и сами анимации нуждаются в доработке. Во всей игре в качестве основы использовался образ гражданина, поэтому анимации получились мультяшными и стилизованными... что не подходит человеку. Я также хотел исправить странности в общей локомоции, включая ходьбу на корточках, специфические направления прыжков и улучшенное приземление:
Затем я изучил анимации в настройках персонажа... на данный момент используются не все из них, но они также придадут этой области игры более естественную анимацию:
Началась работа над анимацией оружия, в первую очередь над функциональностью пистолетов, винтовок и дробовиков:
Также были рассмотрены возможности ближнего боя, и лом получил классическую для Gmod позу:
Как уже упоминал Гарри, график анимации также будет приведен в порядок, поскольку многие излишне сложные элементы не используются и, скорее всего, создают дополнительные сложности для разработчиков при настройке своих игр. Если у вас есть какие-либо пожелания по поводу добавления новых функций во время переработки механики перемещения игрока, пожалуйста, сообщите нам.
Новый PlayFund
Мы перевели Playfund на систему типа Greenlight, где нужно подать заявку и получить одобрение, чтобы стать участником. Предыдущая система не работала, она поощряла создание неправильных игр и использование ботов.
Наша новая политика не является окончательной, но в целом мы хотим отговорить от создания кликеров, idler, некачественных игр и игр чисто только на UI. Мы хотим поощрять игры, подобные тем, что мы недавно видели на Game Jam. Мы хотим поднять планку немного выше, чем она была раньше.
Мы удалили из системы множество игр и карт, которые, по нашему мнению, не соответствуют этой новой планке.
Steam Workshop - Карты
Наш первый эксперимент будет связан с картами. При публикации вы также будете публиковать их в Steam Workshop. Все файлы будут туда помещены. Пока что вы по-прежнему ищете карты через нашу административную панель, но в планах заменить её на Workshop.
Это значит, что вы сможете подписаться на понравившиеся карты, они будут скачиваться, пока вы не играете, и вы сможете фильтровать их в меню выбора карт.
Обращаюсь ко всем создателям карт: пожалуйста, опубликуйте свои карты в мастерской как можно скорее, потому что после полного перехода на новую систему игроки больше не смогут найти ваши карты.
Оптимизация
Производительность по-прежнему не соответствует ожиданиям. Мы её улучшаем, но недостаточно быстро, и я позволил другим задачам занять приоритетное место, чего делать не следовало. Нам постоянно не удаётся обеспечить стабильную частоту кадров на слабом оборудовании, и даже на более мощном оборудовании частота кадров неприемлема. Приношу свои извинения, и это следовало исправить давным-давно.
Наши показатели неточны и не дают исчерпывающей картины, поэтому мы будем их улучшать, чтобы обеспечить более детальное понимание того, как реагирует каждый уровень оборудования в сценариях с низкой производительностью, таких как Sandbox и Construct.
Я знаю, что все всегда говорят: «Мы работаем над производительностью», но мы действительно работаем над этим, мы делаем огромные шаги вперед каждую неделю, уделяя особое внимание оборудованию более низкого уровня, опираясь на объективные данные. Пожалуйста, подождите еще немного.
Инструменты повышения производительности
У нас было около 10 различных наложений для разных показателей производительности, ни одно из них само по себе не было особенно полезным, и все они были скрыты за множеством переменных окружения.
Я удалил их все и заменил одним универсальным наложением для отображения показателей производительности, которое открывается в новом окне. Оно доступно как в игре, так и в редакторе. Сейчас оно открывается нажатием клавиши F11 , но это всегда можно изменить, если достаточное количество людей скажет мне, что их кофеварка привязана к этой кнопке.
Главная цель — максимально упростить обнаружение проблем с производительностью, а также добавить интерактивность, чтобы можно было кликнуть и углубиться в изучение конкретных проблем. Кроме того, есть собственная консоль, которая, как мне кажется, станет похожа на окно инструментов разработчика в вашем браузере (клавиша F12).
GPU Timeline
В сети появилась новая интерактивная временная шкала для графического процессора overlay_gpu_timeline. Она отображает работу графического процессора во времени, и вы можете зафиксировать отображение, чтобы просмотреть отдельные моменты времени.
Это дополняет существующий профилировщик GPU, помогая выявлять ресурсоемкие задачи рендеринга. Также добавлена телеметрия временной шкалы GPU, которая позволяет исследовать производительность в реальных сессиях.
Дешёвая AO
Функция Ambient Occlusion была переработана для значительно лучшей оптимизации, и её стоимость снизилась более чем вдвое независимо от настроек.
Помимо того, что изображение стало быстрее, раньше, если вы выбирали низкие настройки на своем Nokia, оно выглядело как искаженная, шумная каша, а теперь оно выглядит лучше, чем на высоких настройках раньше, и при этом масштабируется намного лучше.
sbox CLI
Мы заменили сервер MCP на sbox-cli, а это значит, что ваши ИИ-агенты смогут запускать и распознавать игру и редактор ещё проще, даже если запущено несколько экземпляров.
Это опция, которую можно включить по желанию, если вы уже используете ИИ; если нет, вы ничего не увидите.
Быстрый старт
После прочтения отзывов и сообщений о проблемах я заметил, что значительное количество людей жалуется на длительное время запуска платформы, поэтому я потратил некоторое время на улучшение процесса запуска.
Наша цель — ещё больше упростить переход от запуска платформы к игре.
Мы значительно ускорили процесс запуска, выполняя больше работы в фоновом режиме — вместо фиксированных задержек мы проводим полноценные проверки готовности. Мы также показываем заставку гораздо раньше, что позволяет нам оперативно предоставлять обратную связь, пока запускается остальная часть платформы.
В будущем мы, надеюсь, найдём ещё способы ускорить этот процесс, но на данный момент на моей машине измерено ускорение примерно на 60%.
Это касается не только платформы — аналогичное ускорение также применяется к нашему редактору для создателей и разработчиков.
Исправлены ошибки в движений игрока
Контроллер игрока более стабильно следует наклонной поверхности и тормозит на ней. Это исправляет смещение вниз и дрожание при столкновении со стеной на склоне. Также исправлена ошибка при подъеме с наклонных площадок (исправлено дрожание при столкновении со стеной на наклонной поверхности).
Теперь BrakePower выступает в роли множителя трения, при этом существующие значения перенесены. CoyoteTime также доступен как свойство: вы можете выбрать, как долго игроки могут прыгать после отрыва от земли, или установить его значение равным нулю, чтобы отключить этот льготный период.
3D Skybox
Теперь вы можете добавить 3D-скайбокс через компонент сцены. Наведите его на сцену, и он отобразит эту сцену в качестве скайбокса, сделав эту настройку доступной для игр и контента, установленного на консоли.
Это позволяет создавать отдаленные пейзажи отдельно от основной игровой сцены, вместо того чтобы полагаться только на плоский материал неба.
Смешивание декалей
Теперь декали поддерживают режимы смешивания «Умножение» и «Аддитивное смешивание», а также существующий режим «Альфа». Выберите режим смешивания в описании декали, чтобы изменить влияние её цвета на поверхность, на которую она будет наноситься.
Меньший объём ассетов
Мы видели много отзывов и комментариев о том, что загрузка занимает целую вечность, и это справедливо.
Я недавно переехал и сам живу на скорости 20-100 Мбит/с, так что теперь я понимаю.
Ждать десять минут или больше, чтобы присоединиться к игре, — это ужасно.
Поэтому мы сократили объем файлов, которые нужно загрузить, прежде чем начать играть.
В сумме 50 самых популярных игр уменьшились в размере с 46,3 ГБ до 36,3 ГБ (на 22%).
50 самых популярных карт уменьшились в размере с 47,4 ГБ до 35,6 ГБ (на 25%).
Создателям игр нужно просто перекомпилировать свои ресурсы и опубликовать их заново, чтобы получить эту экономию.
Потоковая передача текстур
Помимо этой экономии, мы экспериментируем с потоковой передачей текстур из облака.
При подключении вы будете загружать только текстуры с более низким разрешением, а текстуры с полной детализацией будут передаваться во время игры.
Это значительно сокращает время первоначальной загрузки: на 63% для 50 самых популярных игр и на 82% для 50 самых популярных карт.
Размер карт и материалов
Помимо уменьшения размера ресурсов и общего объема загрузок, мы провели инвентаризацию наших ресурсов и вручную доработали наши собственные карты, материалы и текстуры.
Мы значительно улучшили наши собственные материалы, снизив их разрешение, используя больше общих текстурных карт и удалив все неиспользуемые или минимальные/пустые текстуры. Это уже оказало большое влияние на такие карты, как Construct, которые используют много материалов: с 6 ГБ до 4,2 ГБ .
Еще одна задача, над которой мы работаем, — сокращение количества одноразовых материалов на наших картах. Хотя это и улучшает детализацию, эффект незаметен. Мне удалось уменьшить размер Flatgrass вдвое: с 1 ГБ до 500 МБ . В дальнейшем все наши карты будут использовать гораздо более ограниченную палитру, чтобы уменьшить размер файлов.
Игровые данные для моделей
Теперь модели, созданные во время выполнения, могут передавать игровые данные, такие как здоровье объектов, взрывы и разрушаемые части ModelBuilder.WithData. Это означает, что Mount теперь могут создавать разрушаемые объекты.
Звуки скрежета
Теперь в физике можно воспроизводить звуки скрежета, заданные для поверхностных объектов.
Приватные лобби
Возможно, это уже третий раз, когда мы говорим, что исправили эту проблему, но теперь приватные лобби действительно приватные.
Мы исходили из предположения, что Steam контролирует доступ к этим лобби, но на самом деле он контролировал только видимость. Теперь у нас есть собственные проверки в движке, определяющие, кому разрешен доступ в лобби.
Улучшения сетевая интерполяция
Чтобы другие игроки двигались плавно, игра показывает им немного прошлое, чтобы всегда иметь под рукой следующее обновление, к которому можно было бы адаптироваться.
Эта задержка была больше, чем нужно, и при плохом соединении задержка пакетов приводила к рывкам в движении.
Поэтому мы переработали синхронизацию и воспроизведение сетевых обновлений.
Теперь обновления отправляются с частотой, установленной в конфигурации вашего проекта (30 Гц на самом деле было около 20), и игроки двигаются в зависимости от того, когда хост отправил каждое обновление, а не от того, когда оно прибыло.
Задержка теперь также зависит от качества вашего соединения.
- При стабильном соединении с частотой 30 Гц другие игроки теперь отстают на 71 мс вместо 133 мс .
- При нестабильном соединении задержка увеличивается с 1,60 мс до 127 мс , а движение остается плавным, без рывков.
Револьвер Магнум
Создание модели револьвера для игрового мира было завершено некоторое время назад, но теперь весь пакет полностью готов и включает в себя полноценную, полностью анимированную модель оружия!
Все виды оружия доступны в нашей коллекции оружия s&box .