Показаны результаты для тегов 'sbox'. - Моддинг Игр и Серверов Перейти к содержанию
Гость

Поиск сообщества

Показаны результаты для тегов 'sbox'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общее
    • Новости Сайта
    • Общение
    • Помощь по игровым серверам
    • Поиск плагинов/файлов
  • По играм
    • Counter-Strike 2
    • Counter-Strike: Global Offensive
    • Team Fortress 2
    • Left 4 Dead (1/2)
    • Grand Theft Auto V
    • Minecraft
    • S&box
    • Dota 2
    • Terraria
    • Half-Life 2:Deathmatch
    • GTA: SAMP
    • Counter-Strike: Source
    • Counter-Strike
    • Rust
    • PLAYERUNKNOWN'S BATTLEGROUNDS
    • Warface
    • Half-Life: Alyx
    • World Of Tanks
  • Архив/Корзина
    • Устаревшие Статьи
    • Steam
    • Новости из мира игровой индустрии
    • Халява

Категории

  • Counter-Strike 2
    • Плагины/моды
    • Карты
    • Скины / Модели
  • Team Fortress 2
    • Скины / Модели
    • Карты
  • Left 4 Dead (1/2)
    • Скины / Модели
  • Sourcemod плагины
    • CS:GO
    • Left 4 Dead
    • Team Fortress 2
    • Half-Life 2: Deathmatch
    • Counter-Strike 2
  • Counter-Strike: Global Offensive
    • Скины / Модели
    • Сборки / Готовые Сервера CS:GO
    • Карты
    • Разное
  • Half-Life 2:Deathmatch
    • Скины / Модели
    • Карты
  • Counter-Strike
    • Готовые сервера
  • Rust
    • Плагины Umod (Oxide)
  • World Of Tanks
    • Моды для World Of Tanks
    • Прицелы
    • Шкурки / Зоны пробития
    • Ангары
  • Dota 2
    • Скины/Модели
    • Разное
  • Minecraft
    • Плагины
    • Скины
    • Карты

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


О себе

