GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

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

split97 split97

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

split97 split97

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

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

ScorpioT1000 ScorpioT1000

Ну, здравствуй, брат-квадрат

Dzeste Dzeste

Имхо, 4 самый крутой, интересная форма маски и приятные очки. 5 не понравился больше всего из за бесцветных линз, как-то не смотрится

Sporwiev Sporwiev

alexprey, помогите пожалуйста, у меня много чего подчеркивает красным, несмотря на то что код я копировал
FindEmptyState()

AstronBH AstronBH

Всем привет! Я разработчик игры Beast Hour, асимметричного PvP-хоррора от 3-го лица с паркуром и монстрами. Мы работаем над подземельем и окружением. Как вы думаете, что за эксперименты тут происходили...

...
AstronBH AstronBH

Всем привет! Я разработчик игры Beast Hour, асимметричного PvP-хоррора от 3-го лица с паркуром и монстрами. Что думаете о нашем проекте?
https://store.steampowered.com/app/1563250/Beast_Hour/

Jusper Jusper

Zemlaynin,

Ну то бишь в основе проекта ты все равно один :) Красава)

Zemlaynin Zemlaynin

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

Логотип проекта Slash Polygon: Tournament

О разработке на этой неделе

О разработке на этой неделе

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

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

Экипировка

Изменение претерпела система экипировки и некоторые базовые правила. Изначально мы предполагали, что кумулятивная броня персонажа состоит из трех компонентов - грудь, ноги, голова. После ряда плейтестов и комбинаций решили расширить список, попутно объединив два слота (кисти и наручи) в один. Таким образом за увеличение параметра брони отвечают теперь 6 типов предметов:

  • Нагрудник
  • Шлем
  • Штаны
  • Ботинки
  • Наплечники
  • Перчатки

Это же dev-blog, верно? Давайте немного расскажу, как у нас все устроено.

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

Наш скелетик — О разработке на этой неделе — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (devblog, ecs, GameDev, slash polygon, блог, геймдизайн, игровой баланс)
Наш скелетик

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

  • Ладони
  • Предплечья
  • Плечи
  • Корпус
  • Ноги (Hips)
  • Ботинки (включат икры и ступню)
  • Голова
  • Волосы
  • Борода
  • Брови

При запуске игры система читает описанные в заданном формате данные кастомизации и собирает игрового персонажа по кусочкам.

Наш Франкенштейн — О разработке на этой неделе — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (devblog, ecs, GameDev, slash polygon, блог, геймдизайн, игровой баланс)
Наш Франкенштейн

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

      {
        "ComponentType": "DressComponent",
        "Properties": {
          "hide_parts": [   
            "HandRight",
            "HandLeft"
          ],
          "slot": "Hands",
          "female_resource_ids": [
             "Chr_HandLeft_Female_13",
             "Chr_HandRight_Female_13"
          ],
          "male_resource_ids": [
             "Chr_HandLeft_Male_13",
             "Chr_HandRight_Male_13"
          ]
        }
      }

Однако набор наших мешей для ладоней визуально друг от друга мало чем отличается (порядка 2-3 разновидностей). Для улучшения эффекта мы стали менять сразу и предплечья, и ладони. Такой выбор, как нам показалось, увеличит вариативность за счет комбинаций и даст более ощутимый эффект надетого предмета.

Переписывать код для этого не пришлось. Мы просто изменили описание объекта в компоненте сущности:

      {
        "ComponentType": "DressComponent",
        "Properties": {
          "hide_parts": [
            "ArmLowerRight",
            "ArmLowerLeft",
            "HandRight",
            "HandLeft"
          ],
          "slot": "Hands",
          "female_resource_ids": [
            "Chr_ArmLowerLeft_Female_06",
            "Chr_HandLeft_Female_13",
            "Chr_ArmLowerRight_Female_06",
            "Chr_HandRight_Female_13"
          ],
          "male_resource_ids": [
            "Chr_ArmLowerLeft_Male_06",
            "Chr_HandLeft_Male_13",
            "Chr_ArmLowerRight_Male_06",
            "Chr_HandRight_Male_13" 
          ]
        }
      }

Интерфейсы

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

В среднем окно настройки выглядит так:

Редактор персонажа. Волосатая вкладка — О разработке на этой неделе — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (devblog, ecs, GameDev, slash polygon, блог, геймдизайн, игровой баланс)
Редактор персонажа. Волосатая вкладка

Баланс

С точки зрения баланса добавление слотов потребовало доработать модель данных (дизайнерскую, не путать с программной), о которой я рассказывал ранее в статье, путём добавления туда коэф. для расчета брони на новых слотах:

Модификаторы брони по слотам — О разработке на этой неделе — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (devblog, ecs, GameDev, slash polygon, блог, геймдизайн, игровой баланс)
Модификаторы брони по слотам

Соответственно посчитать броню для всех остальных в таблице не составило сложности - ведь у нас есть параметр iLevel, все остальное за нас сделает формула! :)

Баланс сета экипировки — О разработке на этой неделе — Slash Polygon: Tournament — DevTribe: инди-игры, разработка, сообщество (devblog, ecs, GameDev, slash polygon, блог, геймдизайн, игровой баланс)
Баланс сета экипировки

А чтобы все это заработало в проекте достаточно было просто добавить в существующие сущности перчаток, наплечников и ботинок компонент, отвечающий за хранение данных брони и ссылки на сами цифры. Минут 10 копипасты и победа - 3 новых типа экипировки для прокачки игрокам готовы.

Видео

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

Запись игрового процесса

на записи есть Настройка внешности, Экипировка и, собственно, сама боевка

Кстати список мест, где мы выкладываем наши материалы:

C вами был Jusper, до новых этих самых.

Смотрите также:


Комментарии



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

win20082007, я могу в следующей статье на этом подробнее остановиться.

win20082007, но в целом основной вопрос стоит в сжатии текстуры (не меньше 16 бит) и так называемых "допусках" в мешах, чтобы не было Z-Fight-ов.

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

Справка