Уже создаётся великолепная атмосфера
Продолжаем вам показывать ход разработки игры.
Шлифуем, оттачиваем.
Трудимся над анимациями и звуковой картиной, чтобы вы остались довольны высоким качеством проработки Liber 2.
Продолжаем вам показывать ход разработки игры.
Шлифуем, оттачиваем.
Трудимся над анимациями и звуковой картиной, чтобы вы остались довольны высоким качеством проработки Liber 2.
За этот год я успел завершить прототипирование локаций. Теперь игру можно пройти от начала и до конца хоть и в тестовых локациях. Кроме того закончил работу над диалогами.
Всего получилось 12 уровней, которые рассчитаны где то на 3-3.5 часа прохождения. Цифра очень приблизительная, потому что основывался на своём прохождении.
Несколько уровней, как они выглядят со стороны.
В следующем году я буду наконец одевать локации уже в нарядные модели и приводить игру к финальному состоянию.
Делаем вдвоём с товарищем игру на Unity. Давно хотелось сделать шутер в духе Clustertruck, где окружение постоянно и быстро движется.
В понедельник стартует Steam Next Fest и мы как раз успели закончить свою новую демку. Она уже доступна для скачивания тут: https://store.steampowered.com/app/1968710/MEATGRINDER/
Почти полтора года назад я узнал что есть такие штуки как движки для игростроя, и они бесплатны.
Я выбрал Unreal Engine потому что в нем есть блупринты, потому что в программирований я был полный ноль, да и во всём остальном тоже, не петь ни рисовать.
Придумал идею об астронавте который во время миссии на луне попадает в переплёт между двумя видами инопланетян.
Точнее одни живут на луне, а другие прилетели их истреблять и захватить спутник перед вторжением на землю.
Запустил движок, начал его изучать попутно визуализируя свою идею на экране.
Пришлось
перелопатить тонны информаций, пересмотреть километры туториалов на
Ютупе, допустить тысяча и одну ошибку, а потом найти её и исправить.
"Кто-то из пикабушников в коменете к предыдущему посту кинул идею сделать гонку по луне (комент я не нашел, наверное удалили)
и я сделал такой уровень, гонка по луне под обстрелом вражеских НЛОшек"
И вот спустя почти полтора года игра готова на 98% и я сделал для неё страничку в стиме, пройдя все проверки.
Решил
сделать выпуск игры через два месяца, чтобы голова маленько отдохнула и
я мог посмотреть на игру по другим углом, возможно замечу какие-нибудь
недочёты.
Всем спасибо за внимание!
Ссыль https://store.steampowered.com/app/1893260/Vacuum/
Заменил скрины на более свежие.
Представьте себе современный одиночный шутер. Вы продвигаетесь по уровню, как вдруг на вас из-за угла выскакивает противник. Ваша автоматическая реакция — открыть огонь. Если около противника стоит красная бочка — выстрелить в бочку. Когда в пылу боя закончатся патроны — переключиться на пистолет и добить выживших. А если экран покраснеет — схорониться за забором и отсидеться секунд пять.
Такое сейчас почти во всех шутерах. Линейные уровни с врагами-мишенями и регулярными кат-сценами не особенно напрягают мозг, но развлечь всё равно могут, — особенно если игрок просто хочет расслабиться.
Но так было не всегда. Ещё двадцать лет назад чуть ли не каждый уважающий себя шутер заставлял игрока не только метко стрелять, но и шустро думать и хорошо ориентироваться на местности. И сейчас мы вместе с геймдизайнером Сергеем Праздничновым и нарративным дизайнером Константином Файзуллиным разберёмся, как и почему шутеры со временем стали проще.
Doom Eternal
Автор: Юрий Кулагин
1990-е годы были золотым для шутеров временем, когда разработчики экспериментировали с любыми деталями жанра. Иногда с сеттингом, из-за чего появлялись миры зомби-нацистов и демонов в космосе, иногда — с арсеналом, в котором оказывались уменьшающие пушки и фермерские вилы.
Поэтому в классических Doom, Quake и Duke Nukem 3D сложился уникальный геймдизайн, от которого сейчас в жанре почти не осталось и следа. В его основе лежали две концепции, которые мы в рамках материала назовём «головоломкой» и «глаголами».
Duke Nukem 3D
Головоломка
«Головоломка» в шутерах — это задача, в которой должен разобраться игрок. Она разбавляет и разнообразит постоянную стрельбу, а в процессе её решения игрок понимает, что может и не может сделать, выбирает оптимальные действия, пытается просчитать ходы соперников. Свои решения он выражает в знакомых действиях — пойти в обход, рваться напролом, выбрать оружие и открыть огонь.
Сергей Праздничнов, геймдизайнер:
Геймплейная головоломка — это как торт с несколькими слоями. На верхушке лежит умение и навык прицеливаться, двигаться и так далее. Потом добавляется слой, связанный с тактикой — игрок заучивает карту, объекты и шаблоны поведения ИИ, если он есть. Самый глубокий слой — это непосредственно интеллектуальное сражение с противником в мультиплеере, когда ты не смотришь на взрывы и эффекты, а пытаешься прочесть замысел противника и переиграть его.
Titanfall 2
Головоломку в шутерах можно реализовать по-разному, отталкиваясь от разных элементов геймплея. Например, в Titanfall 2 она привязана к местному паркуру: и в мультиплеере, и в одиночной кампании игроку приходится анализировать обстановку и не забывать, что враг может зайти не только сбоку и со спины, но и сверху или снизу. А дизайн уровней подталкивает и самого игрока к тому, чтобы тот активно осваивал местное перемещение и бодрее скакал по стенам.
В Doom 2016 года за элемент головоломки отвечает система здоровья и добиваний. Когда у главного героя остаётся мало здоровья, механики провоцируют игрока рваться вперёд и рисковать, чтобы подлечиться за счёт удачно добитого противника. Если игрок смог разгадать головоломку, то он правильно рассчитает своё здоровье, расстояние до врага и атаки, от которых предстоит увернуться. Если не смог — тоже не страшно, ведь контрольные точки расставлены весьма щедро.
Мультиплеерные шутеры предлагают другой тип геймплейной головоломки. В Counter-Strike, Tom Clancy’s Rainbow Six: Siege или классическом Unreal Tournament изучение механик — это просто подготовка к интеллектуальной битве с живыми людьми. Игроку нужно разгадать действия противника и найти для них подходящий ответ, а сам шутер при этом становится только оболочкой.
Unreal Tournament
Глаголы
«Глаголы» — это действия, которые доступны игроку. Обычно их список состоит из «выстрелить», «взорвать», «ударить прикладом», «побежать», «присесть», «перезарядиться». Но гораздо интереснее, если этих действий становится больше на десяток-другой, ведь тогда в геймплейной головоломке появляются новые элементы, которые игрок может использовать.
Действия провоцируют игрока на очень важный вопрос — «что будет, если?». Чем больше на локации путей, чем больше в арсенале разнообразного оружия, тем чаще игрок будет экспериментировать с новыми тактиками и приёмами. В шутерах — жанре, в котором убийство врагов выводится на первый план, — это особенно важно.
Crysis
При этом глаголы могут зависеть не только от оружия, но и от способностей персонажа. Например, в Crysis у игрока есть нанокостюм, в котором тот ощущает себя чуть ли не богом. У костюма есть сразу несколько способностей, и игроку хочется их испытать в разных условиях, поэкспериментировать, по-разному сочетать.
Также важно, чтобы игра не наказывала игрока за эксперименты — любая выбранная тактика при правильном исполнении должна привести к победе. Такой подход активно, но недолго эксплуатировала студия Rare — авторы не только недавней Sea of Thieves, но и культовых GoldenEye 007 и Perfect Dark.
GoldenEye 007
Сергей Праздничнов, геймдизайнер:
Например, в GoldenEye 007 разнообразие игрового процесса обеспечивается тем, что игрок может принять много разных решений. Захочет он пойти с глушителем и ножом — пожалуйста. Захочет в лобовую — никто не будет ему мешать. В идеальном варианте количество вариантов должно быть больше похожим на жанр immersive sim.
Идеи GoldenEye 007 разработчики из Rare развили в Perfect Dark, которая вышла в 2000 году и предложила ещё больше разнообразных глаголов. Игрок мог выцеливать разные части тела противников, чтобы нанести больше урона, и выбивать оружие из их рук. У самих же врагов могли закончиться патроны, а в безвыходной ситуации они сбегали с поля боя и прятались где-нибудь на локации.
Perfect Dark
Во многих современных шутерах игроку дают ограниченное количество глаголов, поэтому и вопрос «что будет, если?» почти не возникает. Основные действия повторяются настолько часто, что быстро заучиваются. В том же Battlefield игрок знает, что если он выстрелит и попадёт в противника, — тот умрёт, а если промахнётся — то умрёт уже сам главный герой. Но из-за нехватки альтернатив такой процесс становится рутинным.
Чтобы исправить ситуацию, но не переусложнить геймдизайн, глаголы можно выдавать постепенно — например, по одному новому на локацию. В Call of Duty 4: Modern Warfare игроку на разных миссиях предлагают разные глаголы — то нужно куда-то прорваться сквозь волны врагов, то ползти со снайперской винтовкой через заросли травы, то с летающей батареи AC-130 пострелять. В каждой отдельной миссии игрок использует немного механик, но от уровня к уровню их набор меняется, что помогает увидеть игру с нового ракурса.
Call of Duty 4: Modern Warfare
В шутерах старой школы геймплейные головоломки зачастую были сложнее, а глаголов у игрока было больше. Со временем жанр взял курс на зрелищность и постановку, и в таких условиях игроки быстро привыкли, что им просто нужно идти по прямой и стрелять во всё, что движется. Но давайте разберёмся, как именно геймдизайн шутеров пришёл к этому подходу и какие в нём могут быть компромиссы.
Противники стали однообразнее и глупее
Разнообразие врагов не должно сводиться только к внешнему виду, количеству здоровья и вооружению. Если два противника с винтовкой и с дробовиком одинаково перемещаются, одинаково заходят в тыл и так же одинаково умирают, то игрок может убить их обоих, не сильно меняя тактику. По ощущениям они оба будут казаться одним и тем же врагом.
Сергей Праздничнов, геймдизайнер:
В 90е годы выезжать приходилось за счёт открытий и инноваций. Те же Doom, Quake или Duke Nukem 3D запомнились проработанными противниками — они были разнообразными не только визуально, но и по поведению, поэтому требовали больше тактического подхода. В современных же шутерах противники — это часто просто по-разному раскрашенные юниты. Какой-то дохлее, какой-то жирнее, но их поведение сильно ограничено.
Doom (1993)
При этом именно интеллект противников в старых шутерах обычно оставался на довольно базовом уровне. Да, враги вели себя по-разному, но в конкретных ситуациях иногда оказывались непроходимо тупыми. На общем фоне выделялись враги из Unreal и Kingpin, ИИ которых хорошо ориентировался на запутанных локациях и не собирался облегчать игроку жизнь.
Константин Файзуллин, нарративный дизайнер:
В большинстве старых шутеров игрок мог легко убежать от противников, если его не запирали на локации. Он мог уйти в другой зал, начать собирать патроны, а враги будут медленно к нему подтягиваться. Но в том же Kingpin враги умеют много куда залезать, ползать по вентиляционным шахтам — они буквально гонятся за игроком, и оторваться от них не получится. Если уж игрок вступал в бой, то сражение приходилось доводить до конца.
Kingpin: Life of Crime
В современных шутерах ИИ противников часто ограничивают скрипты, которые отправляют врагов только когда игрок наступит на соответствующий триггер. Они не могут выбежать раньше и обычно не патрулируют территорию. Более того, иногда они вообще отсутствуют на локации, пока их не создаст скрипт.
Сергей Праздничнов, геймдизайнер:
Игрока должен радовать чистый геймплей, то есть само взаимодействие с миром и противниками. Даже если это просто горстки пикселей, с ними всё равно будет интересно сражаться, если один враг вынудит взять в руки дробовик, другой заставит быстрее перемещаться и уворачиваться от атак, а из-за третьего придётся вообще отступить и зайти с другой стороны. Такой подход разрешает игроку больше думать, даже нет… Он провоцирует игрока на то, чтобы он думал.
Call of Duty®: Black Ops III
Если сеттинг не позволяет добавить много разных противников, можно сделать врагов одного типа максимально непредсказуемыми. Например, разработчики F.E.A.R. добились этого с помощью хорошо настроенного ИИ и неплохого левел-дизайна.
Арены в игре устроены так, что почти всегда к противнику можно зайти с тыла, свернув в коридор или в боковую комнату, — и враги этим тоже умело пользуются. В результате каждый бой на одной локации отличается от предыдущего, — противники реагируют по-разному, а игроку приходится адаптироваться под них.
F.E.A.R.
Оружие отличается только характеристиками
Интересные механики стрельбы, в совокупности известные как ганплей, — самый важный элемент любого шутера. Хороший ганплей нуждается в дотошной проработке самих процессов выстрела и попадания, а ещё — в разнообразном оружии.
И речь не о сотне винтовок, которые отличаются уроном и скорострельностью, но ощущаются очень похоже. Даже арсенал из десяти пушек можно сделать интересным, главное — чтобы оружие становилось чем-то вроде сверхспособностей. Например, чтобы игрок мог не просто пристрелить врага, а заморозить его, поджечь или обездвижить. Так появляются те самые «глаголы», а вместе с ними — и вариации тактики.
Сергей Праздничнов, геймдизайнер:
В том же Duke Nukem 3D были замораживающие пушки, уменьшающие лучи, даже голограмма для обмана врагов и тазерные датчики. В общем, целый арсеналище, который позволял игроку выработать уникальный стиль прохождения — а с этим ощущением мало что может сравниться.
Borderlands 3
Хороший пример — Borderlands. Разнообразие в ней достигается за счёт случайной генерации арсенала — даже если игроку выпадает из сундука автомат или пистолет, новая пушка может дать небольшой дополнительный щит или служить небольшой гранатой вместо перезарядки.
Также можно отметить дилогию Destiny, хоть и с оговорками. У разработчиков из Bungie было достаточно времени, чтобы набить руку на создании хорошей стрельбы в серии Halo, поэтому и в их лутер-шутере оружейные механики проработаны на совесть, — особенно у редких экзотических пушек.
Destiny 2
Регенерация здоровья заменила аптечки
Автоматическая регенерация впервые появилась в шутере MIDI Maze, который вышел в 1987 году на Atari ST, а в 1991 — на Game Boy под названием Faceball 2000. Долго она оставалась экспериментальной механикой, которая чаще появлялась в платформерах и action-RPG, а вот разработчики шутеров смотрели на неё косо. Всё изменил успешный релиз Halo 2 в 2004 году, после которого механика закрепилась в жанре.
Авторегенерация убирает из игрового процесса менеджмент здоровья. Он может быть реализован по-разному — в некоторых шутерах аптечки применяются сразу, как только игрок их находит, в других их можно складировать в инвентаре и потом решать, когда лучше полечиться. Но в обоих случаях аптечки добавляют целых два глагола в геймплей — восстановить здоровье и найти источник здоровья.
Faceball 2000
Сергей Праздничнов, геймдизайнер:
Регенерация здоровья вредит динамике шутеров, из них пропадает вариативность и возможность выбора. Игроку просто говорят: «Друг, ты ранен — спрячься и здоровье волшебным образом восполнится». Не нужно думать и что-либо делать — зачем, если можно просто подождать несколько секунд? Шутеры старой школы давали раненому игроку пищу для ума — в разгар боя он видел аптечку и сразу представлял, куда нужно бежать и какие действия совершить, чтобы добыть её.
Есть несколько способов совместить авторегенерацию и традиционный подход так, чтобы это не вредило геймплею. В Halo: Combat Evolved у игрока была как обычная полоска здоровья, которую нужно пополнять аптечками, так и щит, который восстанавливался автоматически. В серии Borderlands тоже используется такая механика, хотя и полную авторегенерацию там тоже можно получить с помощью правильной экипировки.
Halo: Combat Evolved
Cо второй по четвёртую игры серия Far Cry использовала сегментированную полоску здоровья. Её отдельные секции восстанавливаются автоматически, если игрок какое-то время не получает урона. Но если сектор израсходован полностью, то игроку приходится использовать шприцы, которые сперва ещё и найти надо. Ну или восстанавливать секторы по одному с помощью специального действия — это долгий процесс, который оставляет персонажа уязвимым.
Наконец, можно сделать так, чтобы здоровье восстанавливалось очень медленно — например, как в серии S.T.A.L.K.E.R. С правильным набором артефактов небольшие повреждения постепенно восполняются сами, поэтому во время долгого перехода или спокойного эпизода игрок может не волноваться о лечении. Но в разгар боя медленной регенерации недостаточно, поэтому приходится запасаться аптечками.
S.T.A.L.K.E.R.: Call of Pripyat
Добрый день. Хочу поделиться историей о том, как я в течении месяца разрабатываю собственную игру, в которую решил собрать все, что я люблю. А именно - иммерсивный рогалик на основе The Binding of Isaac, поощряющий исследование и эксперименты.
В этом посте будут расписаны принципы рандомной генерации, сложности которые я встречал, и идеи, которые реализовываю. А так же много скринов, описания и лирики. Погнали.
Начну я с того, что всего месяц назад впервые открыл Unreal Engine 4. До этого я работал только в GameMaker Studio 2, и мой прошлый проект вы могли видеть около полугода назад. Поэтому какие-то встреченные мной проблемы вполне могут оказаться интересны новичкам.
Я решил скрестить пару игр в одну. Я собирался взять геймплей TBoI, с его сотнями стакаемых артефактов и рандомной генерацией уровня
Взять очень запавшую мне в душу графику и атмосферу малоизвестного рогалика Delver. Пиксельные текстуры и несложная геометрия моделей + объемный свет, и узкие коридоры, полные секретов и врагов. Такая графика мне вполне под силу, учитывай бекграунд дизайнера.
И соединить все это вместе. Вид от первого лица дает огромный потенциал для эффектов будущих артефактов, вроде просвета стен насквозь, двойных прыжков и вообще вертикальной мобильности.
На этот момент я решил что в моей игре точно должна быть интересная вертикальность. Это будет выражаться в двухэтажных тайлах, из которых будет собираться уровень.
Генерация уровня - пожалуй, самая сложная вещь, которая была запланирована в этом проекте.
Я решил изучить то, как она работает в Айзеке, и вот принцип работы:
За основу, на которой располагаются комнаты, используется массив целых чисел, хитро используемый как координаты.
Десятки используются как положение комнаты по Y, а единицы - по X. Таким образом, мы получаем массив координат комнат, в котором можно легко программным методом искать соседние комнаты - если мы хотим найти комнату сверху - достаточно просто вычесть из координаты десятку.
В этой системе берется центральная комната, допустим, 55. Она считается как стартовая. Потом алгоритм проходится по соседним клеткам, заполняя их комнатами. При этом, он проверяет, что бы у комнаты было не больше 1 соседа при установке. Такое условие позволяет создать "коридорность" этажа, в котором отдельные коридоры комнат никогда не зацикливаются.
При этом, когда этаж сгенерирован, алгоритм опознает тупики в разросшейся структуре комнат - в этих местах могут оказаться расположены особые комнаты, вроде сокровищницы, магазина или босса.
Более подробно о процессе генерации уровней в айзеке можно почитать Здесь.
Воссоздание данного алгоритма заняло у меня суммарно больше недели, но результат того стоил. Хотя тут визуально сложно что разобрать...
Мой вариант генерации несколько отличается, в основном по причине использования 3д-графики.
Изначально я планировал понаделать ассетов и собирать из них тайлы внутри анрила - но это оказалось очень неоптимально и медленно. К тому же были проблемы, что отдельные тайлы не успевали прогружаться при быстром повороте камеры.
Эта проблема решилась тем, что я начал моделировать всю основную геометрию уровня в Blender, а затем наполнять ее интерактивными элементами в анриле.
Как можно заметить, тайл сделан с той самой "Вертикальностью". Каждый тайл создается в рамках жестких условий входов и выходов из него, что позволяет бесшовно соединять их при генерации. И, конкретно в моем случая, я решил добавить во все свои тайлы механику второго этажа.
Второй этаж в игре - это довольно труднодостижимое место. Туда редко ведут прямые лестницы или подъемы, иногда можно забраться туда при помощи паркура или подлететь на инерции от взрыва, потеряв здоровье.
Но в награду игрока ждет большее количество ценного лута + иногда есть возможность пройти в особые комнаты без траты ключа. Но, если первый этаж всегда спроектирован так, что игрок может пройти куда угодно, гулять по второму этажу всего этажа не поулчится - его геометрия порой вовсе не соединена друг с другом.
Вот наглядный пример - тупиковый уголок с крайне ценным лутом, в который из своего тайла проходу вовсе нет. Но, есть шанс на генерацию соседней комнаты, которая позволит этот лут собрать. Каковы шансы? Довольно низки. Учитывая, что каждая комната может при генерации быть случайно повернутой, разнообразие такой генерации довольно велико.
В целом, развивая тему "исследовательства" данжа, было понятно что от "комнатности" айзека придется уйти. Некоторые мои тайлы крайне коридорны, и как следствие возникла проблема - игрок мог пропетлять по длинному коридору, и упереться в стену, потому что там конец карты и вообще ничего нет. Неприятно удивленный бесполезностью коридора, игрок должен был топать обратно. Такие "безперспективные" коридоры встречались в каждом тайле, и это очень раздражало. Поэтому я внедрил систему динамических дверей - в каждой комнате они находились не в самом "краю" тайла, а в указанном месте, обычно - в самом начале такого коридора, просто обрезая его и делая незаметным для игрока. Вот пример:
Вот эта стена с красной стрелкой - дверь, которая остается неразрушимой, если в конце коридора с той стороны конец карты. А если там есть комната - то при генерации стена убирается, открывая игроку проход.
Ну, или если по ту сторону - секретная комната, то дверь перекрашивается в другую текстуру с малозаметным крестиком. И такую стену можно взорвать, открыв проход. Система динамических дверей по факту работает и на сложность нахождения этих секретных проходов - так как разрушаемые стены гладко вписаны в окружение, их легко пропустить.
В целом, если данный материал окажется интересным, я запилю продолжение, благо рассказывать есть много чего. И про методы генерации лута на основе весов, и про особенности и принципы геймдизайна и левелдизайна, навязываемые геймплеем, и про принципы реализации системы артефактов.
Могу так же более подробно углубляться в сам процесс реализации данных систем на блупринтах анрила - с примерами элементов кода и его описанием. Если интересно.
Если хотите следить за развитием проекта - основной движ происходит тут.
https://vk.com/crystallpunk Тут же можно найти много геймплейных роликов.
А на этом, спасибо вам за внимание, и вот вам немного скриношов текущего игрового процесса напоследок.
Всем, привет! Продолжаем делится новостями нашего игрового проекта Turbo Sloths - гонки на выживание с реактивными двигателями и оружием. С момента последнего поста было сделано многое, устранены некоторые баги, улучшили режим арена (покажу его чуть позже), добавили некоторые эффекты на разрушаемые объекты и сейчас работаем над боссами. На этот раз мы записали видео с новой локацией. Мы тестируем "рейл ган" - дальнобойное оружие, позволяющее уничтожить противников с одного выстрела, а так же "ударную волну" - оружие ближнего боя, отбрасывающее и уничтожающие все вокруг. Пишите ваши идеи, какое еще оружие можно добавить в проект!
В этой верcии не все эффекты доделаны, например нет эффектов при бурении асфальта, просьба строго не судить:)!
Пару слов про погоду, в игре есть различные погодные условия, например на этой карте идет легкий дождь, погода влияет на устойчивость машины на дороге. Так же можно выбирать время дня и ночи:)
Если вы хотите посотрудничать с нами, пишите в дискорд Kirill Reznichenko#2672 буду рад обсудить любые предложения. Мы небольшая компания и это наш первый проект. Сейчас мы ищем в команду пиарщика, маркетолога и комьюнити менеджера, если интересно пишите обсудим:)
P.S. Кому понравился наш проект будем рады если поддержите добавлением в вишлист на Стим и подпиской в наш дискорд.
Админам отдельная благодарность).
Спасибо, друзья!
У нас новая игра: нужно расставлять по городу вышки связи так, чтобы у всех жителей был мобильный интернет. И это не так просто, как кажется. Справитесь — награда в профиль ваша. Ну что, попробуете?