Найдено: 4 результата

  1. OriginalShaman

    S&Box DevBlog Август 2021

    S&Box DevBlog Август 2021 *Повествование ведется от первого лица, так как текст - это перевод с официального сайта разработчика игры. «В этом месяце было много VR фич, но как обычно мы делали и много других вещей» Теги Объектов(Garry) Мы добавили систему тегов к энтити. Это разрешает вам помечать каждую энтити неограниченным количеством сетевых строчек. Как классы в html/css, это невероятно просто и невероятно мощно. Вот простейший пример, помечаем игрока тегом «игрок». Теперь каждая система в игре сможет проверить наличие этого флажка и узнать что это игрок. Общие проверки подобные этой полезны в s&box, потому что наш «Pawn» может быть просто голой энтити, у нее не обязательно есть общий базовый класс игрока, которого мы можем тестить. Но с помощью этой системы легко определить, следует ли рассматривать эту энтити как игрока, или npc, или гранату и т.д., не проверяя классы напрямую. РАЗРЕШЕНИЯ Самое классное в этой системе тегов то, что ее можно использовать для любых целей. Я бы мог представить, что мы поддерживаем такие вещи как «is-admin» и «can-noclip», как примитивную систему разрешений. ГРУППЫ КОЛЛИЗИЙ Мы пока не особо продвинулись с тем, чтобы сделать группы коллизий полезными и не отстойными, так что это первые шаги к решению этой проблемы . Может быть, мы могли бы делать коллизии на основе тегов? Пример этого приведен выше. Вы можете фильтровать свои трейсы по тегу, что мне кажется намного проще для понимания, чем бороться с группами коллизий. БУДУЩЕЕ Я думаю о таких фичах, как параметры триггеров в Hammer, и у них содержатся варианты того, должны ли они срабатывать на NPC, игроках и т.д.. Мы сейчас можем это изменить, чтобы вы могли просто добавлять теги для требований, и теги для игнорирования. Это упростит их, а также сделает их более настраиваемыми. Это функция, для которой я надеюсь найти больше применений в будущем. API Вики У меня есть вики бот, который просматривает dll библиотеки s&box и добавляет страницы документации для всех общедоступных классов и т.д. Этот бот был довольно базовым, и у нас было заполнено всего несколько страниц, поэтому я увлекся в этом месяце и внес некоторые улучшения и сделал еще кучу дел. Самое забавное в документировании API заключается в том, что в конечном итоге вы видите кучу дерьма в дизайне, которое в противном случае вы бы не увидели. Я думаю, что это действительно веская причина, по которой сами разработчики должны документировать подобные документации, потому что они с большей вероятностью исправят код, а не задокументируют его в любом случае. Этот материал все еще не идеален, как будто в нем отсутствует информация, указывающая на то, что у класса есть базовый класс, что я думаю, было бы полезно. Атрибуты создают кучу мусора. И я думаю, что дизайн мог бы быть более интуитивно понятным и полезным. Волосы(Taylor) Ситизенов неправильно поняли. Все так долго видели их в примитивной обнаженной форме, что не могут представить их по-другому. В этом месяце я предпринял некоторые шаги чтобы исправить это, поработав над прической и новой одеждой для них. Фидбек был потрясающим, но я надеюсь улучшить их (и улучшить волосы на лице) в течение следующих нескольких месяцев. Смешивание Ландшафта(Sam) Предыдущий шейдер, который мы использовали для смешивания, поддерживал только 2х смешивание и не был мощным от слова совсем, это вызывало много проблем для нас и комьюнити, чтобы идеализировать видение, желаемое для наших миров. В этом месяце я написал новый, который также используется в качестве основы для будущего пользовательского рабочего процесса шейдера. Блендинг должен поддерживать до 5 смешиваний( в настоящее время ограничено 4 из-за аргументов в регистре графического процессора ), поэтому у вас не должно быть недостатка в возможностях для их создания. Он должен иметь тот же рабочий процесс, что и стандартные шейдеры PBR, и его затенение также соответствует им, поэтому люди должны иметь возможность просто использовать его в знакомом рабочем процессе. Кроме того, вы можете не только смешивать текстуры, но и использовать blendable для окрашивания геометрии любым удобным для вас способом без затрат. Автоподавление RPC(Garry) Представьте, что вы стреляете из пистолета в игре. Клиент запускает код предикции выстрела, который вызывает функцию «ShootEffects», которая воспроизводит звук и рисует вспышку выстрела. Затем сервер запускает фактический код, который также вызывает «ShootEffects», который является RPC, поэтому он отправляет сетевое сообщение клиенту для вызова функции. Нам нужно, чтобы сервер вызывал этот RPC на всех клиентах, чтобы они слышали звук и видели эффекты. Но предикция клиента получает это сообщение дважды. Поэтому они воспроизводят звук дважды. СТАРЫЙ СПОСОБ Таким образом, у меня была система, в которой предикция клиента предполагала, что он уже запустил все RPC, отправленные во время его команды. Поэтому, когда он входил, он игнорировал его и не запускал. Это работало, но иногда сервер отправлял RPC, который он не хотел, чтобы клиент подавлял. Например, если вы стреляете в кого - то, и он умирает-он умирает только на сервере, и это происходит во время выполнения команды, поэтому предикция клиента проигнорирует любые отправленные RPC. Поэтому я добавил Prediction.Off(), который отключил бы подавление в своей области. За исключением того, что люди, очевидно, были сбиты с толку этим, потому что они поместили его повсюду, даже в код только для клиентов. НОВЫЙ СПОСОБ Если мы можем сделать все легче и проще - мы должны это сделать. Это оказалось достаточно большой путаницей, которую стоило исправить. Поэтому, когда клиент вызывает RPC функцию на стороне клиента, теперь они будут отмечать это. Когда они получат RPC с сервера, они подавят его, если они уже запустили его во время предикции. Это проще и автоматизировано. Это также имеет то преимущество, что если параметры вызова не совпадают, то функция запускается дважды, предупреждая разработчика о том, что их код предикции неверен. VR Трекинг Рук Я добавил поддержку трекинга рук. Вы получаете трансформирование каждой руки в легкодоступной структуре. У вас по сути есть положение и вращение каждой руки. Что может быть проще этого? Они являются частью ввода, поэтому они доступны как на стороне клиента, так и на стороне сервера в Simulate(). VR Вводы Контроллера Вы также можете получить доступ к вводам контроллеров. В попытке их упрощения, я сохраняю их довольно общими базовыми на контроллерах, которые сейчас являются мейнстримом. Под этим я в основном подразумеваю Quest и Index контроллеры. Мы можем столкнуться с ситуацией, когда контроллеры имеют разные вводы, или они избавляются от контроллеров все вместе и просто отслеживают руки. Однако я ставлю против того, чтобы что-то существенно изменилось с точки зрения ввода. VR Трекинг Пальцев Теперь вы можете сгибать и разгибать пальцы с помощью ввода, что позволяет вам расположить пальцы так, чтобы они соответствовали вашим реальным пальцам в игре. Это позволяет вам делать такие жесты руками, как махание и лайки. Любые грубые жесты рук обнаруживаются с помощью искусственного интеллекта, в результате чего игра автоматически закрывается и вашим родителям отправляется имейл. Они также являются частью вводных данных, поэтому они доступны как на стороне клиента, так и на стороне сервера в Simulate(). VR Трекеры Я добавил дополнительную поддержку трекера для VR. Это позволяет вам узнать положение и вращение любых дополнительных трекеров, которые у вас могут быть, а также ваших базовых станций, если вы не используете Quest. Этот API еще не доработан. Я представляю, что нам нужен способ для назначения трекеров на определенные роли, чтобы вы могли определить, какой из них у вас на ноге и т.д. Я не знаю, будет ли много вызовов по этому поводу.. но оно есть. Они также являются частью вводных данных, поэтому они доступны как на стороне клиента, так и на стороне сервера в Simulate(). Переосмысление Базовых Энтити(Rubat) Как упоминалось в предыдущих блогах, прямо сейчас у нас есть уникальная возможность просто избавиться от устаревшего багажа, встроенный в Source, а именно от всех базовых энтити, с которыми движок застрял со времен GoldSource. Они содержат множество функций, которые просто устарели с более новыми версиями движка. Это как раз то, над чем я работал в последнее время. Оно начинается с 4 способов создания дверей в Source - func_door, func_door_rotating для дверей на основе «брашей», которые полностью создаются в Hammer, и prop_door_rotating и prop_dynamic для дверей на основе моделей. В S&box у нас есть только одна энтити двери - ent_door. Она может работать как с выделенными моделями, так и с «брашами», она может работать как с вращающейся дверью, так и с линейно движущейся. Его можно анимировать с помощью AnimGraph, если вращения и линейного перемещения недостаточно. Тот же принцип был применен к нескольким другим энтити: func_button и func_rot_button были объединены в ent_button func_rotating и func_movelinear были объединены в ent_platform func_tracktrain, func_train, path_node и связанные с ними энтити, используемые при создании объектов, подобных лифту и поезду, заменены на ent_path_platform Если у вас есть идеи или критические замечания по поводу этого подхода к базовым сущностям, пожалуйста, не стесняйтесь сообщать нам об этом. Это идеальное время, чтобы сообщить об этом, пока все еще в потоке. Уличное Окружение(Tom) Я продолжал работать над пропами окружения, чтобы оживить улицы констракта. В этом месяце появились несколько значков британской хай-стрит, красный почтовый ящик и черно-золотая корзина. Вместе с различными предметами мусора, которые можно выбросить, когда мусорные баки будут опрокинуты. Прямое Воспроизведение Анимационной Секвенции / (Maxime) Возможность прямого воспроизведения анимационных секвенций на моделях было отключено, но теперь оно снова работает! Это означает, что вам не нужно проходить через AnimGraph, чтобы заанимировать модель. Вы можете сделать это в стиле олдскула. RTS эксперимент, над которым работает Conna, вернулся к этому методу из-за узкого места в производительности Animgraph, которое было выявлено благодаря огромному количеству используемых единиц. Вы все еще можете сделать некоторые анимационные композиции прямо в ModelDoc, хотя это немного более ограничено. Вот вики - страница об этом! Вы также можете посмотреть RTS репозиторий, чтобы узнать, как работает код. Hammer Хелперы(Rubat) С капитальным ремонтом Hammer в Source 2 также довольно просто создавать пользовательские хелперы / визуализацию для энтити. Например, здесь у нас есть хелпер, показывающий открытую позицию для двери. Это то, с чем, как я знаю, многие мапперы сталкивались в прошлом, поэтому необходимо сократить множество итераций. Наше намерение состоит в том, чтобы в конечном итоге позволить кодерам добавлять своих собственных хелперов и инструменты для работы в Hammer - но это еще не скоро. Инструмент Пути Я изучаю возможности использования нового Path Tool инструмента в Hammer. Это то, что использует новая энтити ent_path_platform. Я чувствую, что он недостаточно используется и несколько недостаточно развит в базовом Source 2, но немного поработав, мы сможем это изменить. С помощью Path Tool нет необходимости задавать уникальные имена энтити для каждого узла, чтобы связать их вместе, поэтому создание и модифицирование пути намного проще. Затем путь компилируется в единую энтити, которую вы можете назвать и назначить другой энтити, например новой форме ent_path_platform. Данные Path Tool уже доступны кодерам через BasePath класс. В ближайшем будущем я хочу, чтобы каждый узел имел кастомные значения ключей и выходные данные, как мы уже можем делать с самими энтити для еще более высокой настраиваемости. Мировой UI(Garry) Раньше у нас был фейковый интерфейс мира. Он всегда отрисовывался поверх основного мира, поэтому было непригодно для некоторых ситуаций. С помощью UI в мире они на самом деле отрисовываются в мире в правильном прозрачном порядке отрисовки. Поэтому они рисуются на заднем и переднем плане, как вы и ожидали. Отлично подходит для именных тегов и т.д. Интерактив с Мировым UI Для надлежащего обслуживания мировые панели должны быть интерактивны так же, как обычный UI с мышью. Нам нужно иметь возможность нажимать и перетаскивать, независимо от того, используем ли мы кнопки мыши, обзор мыши или VR. Я начал изучать UI в этом месяце. Это означало небольшую перестановку внутренних компонентов, чтобы заставить его работать, но сейчас он находится в таком месте, где его можно использовать и работать.
  2. OriginalShaman

    S&Box DevBlog Июнь 2021

    S&Box DevBlog Июнь 2021 *Повествование ведется от первого лица, так как текст - это перевод с официального сайта разработчика игры. В этом месяце произошли значительные улучшения UI, ИИ, и анимации игроков Лицевые выражения ситизенов(Taylor) Я добавил набор морф таргетов в модель Ситизена, сосиски теперь с выражениями лиц максимально харизматичные! Это очень похоже на первую версию чего-то, что будет развиваться со временем, пока Макс работает над анимацией. Формы могут быть изменены либо добавлены, если мы увидим, что они не особо подходят под выражения, а сами правила гибкости(морфов) все еще нуждаются в небольшой настройке. Как я уже говорил, система очень гибкая(и с ней чертовски весело играться!) Макс уже настроил несколько простых выражений лица, срабатывающие при выстреле, и мне не терпится увидеть то, что мы можем сделать с ними в будущем! Я также добавил несколько вариаций скинов материалов, а также несколько новых блестящих глаз, в которых используется корректный eyeball шейдер. Анимации Ситизенов(Maxime) Анимграф ситизенов преследует 3 дизайнерские цели: Он должен быть легок в понимании (и тщательно прокомментирован) Он должен быть гибким, и легко «масштабируемым», от простого базового поведения до более приличных форм Он должен расставлять приоритеты, требуя наименьшего количества входных переменных, чтобы получить наибольшее количество функций Это может выглядеть пугающе... но это не так уж сложно для понимания. Прямо сейчас, если вы ходите добавить новый «тип держания»(способ держать что-то, типа оружие) для своего игрового режима, вам нужно скормить его всего в двух позах - одна стоя, другая приседая. Это так просто, как вообще может быть: существующие атаки являются аддитивными (поэтому они будут соответствовать всему), и существующие «перезарядки» не обязательно должны соответствовать вашей позе. Они могут в конечном итоге выглядеть слегка не доработанными, но смешивание будет помогать. Но вы также можете добавлять дополнительные позы (и конечно анимации), чтобы все было более приличным. К примеру, вы также можете поставить «long idle» позу: используя логику, полностью управляемую анимграфом, если вы не двигаетесь или не выполняете никаких действий (стрельба/перезарядка) в течении определенного времени (~10сек), ветвь типа «удержания» переключается на другую позу, с иной системой цепей. Все рассчитано на то, чтобы как можно больше ориентироваться на управление позой. Это означает переключение между различными путями на лету. Например: IK и look цепи включают и отключают себя в определенное время Каждая ветвь оружия отвечает за свои цепи внешнего вида, и может переключаться на другие с различными настройками затухания. Вот так оружие опережает верхнюю часть тела, добавляя немного задержки, инерции и прослеживания, что делает движения немного более естественными. Компоновка верхней части тела использует различные весовые списки при бездействии, перемещении или выполнения жестов (таких как перезарядка), позволяя использовать более или менее основную анимацию движения. В данное время еще не все идеально; обычно большая часть проблем, с которыми мне приходится иметь дело, вызвана непреднамеренными сигналами сброса, уменьшающимися значениями, которые блокируются, когда они не должны, или наоборот. Это действительно сложная часть графа, и я стараюсь оставлять заметки об этих крайних случаях в нодах комментариев, или в заметках где-нибудь внутри самих нодов. (Это функция из ModelDoc, которую мы специально портировали в AnimGraph - Спасибо Лайла!) А еще есть несколько функций, которые не используются. Для примера, поза прицеливания в видео выше? Это полностью процедурные look цепи. Как только матрица позы будет добавлена в смешивание, прицеливание начинает выглядеть более естественным. ( Но это свидетельство силы Анимграфа в том, что все уже выглядит довольно хорошо!) Время от времени мы добавляем всякие новые украшательства(последним было аддитивное направленное смешивание, используемое при полете во время ноклипа). Я надеюсь создать что-то подобное для прыжков. Также есть захватывающие идеи, потенциально ставшие возможными благодаря контроллеру игрока, который теперь предоставляет два набора значений: «move» (движение, как оно происходит в целом) и «wish» (описывает ввод игрока). Одна идея из моего списка: когда вы будете управлять своим персонажем в полете - ноги будут отставать от вашего движения, в то время как верхняя часть тела будет наклоняться в направлении ввода. Более Универсальные Удержания Теперь, когда нам не нужно работать с существующим контентом (т.е. с плеермоделями HL2DM и их наборами анимации), одна огромная тяжесть, с которой я пытаюсь больше не сталкиваться, - это размножение «типов удержания» В Gmod у нас была дюжина таких, часто с очень маленькими различиями С S&box моя цель - иметь меньше, но настраиваемых типов. Отправная точка для этого: первая итерация этого нового типа «holditem». Идея заключается в том, что вы можете заставить ситизена держать что угодно, указав: Общая поза тела: в данный момент, комбинация узкого/широкого предмета, разведение рук и легкое/тяжелое состояние, приседание) Рука: правая / левая... или и то и другое! Тип «атаки»: рядом, средний бросок, или дальний Поза руки: выбор из 18-ти в библиотеке(пока что) или любая точка между соседними позами Если бы вы хотели показать ситизена несущий ящик, ваш код запросил бы у анимграфа 2H, вы бы установили позу тела на 4, а позу руки на 0.02, затем вы бы привязали модель ящика к атачменту с именем «middle_of_both_hands», которое всегда расположено в середине воображаемой линии, проведенной между обеими руками персонажа! Если бы вы хотели показать гранату, вы бы вместо этого установили руку на RH, позу тела на 1, позу руки на 0.11, и вы могли бы переключить тип «атаки» между 1 и 2 в зависимости от того, хотите ли вы небольшой бросок, или большой(что-то типа игр Counter Strike) При реализации этих систем необходимо найти компромиссы: например, сначала я представлял себе систему, которая будет использовать различные float’ы (сгибание/свертывание/крен/разброс), чтобы вы могли очень точно контролировать позу каждого пальца. Но... на данный момент куча готовых поз «достаточно хороша», и в будущем, возможно, будет разумнее просто позволить людям, которые хотят иметь точный контроль, каким то образом сделать это с помощью кода. По мере того, как расширяется функционал системы, я нахожу недостатки, которые необходимо устранить... ну, на самом деле это просто более приятный способ сказать: «Решения, которые я принимал ранее, теперь мешают мне.» И это лишь вопрос в продолжении повторения их все больше и больше! Эти параметры будут распространяться на другие ветки типов удержания; следующим в моем списке будет переключаться между 2-ручным и 1-ручным оружием(RH)! Генерация FGD(Garry) Писать FGD собственноручно - отстой. Так что, давайте украсим наши классы энтити и автоматически сгенерируем FGD. Это гораздо более приятный способ работы. Мы тратим больше времени на анализ того, как мы работаем в Hammer, и приводим его под текущие реалии. Кое-что пришедшее в голову, заключалось в том, что у нас есть два типа энтитей для множества случаев. Похоже у нас есть энтити солидов(на основе брашей), и энтити моделей. Это не нужно в Source 2, всё это просто модели.. Таким образом, мы можем объединить их в одно целое Я уже говорил об этом раньше, но я действительно чувствую, что одна из сильных сторон S&box на данный момент заключается в том, что мы можем выбросить эту срань. Valve не может/не хочет делать этого, им приходится переделывать все старые фичи, которые они хотят поддерживать. Мы можем привнести динамит в это дело, и расчистить путь на будущее. Улучшения UI Системы Как и в любой другой месяц, в этом месяце мы внесли кучу исправлений и обновлений в UI систему. Поддержка для переменных Поддержка для @import Новый параметр: pixel-snap Новая PanelEvent система Поддержка text-transform Поддержка font-style Поддержка letter-spacing Поддержка text-decoration Поддержка :nth-child Добавлен UseTemplate атрибут Таблицы стилей придерживаются правилам специфичности css sound-in, sound-out свойства Поддержка :not Поддержка :empty Поддержка :first-child Поддержка :last-child Поддержка :only-child Специальные pointer-events свойства Поддержка backdrop-filter Улучшена тень текста Улучшен рендеринг текста Улучшен рендеринг изображений Приятно делать нашу UI систему лучше и сильнее с каждым месяцем, как вот здесь. Здорово иметь возможность просмотреть весь старый код и очистить его, переключившись на новые возможности. Меню - Навигация Навигация по множеству меню в игре имеет много болевых точек. Поэтому я попытался понять, почему это так. Мы прекрасно ориентируемся на веб страницах каждый день - почему оно отличается? Поэтому я понял, что нам нужно перемещение вперед/назад. Оно должно работать как веб-сайт. Если вы нажмете не на ту кнопку, вы просто нажмете назад, а не нажмете «Домой», и пройдетесь по списку меню, чтобы вернуться туда, где вы были. Предыдущая страница должна вернуться мгновенно, она не должна ничего загружать, она должна просто появиться. Это стимулирует гораздо больше ознакомительных щелчков, потому что у вас есть утешительное знание того, что вы можете просто нажать на боковую кнопку мыши, чтобы вернуться туда, где вы просто были. Я также хотел сделать добавление страниц таким же простым, как в веб-фреймворке. Ни одна из страниц не должна знать друг о друге, они просто должны открывать адреса, и навигатор должен уметь это делать. Поэтому я создал систему вокруг атрибутов. Таким образом, переход по этому URL в навигаторе создаст эту панель, и сделает ее текущей страницей. Последующие переходы по этому URL снова откроют эту панель. Он не будет удален и воссоздан заново. Как вы можете видеть здесь, это также поддерживает переменные. Так что, вы можете перейти к «/game/facepunch.sandbox» и эта панель будет создана, она получит свойство «game_ident» и сможет просматривать информацию об игре. Опять же, оно не будет воссоздавать это каждый раз, а создаст один экземпляр для каждого уникального идентификатора игры, поэтому больше кэширования. Это оказалось гораздо более приятной системой, чем то, что у меня было раньше, и делает систему меню приятной для расширения, а не карточным домиком. Вся эта система, атрибуты, поиск и создание написаны в коде аддона, поэтому она должна служить хорошим примером, как создавать аналогичные системы в ваших играх и аддонах. Система Пати В этом месяце я внедрил систему пати. Она работает так, как вы и ожидали, вы присоединяетесь к пати, овнер пати присоединяется к игре - вся пати присоединяется к ним. Я работал над тем, чтобы сделать все это как можно беспрепятственно. Количество людей в вашем пати в настоящее время ограничено до 16-ти. Это на самом деле не жесткое ограничение, это просто потому, что мне нужно было бы создавать специальный UI для поддержки такого количества людей. Если вы есть владельцем пати, вы получите желтый круг, и сможете управлять участниками, однако вы не можете кикнуть или забанить участников, потому что по какой то причине Steamworks не имеет такой фичи. По видимому, обходной путь состоит в том, чтобы воссоздать лобби, и пригласить всех, кроме этого человека, что одновременно и весело и тупо. Когда овнер создает игру или присоединяется к ней - пати будет следовать за ним. Когда они выйдут из игры - пати будет следовать за ними. Здесь нужно решить еще несколько вопросов. Если есть голосовой и текстовый чат, нам нужно решить, как лучше всего это работает, но основы и неизвестности были проделаны в этом месяце. Навигационная Сетка ИИ - это то, что я не хотел оставлять в качестве запоздалой мысли, поэтому я стремлюсь доказать самому себе, что мы можем иметь законный, достойный, расширяемый ИИ в коде аддона, не прибегая ни к одному из встроенных ИИ в движке. Создание навмеша из C# будет большой частью выполнимого, поэтому я начал работать над ним в начале этого месяца в аддоне под названием ai-lab. Эта игра больше похожа на приложение, в котором я могу попробовать множество различных экспериментальных функций. Выше вы можете видеть, как он строит оптимизированные пути для этих npc, используя навмеш из карты. Мы видим, как NPC успешно перемещается по карте. Это не всегда идеально, особенно когда вокруг есть другие NPC, но этого достаточно, чтобы сказать, что это работает. Это то, с чем мне нравится играться, и я уверен, что в сообществе найдутся люди, которые сделают ИИ с его помощью еще лучше, чем я когда-либо мог. Функциональность присутствует. Обратные Вызовы Сетевых Переменных(Conna) Иногда полезно знать на стороне клиента, когда изменилась сетевая переменная. Вы можете использовать это для обновления UI или сделать что-то еще, чтобы вам не приходилось запрашивать изменения. Начальная VR поддержка(Sam) Я пофиксил VR рендеринг, с момента запуска проекта мы много работали над улучшением некоторых гибких возможностей рендеринга для Source 2, и адаптацией его для работы с тем, что мы хотим, но до сих пор ни разу не проверяли его в VR режиме. Привести VR в хорошее состояние всегда было для нас проблемой, и теперь я рад, что взялся за начальную работу, чтобы была его поддержка. Это был только первый шаг, пока мало что связано с фактическим s&box кодом, поэтому единственное, что вы можете сделать прямо сейчас - это быть пассивным туристом в своих творениях, но это открывает нам возможность поэкспериментировать с ним, и создать что-то, чем каждый мог бы наслаждаться и опираться на это. Меню - Главный Экран(Garry) На главном экране слева появился Ситизен. План состоит в том, что вы сможете настроить своего ситизена с новой одеждой, цветом кожи и т.д. Очевидно, что от них зависит, использует ли игровой режим эти настройки, но я ожидаю, что там, где это имеет смысл, они разрешат их, в обратном случае как минимум перенять цвет кожи и переодеть модель. Но очевидно, что некоторые игровые режимы даже не будут использовать модели игроков ситизенов, поэтому они будут делать все, что захотят. Кнопки быстрой игры создают точно такую же игру, в которую вы в последний раз играли в этом режиме. Это действительно здорово, когда вы развиваетесь, и можете сразу вернуться туда, где вы были. В целом он будет превращен в более мужицкий плиточный экран без всего пустого пространства, но прямо сейчас он показывает то, что нужно показать. Индивидуальные Сети Как насчет того, чтобы вы запустили игру, и вместо того, чтобы присоединиться к выделенному серверу или игре другого игрока, она взаимодействует с веб посредством API Этот API сообщает вам, где находятся игроки, где находятся энтити, как выглядит мир. Ваш клиент создает эти энтити и поддерживает их синхронизацию, постоянно обращаясь с API. Эта идея интересна мне. Это относительно неизведанная территория, у нее есть потенциал для игр с десятками тысяч игроков на одном сервере. Я думаю, что если мы достаточно разберемся в этом, то сможем сделать что-то классное, или по крайней мере побудить комьюнити сделать что-то классное. В этом месяце Рохан исследовал это, добавив класс websocket в s&box. Затем он создал Towns в качестве доказательства концепции. В этой игре вы подключаетесь к удаленному серверу websocket, который затем транслирует данные о местности и объектах. Вы не можете ничего делать прямо сейчас, кроме как летать, но это доказывает концепцию и выделяет несколько областей, в которых мы можем сделать все более плавным, чтобы лучше поддерживать это.
  3. OriginalShaman

    S&Box DevBlog Май 2021

    S&Box DevBlog Май 2021 *Повествование ведется от первого лица, так как текст - это перевод с официального сайта разработчика игры. «Запросы сообщества, много рефакторинга, и немного экспериментов в этом месяце» Изменение тона (Garry) В блогах произойдёт небольшая смена тона, поскольку теперь они больше ориентированы на людей, имеющих доступ к dev preview. Если вы не разработчик, то, вероятно, вы получите кучу неинтересной для вас информации. Может быть, так было всегда, но я всё-таки решил об этом упомянуть. Фреймрейт вьюмодели Энтити анимации на стороне клиента обновлялись от тикрейта сервера. В основном это было заметно только при уменьшении значений host_timescale или тикрейта. Отрисовка Я добавил возможность рисовать в реальном времени. Такое вроде уже было в GMod, но в S&box это работает немного по-другому, давая определенные преимущества. Эти кубы нарисованы с использованием новых методов. Это не модели, они рендерятся вручную на C# каждый кадр. Самое замечательное в Source 2, что нам не нужно хранить их. Процедурный контент может выглядеть как обычные модели. Он может использовать то же освещение и отбрасывать тени, как и все остальное. Пайплайн рендера дает возможность делать прикольные штуки, как, например, рендер картинки до применения эффекта bloom. Эти штуки мы планировали использовать для чего-то вроде игровых виджетов, но с ними очень весело возиться, поэтому я думаю, что мы найдем им кучу применений. Стилистика Мира Мы уверены, в каком направлении будем развивать ситизенов. Мы знаем, чего хотим, знаем, чего не хотим. Тем более со стилистикой мира. Мы долго колебались, пытаясь решить в каком направлении мы хотим двигаться. Хотим ли мы, чтобы она была карикатурной, чтобы соответствовать ситизенам, либо чтобы они были более реалистичной? Вот несколько стилизованных концепций, которые мы попробовали с пропорциями ситизена: В начале этого месяца мы решили взять на себя обязательство и сказать, что мы хотим реализм. Отчасти это было связано с тем, как великолепно ситизен выглядел на уровнях Half-Life: Alyx. Контраст между видом настоящего мира и мультяшным сосискоголовым ситизеном - это именно то, что мне нужно. Выглядит интересно. Мы начали работу над процессом создания мира. Для меня это в новинку, поэтому я попытался всех организовать, чтобы работа каждого человека была прозрачной. Цель этого состоит в том, чтобы исправить проблему с основным контентом. С GMod нам было легче, потому что у нас были все материалы и пропы с Half-Life 2. Сейчас у нас стиль Rust, который не всегда подходит масштабам Source Поэтому мы пытаемся собрать все воедино. На данный момент мы хотим чтобы 3 наших художника сделали все, чтобы мир выглядел также хорошо, как в HL:A. Рефакторинг игрока В этом месяце я провел большой многонедельный рефакторинг системы игрока. Ранее, когда ваш игрок спавнился, это то, чем вы были. Пока технически вы могли контролировать любую энтити самостоятельно программируя систему, она не была предназначена для такой работы. Поэтому в этом месяце я сделал систему Pawn (прим. пер. система пешек). Теперь при подключению к серверу, он может создать энтити (прим. пер. то есть «пешку»), которой вы будете управлять. Сервер может изменить вашу «пешку» в любое время. Данная система лучше подходит для создания игровых режимов, которые не предполагают механики шутеров первого лица. Например, игры, в которых разные игроки могут управлять одним и тем же объектом, или режимы, где необходимо переключение между различными энтити... Или режимы, где игрок не контролирует объекты и является просто летающей камерой. Рефакторинг сети Предыдущая сетевая система была затычкой, которая была сделана на скорую руку, чтобы просто работала. При синхронизации Entity по сети вам приходилось оборачивать ее в EntityHandle, или при синхронизации List в сеть вам приходилось вместо этого использовать специальный класс NetList. Вам также приходилось вручную вызывать функции NetworkDirty. Хуже всего то, что все это было объединено в сеть в виде четырех больших байтовых массивов, и каждый раз, когда сеть была грязной/забитой, мы перестраивали их вручную снова записывая весь класс. Почему 4? Обычная, предсказательная, локальная и локально-предсказательная. При переработке этого я понял, что нам вообще не нужны предсказательные, потому что мы сами справляемся с предикциями. Так что остались только обычная и локальная. Поэтому я решил исправить все эти проблемы, и сделать системы более определенными и строгими. Вот вики страница о том, как теперь они работают. Трассировка Стеков Я добавил отображение трассировки стеков в игровую консоль. Вы можете кликать на один из стеков, и он откроется/переключится в Visual Studio в нужном файле и строке. Хелпер Передвижения Написание своего собственного кода движения немного устрашает. У меня было что-то, что мы бы могли кратко изложить и упростить - это фактический код скольжения. В Source Engine код передвижения не так прост, как “двинься сюда, если можешь, остановись, если не можешь”. Если игрок сталкивается о поверхность, то скользит по ней. Если ударяется о другую поверхность, то скользит и по ней, пока мы не собираемся его толкать в его исходную. Поэтому я извлек все это поведение в вспомогательную структуру под названием MoveHelper. Я хранил его как структуру, потому что он довольно легкий и вообще не ссылается на энтити, поэтому вы можете использовать его для того, что не является энтити. Зависимости Одна из вещей, которая периодически всплывает в наших devpreview чатах в Discord - это тема зависимости. Многие люди хотят сделать аддон, который зависит от другого аддона. Они хотят сделать базовый аддон, а затем сделать дополнения на его основе. Некоторые люди хотят только создавать базовые аддоны. Зависимости в среде выполнения сосут жопу. В S&box я хочу это исправить. Ваша игра должна включать в себя все необходимое для запуска. Она не должна закачивать 8 разных аддонов. Ей не нужно, чтобы люди устанавливали CS:S. Использование наследования и повторное использование кода - это разумное решение. Проблема в том, чтобы это делать в реальном времени. Представим, что аддон, который вы используете - обновляется или удаляется, либо аддон, от которого этот аддон зависит, делает то же самое. В итоге мы имеем целый вагон аддонов, которые не работают. Поэтому официальная рекомендация на данный момент - скопировать и вставить код в свой аддон, чтобы повторно использовать его между проектами. Если вы хотите создать аддон на основе sandbox, загрузите репозиторий и скопируйте то, что вы хотите взять с него. Он не будет оставаться в актуальном состоянии официального репозитория, но это и хорошо - вы контролируете ситуацию. Бильярд (Conna) В этом месяце я работал над бильярдом, и при этом я нашел кучу полезных фич, которые мы могли бы перенести в S&box. Начнем с того, что шары цеплялись за край стола, а не отскакивали, как это должно происходить. Я обнаружил, что в движке порог отскока был захардкожен до скорости 40, что означало, что если бы шары двигались еще медленней, то не отскакивали бы вообще. Мы изменили данное значение, чтобы его можно было изменять для каждой поверхности, так что все шары теперь имеют значение 0.1. Еще одна проблема заключалась в том, чтобы определить момент времени, когда шары останавливаются, чтобы следующий игрок мог сделать свой ход, но Гарри добавил способ ускорить физическую симуляцию, чтобы через определенное время игра могла перематываться вперед. Construct (Louie) В Garry’s Mod — gm_construct начинал свою жизнь как легкая карта, в которую можно быстро зайти и проверить что-либо. Альтернатива ожиданию загрузки d1_trainstation_02 на протяжении 50 секунд. Когда переделываешь карту для S&box, появляется соблазн сделать её больше, добавить новые зоны, горки, гоночные треки, футбольные поля. Но это все идет в разрез с ее первоначальными задачами. Быстрая загрузка Белая комната (для скриншотов пропов) Черная комната (тестирование энтитей в темноте, создание динамического света для скриншотов) Вода (для тестирования энтитей в воде) Плоские участки (для тестирования транспорта и т.д.) Навмеш (для тестирования ИИ) Ступеньки (для тестирование передвижения) Рампы (для того же) В текущей карте мы пытаемся сохранить внимание на этих требованиях. Это карта для тестирования ваших игр, энтити или моделей. И только для этого. Это также возможность для нас работать над стилем мира и наладить внутренние рабочие процессы, чтобы текстурировать и украшать карту как команда, разбивая ее на блоки и передавая по кругу. Энтити Карты(Garry) Есть что-то, что вызывает некоторую путаницу - это наше отношение к энтити карты. Мапперы, получившие ранний доступ находятся в некотором замешательстве из-за того, что I/O система работает не так, как они ожидали. В данный момент у нас есть уникальная возможность освободить движок от его 20-ти лет итераций. Удалить старые энтити, дать новым более логичные имена, упростить всем работу. Input/Output система теперь полностью на C#. Энтити, которые пытаются работать на стороне C++ ничего не делают. Это означает, что нам нужно удалить C++ энтити, и переписать их на C#. Вот чем мы занимались на этой неделе. Это не столько развлечение, сколько кураторство. Когда мы конвертируем энтити, можем ли мы сделать их лучше, можем ли добавить функции, которые означают, что мапперам не нужно создавать веб систему ввода-вывода, чтобы что-то сделать. Так что, если вы находитесь в devpreview, создаете карту, а энтити ведут себя не так, как вам хотелось бы.. пожалуйста поделитесь этим с нами здесь. Если вы создадите образец карты, и прикрепите его, как, например, это сделал этот юный разработчик, это очень поможет ХП - Число с Плавающей Точкой Когда я спросил в Discord сервере, следует ли мне изменить значение здоровья с int на float (прим. пер. Int - тип данных, отвечающий за представление целых чисел, то есть 1, 2, 3, float - за представление дробных, то есть 1.23, 45.6), это вызвало бурю негодования. Я не понимал, почему, поэтому спросил. Оказывается, люди думали, что это будет означать, что здоровье будет отображаться на HUD, например, 98.34534f. Так что здоровье сейчас дробное. На мой взгляд, это более удачное решение, поскольку дробное добавление или вычитание за тик является довольно распространенным явлением, и становится намного сложнее из-за того, что оно является int. Ошибки компиляции Наш генератор кода теперь может показывать ошибки и предупреждения, если вы напортачили. Я думаю, что в будущем мы могли бы расширить функционал, чтобы он стал даже полезнее.. Например, в случаях, когда вы получаете доступ к клиентским штукам в серверных функциях. Динамические Меши (Layla) Я добавил поддержку создания и обновления буферов вертексов и буферов индексов в GPU. Их можно использовать для создания мешей через код. Данные буфера могут быть установлены и обновлены в любое время, произойдет блокировка данных в GPU, что позволит произвести запись. Это позволяет нам создавать сетки со многими треугольниками в среде выполнения, т.е. кодом Я использую этот API для создания воксельной песочницы. Вы можете опробовать его прямо сейчас, мы будем работать над режимом многопользовательской игры. Улучшения производительности (Garry) ХРАНЕНИЕ ПРЕДИКЦИИ После того, как произойдет предсказание(на стороне клиента), мы делаем бэкапы всех предсказанных переменных для всех предсказаний энтити. Это делается для сравнения результата клиентской стороны с результатом сервера, когда сервер просчитывает этот тик, и отправляет все сетевые переменные обратно, таким образом мы можем принять меры, если переменные различаются. Кто-то в discord упомянул, что с тонной предикций энтити работает хреново, поэтому я сделал оптимизирующий проход и ускорил всё в 40 раз, так что теперь даже в vprof ничего не регистрируется. КОМПИЛЯЦИЯ При редактировании игрового режима и горячей компиляции этих изменений мы также компилировали базовый аддон. Я исправил это, так что теперь ему нужно скомпилировать только то, что вы изменили. В лучшем случае, это происходило в 2 раза медленней, но исправление ускорило процесс в 8 раз.. В худшем случае это происходило за секунду-две, но теперь оно сокращено до долей секунды и чувствуется в разы лучше. ФАЙЛОВАЯ СИСТЕМА Я нашел проблему в том, как Zio выполнял поиск файлов в общей файловой системе. В одном из моих тестов поиск в нашей основной папке для “*_c* занял более 10 секунд В live версии вызов Assets.LoadAll на клиенте обычно занимал 3-4 секунды. Теперь этот показатель снизился до 0.07 секунды. В целом, данное исправление ускорило загрузку каждой карты более чем на 6 секунд. Статистика Пакетов Я начал отслеживать время проведенное в играх в начале этого месяца. Поэтому у нас есть своего рода таблица лидеров - как для игр, так и для карт Со временем, она перестанет выглядеть, как дерьмо, но вы можете углубиться в свою игру или карту, чтобы увидеть статистику использования за день. Одна из причин, по которой мы хотим отслеживать эти статистические данные, заключается в том, чтобы монетизировать их.. чтобы люди не делали контент просто так. Идея заключается в том, что мы можем брать лучшие игры каждый месяц, и выплачивать за них в зависимости от их позиции, или игровых часов/игровых часов в пределах часа. Это все будет уточнено позже, но для меня важно, чтобы на этот раз мы позволили разработчикам каким-то образом извлечь выгоду из их работы. Если нет, то почему бы вместо этого не приложить дополнительные усилия для создания игры в Unity? Одежда Ситизенов (Taylor) Вместе с тем, как Макс(Maxim_Lebled) объединял CitizenV2 в этом месяце, мы пересматривали одежду ситизенов. Старые пару стилей не очень понравились нам, вручную нарисованный вид выглядел очень резким рядом с чем-то с реалистичным или грубым стилем. Обновленный стиль - это все о реалистичных материалах на мультяшных пропорциях граждан. Сшитый на заказ костюм должен выглядеть так, будто он сделан из ткани, а их умные туфли должны выглядеть так, будто они сделаны из кожи. Вот беглый взгляд на обновленный костюм: Мы стремимся сделать все как можно более модульным, предметы могут быть использованы повторно во множестве различных нарядов, и должны быть окрашиваемыми, где только возможно. Физика со Значением Шага по Времени(Garry) Я добавил пару физических параметров, чтобы помочь Конне с бильярдом У него были проблемы с шарами, проходящими через другие шары с высокой скоростью, поэтому я добавил Global.PhysicsSubsteps, которые вы, вероятно, захотите изменить только в определенных обстоятельствах. Я также добавил Global.PhysicsTimescale. Если вы подключите его к MathF.Sin то получите хороший лагучий enumerator ГМодовского сервера. Итоги Хороший стандартный месяц в этом месяце. Ничего удивительного, ничего слишком блестящего - просто сортировка говна, с каждым днем его становится немного меньше. В течении следующего месяца я бы хотел, чтобы у нас было больше направлений в стилистике мира. Я бы хотел, чтобы карта construct была в значительной степени выполнена, и в идеале не использовала никаких ассетов из Rust. Я бы хотел, чтобы система тусовок работала, и тусовка следовала за хостом в игры. Я хотел бы автоматически скрывать игровые режимы, которые генерируют ошибки компиляции. Я также хотел бы, чтобы работал VR, даже если вас от этого тошнит. Я также очень хотел сделать бы пару собственных игровых режимов, и добавить больше вещей в DM98. Мы должны сбалансировать то что хотим сделать, с тем, что нам нужно сделать для сообщества, потому что этот список не сокращается сам по себе, но проверка собственной игры это достаточно хороший способ добраться до сути фундаментальных проблем.
  4. OriginalShaman

    S&Box DevBlog Апрель 2021

    S&Box DevBlog Июль 2021 *Повествование ведется от первого лица, так как текст - это перевод с официального сайта разработчика игры. «Мы провели dev превью и потратили целый месяц на уборку беспорядка» Dev Превью(Garry) Самое важное событие этого месяца заключалось в выдаче доступа некоторым разработчикам. Это где-то меньше 100 ключей. Это было ВЕЛИКОЛЕПНО для нас, показать на чем мы должны сконцентрировать энергию, чего не хватает, что мы портим. Не только в плане игры, но и в плане поддержки разработчиков, документации типа Wiki, дискорда, отчетов об ошибках, просьб о добавлении новых фич и баг репортов. Мы смогли привести все это в порядок, так что мы можем строить на этом будущее. Само собой, теперь нас донимают насчет ключей, поэтому мы раздаем ключи по номинациям. Люди, имеющие доступ, номинируют тех, кто должен получить ключи. Само собой это обречено на предвзятость, нечестные выборы, борьбу за популярность, не лучшая реализация, но пока что оно служит своей цели - передать ключи в руки способных людей. Наконец, хочу подчеркнуть, что это dev preview. Здесь не во что играть. Мы работали над основой последние 4 месяца. Поэтому, если ты игрок и хочешь поиграть в GMod2, то это не для тебя, не ожидай многого - ты разочаруешься, если получишь доступ. Масштабирование (Layla) Я добавил инструмент масштабирования в режим песочницы. На самом деле я изначально забыл добавить проверку, чтобы он не работал на игроках, потому что я посчитал, что это просто не будет работать. Оказалось, все работает без всякой надобности кодить что-то особенное для этого - поэтому я оставил это как есть Dev Сайт(Garry) Я потратил пару недель в апреле, настраивая девелоперский сайт s&box, который позволяет людям загружать их игры и карты. Он, все еще, очевидно, находится в разработке, здесь есть много над чем подумать, и одна из причин пригласить разработчиков заключалась в том, чтобы заставить нас подумать об этом в самом начале. ОРГАНИЗАЦИИ Мы организуем ассеты в организации. Это значит, что конфликт с названиями не произойдет. Так, если вы хотите поиграть в flatgrass от facepunch, то можете открыть консоль и ввести «map facepunch.flatgrass». Если же хочется поиграть в sandbox от facepunch, то можно ввести в консоль «gamemode facepunch.sandbox». В реальном случае не нужно будет вводить это в консоль (потому что есть UI), но в игре это работает так. КОНТЕНТ Можно добавлять контент в свою организацию. Под этим подразумеваются пока лишь карты и игровые режимы, но в будущем это будет затрагивать и кучу других вещей, которые пока у меня лишь в планах. Важное замечание: в системе игровые режимы и карты - одно и то же. Конечная цель заключается в том, что если вы создаете карту и загружаете ее в эту систему, то сможете добавить ачивки и смотреть статистику игры так, как это было бы в игровых режимах. Контент также может быть загружен множеством разных способов. Я представляю, что это будет развиваться со временем, к примеру, предоставление разделенных загрузок хоста и клиента. Дистанционные карты Это заняло несколько дней, но я заставил дистанционные карты работать. Так что, если вы пытаетесь загрузить карту которой у вас еще нет, она запросит бэкенд, и спросит об этом. Затем он скачает и загрузит карту. Никакой ручной загрузки, никакой установки, просто игра. На самом деле это настолько быстро, что вы даже не знаете, что это происходит большую часть времени. Когда вы думаете о загрузке карты, то вы вероятно думаете о том, как вы лет 10 назад ждали минут 20, пока карта загрузится с сервера со скоростью 30 кб/с. Это всё не то. Папки Ассетов У Valve была следующая система ассетов: /content/alyx/models/gman.mdl <-- исходные файлы /game/alyx/models/gman.mdl_c <-- скомпилированные файлы И я изменил ее на более аддоно-подобную. /game/addons/sandbox/content_src/models/balloon.mdl /game/addons/sandbox/content/models/balloon.mdl_c Что-ж, в этом месяце я решил что она(система) тоже сосет, так что теперь она такая. /game/addons/sandbox/models/balloon.mdl /game/addons/sandbox/models/balloon.mdl_c Логика здесь примерно такая. Нахождение ресурсов в отдельных папках определенно имеет свои преимущества. Оно создает четкую грань между тем, что должно быть упаковано, и что не должно. С другой стороны, появляется ещё одна сбивающая с толку вещь, которую необходимо объяснить. Это ещё одна папка, о которой нужно знать, но гораздо приятней хранить связанные друг с другом файлы вместе. Ведь понятно, какие файлы исходные, а какие - скомпилированные, потому что скомпилированные файлы заканчиваются на _c Поэтому я решил, что это для нас путь вперед Культурный Конфликт Когда люди начали играть, произошло нечто забавное, о чем я бы никогда подумал. У игроков из СНГ запуск прерывался чёрным экраном. У них не работала обработка таблиц со стилями. Я не учёл то, что работа функции float.Parse зависит от языка. На английском языке ожидаются дробные числа с точкой, например “1.23”, в то время как на русском вместо точки используется запятая: “1,23”. Я это починил и теперь наши русские разработчики могут играть без проблем. Citizen V2(Maxime) Вместе с Тейлором мы доработали модель Гражданина, чтобы заложить добротную основу не только для нас, но и для всех, кто хочет создавать одежду, анимации и т.д. для этих забавных ребят. Мы взяли оригинальную модель и переработали ее с нуля, чтобы лучше воспользоваться преимуществами Source 2, с совершенно новыми мешами и наборами материалов. В основе лежит все тот же персонаж, только более отполированный и функциональный.. Хотя визуальные изменения незначительны, большое количество изменений находится “под капотом”. Здесь совершенно новые риги с намного более плавной развесовкой и процедурными хелперами. Новой версии пока что нет в preview билде; Она заменит старую где-то в мае. Вы можете взять текущий исходный файл здесь. Если вы уже начали работу над одеждой для первой версии модели, то нужно подправить ее под новые привязки позы. Имейте ввиду, что s&box находится в стадии активной разработки, и мы не можем гарантировать, что с очередной обновлением ничего не сломается! Левел Дизайн и Творчество(Louie) Я потратил большую часть месяца на создание пары визуально приятных карт, пытаясь помочь закрепить стиль наших уровней, одновременно предоставляя немного разнообразия в дизайн уровней. Эта карта является одной из самых больших, которые мне доводилось делать. Я старался делать открытые и закрытые пространства, как в шутерах девяностых. Это помогло избавиться от некоторых идей для интерьеров научных / складских творческих ассетов, и также, я чувствую, что хотя оно и не последнее, но хорошее направление для улучшений. Это карта для дезматча, которая была показана в последнем блоге. Она основана на бруталистской архитектуре, что позволило ускорить создание карты, так что нам не пришлось весь день наблюдать ее без текстур, но также она выглядит скучно, поскольку она очень серая. Это, пожалуй, не то направление, в котором мы хотим двигаться. Горячая Загрузка Анимграфов(Layla) Горячая загрузка анимграфов не работала, но теперь работает. Взрывы Данные взрывов могут быть настроены в ModelDoc, если энтити - проп, он будет использовать данные чтобы приложить силы и нанести урон в пределах радиуса. Это также может пригодиться вашим кастомным энтити. Ползунки Свойств Свойства значений в инструментах раньше были без ползунков, теперь можно зажать и перемещать курсор возле окна значения, чтобы поменять последнее, как у большинства других инструментов. Тестовые Игры(Conna) Меня пригласили в Facepunch в начале этого месяца, и с того момента я пытаюсь сломать игру. Целью было тестирование API и нахождение каких-либо проблем или мест, которые можно было бы улучшить для игроков, желающих создавать всякого рода игры. Концепт Арт(Howie) Энтити Освещения(Layla) Создать динамический свет проще простого: в нашем распоряжении есть точечные, направленные и ортографические источники света. Это также просто, как создание энтити и настройка его световых свойств. Динамический свет также может быть использован для фонариков. Итоги(Garry) Это действительно ощущается как ранняя разработка GMod. По утрам исправляются баги, по вечерам - что-то улучшается. После сна всё по-новой. Каждый день что-то становится лучше. Какое-то время мы продожим так работать. Будем чинить баги, направлять запросы и экспериментировать. Я уже нашел немного довольно больших вещей, которые я хочу исправить и переработать, чтобы сделать все проще для всех в будущем. Это лучший период разработки для меня. Люди развлекаются от разработки, никто не угрожает рефандом, если я что-то не поменяю обратно. Все показывают, что они сделали - как волшебники показывают друг другу фокусы.

Подписывайтесь на нас во Вконтакте!

×
×
  • Создать...
Искать в
  • Ещё...
Поиск контента, содержащего...
Поиск результатов в...

Напишите свой запрос, а Мы попробуем найти ответ!