Сейчас плотно сижу над полировкой русской локализации на стартовых этапах (там, где игра запоминается больше всего). Параллельно чиню баг с треем из четырех кнопок (Информация, Переместить, Улучшить, Инвентарь), которые при нажатии на штаб (HQ или же Headquarters) начинали хаотично дёргаться вверх-вниз.
Часть фундаментальных планов до релиза: — Переписать серверную часть на другой язык (для надежности и защиты). — Прогнать синтетические тесты всех запросов клиент-сервер. — Вычистить оставшиеся графические артефакты.
Мой первый пост, с чего всё начиналось,здесь: (ОТКРЫТЬ ПОСТ)
Связаться со мной можно через Telegram - @J1mmy_McGill Более подробные девблоги (что именно ломается и как чиню) публикую в закрытом канале.
Как-то два года назад, мы с другом подумали, а почему бы нам не попытаться создать свой собственный инди-проект, со скромным скоупом на полгода, так сказать ради спортивного интереса. И... в результате нас затянуло в сам процесс создания настолько, что игра начала разрастаться, сжирая в разы больше времени, чем до этого планировалось. Из простенького одиночного хоррора с необычными механиками, он трансформировался в мрачный, хардкорный, кооперативный сурвайвал-хоррор в ретро-стилистике, с глубокими неказуальными игровыми механиками.
Хочется немного поделиться не совсем тривиальной историей создания проекта, который не пытается держать игрока за дурака, а дает ему возможность собственного эксплоринга механик и челлендж который интересно принять с друзьями.
С чего всё началось
Идея родилась из любви к старым хоррорам и иммерсив играм вроде System Shock 2, Dead Space, Resident Evil, тайтлам от Frictional games, на самом деле список референсов просто огромен, и в связи с этим игра, можно сказать, набрала с миру по нитке в процессе развития, так как постепенно обрастала различными механиками. В качестве движка мы выбрали Unity, так как у моего друга уже был опыт работы в нем. Немного провозившись с запеченным светом, взвесив все за и против, мы решили остановиться на полном динамическом освещении, т.к. мы хотели реализовать очень быструю загрузку левела, даже на старых системах, и с определенными оптимизациями, у нас это получилось. С fps у нас проблем не было, фреймрейт был и остается стабильно высоким.
Система освещения стала полностью динамической
Дизайн-документ отсутствовал как таковой, игра была скорее экспериментальным миксом, где хаотичность только добавляла креативности. Смелые решения, на которых строилась игра, были изначально рассчитаны исключительно на нишевого любителя. Поначалу игра позиционировалась как гораздо более простое одиночное выживание, но с тактическими элементами, где нужен менеджмент ресурсов, правильное распределение своих запасов и своевременный поиск новых а также спасение сотрудников станции, которые становятся тебе подконтрольны, что в дальнейшем и раскрывает глубину стратегических решений в игре.
Инвентарь весьма ограничен, но есть способы это исправить в игре
Но все это требовало большого объема работы, и в результате незаметно переквалифицировало скромный проект, практически, в игру мечты с высокими амбициями. Сроки сдвигались все сильнее, механики рождались одна за другой, каждое новое тестирование порождало новые баги и правки на уровне геймдизайна. Например интересно было попробовать завязать на физике игровые ситуации, обыграть их применение, иногда даже получались забавные моменты.
Пошёл на боулинг с друзьями. Правда, они не знали, что будут кеглями:)
Вдохновением во многом послужили такие классические хоррор-киноленты как Чужой, Нечто и даже Хищник. Мы не ставили перед собой задачи сделать сюжетную игру, лор игры минималистичен, и больше опирается на атмосферную подачу, а основной акцент сделан на геймплее и метаигре. Сама природа проекта предполагала определенный темп поддерживающий напряжение и интерес выживания, так как читать записки сейчас попросту никому не интересно, да и к тому же опасно в таком экстремальном окружении.
Пробираться сквозь такие "заросли" - то еще удовольствие...
Акцент в игре сделан не на пресловутых скримерах, а скорее смещен на психологическое напряжение вызываемое исследованием запутанного лабиринта в экстремальных условиях. То что происходит внутри головы игрока, когда мыслительный процесс переплетается с чувством беспомощности вызываемым отсутствием у игрока вооружений способных полностью уничтожать враждебных существ, подобно играм Frictional games, добавляет напряженности в игровой процесс. Вообще, изначально механика рассудка в нашей игре и была вдохновлена непосредственно Amnesia: The Dark Descent, Call of cthulhu: Dark Corners of the Earth. Помутнение зрения, головокружение, замедление передвижения, сердцебиение и тяжелое дыхание заставляют считаться с психическим состоянием команды. Все эти эффекты мы добавляли с целью увеличения погружения игрока, иммерсивности.
Иногда лучше просто избегать встречи с некоторыми существами.
Некоторые интересные игровые элементы перекочевали напрямую из Silent Hill, одного из опаснейших монстров в игре можно засечь по радиопомехам усиливающимся по мере его приближения. Это натолкнуло нас на идею обнаружения некоторых противников при помощи специальных гаджетов: сканеров, специальных галогеновых ламп, сонаров или банально по шуму шагов, по задумке это должно было заставлять игроков быть всегда начеку и держаться в группе, разделяясь лишь по острой необходимости.
Различные комбинации перков дают разнообразные стили игры
Раздача приказов и быстрое параллельное управление юнитами вылились в систему управления отрядом, которая буквально случайно получилась почти один в один как в ghost recon advanced warfighter. Также игра унаследовала некоторые элементы от SWAT 4, например отсутствие возможности прыгать, требование к командной работе разных классов юнитов в связке все больше добавляло глубины к тактике. Например, в игре несколько играбельных классов, каждый из которых имеет уникальные способности, один может сканировать местность на угрозы, в то время как другой выполняет работы по завариванию/развариванию дверей (совсем как в Killing floor). В свою очередь, различные классы могут быть разблокированы по мере получения очков опыта, также как и перки. Очки опыта можно получать практически за любые выполнения действия или задания. Систему перков мы решили реализовать необычным образом: разблокировав и экипировав конкретный, он набирает силу в течение игровой сессии, по мере нахождения улучшающих его обновлений программного обеспечения костюма.
Сложность увеличивается...
Спустя год разработки, мы пришли к выводу, что такие механики весьма непросты в использовании, и гораздо более интересны и удобны, когда появляется кооперативный опыт, который в свою очередь умножается на многомерность различных игровых ситуаций вызванных большим количеством переменных. Несмотря на понимание сложности сетевой составляющей, мы решили рискнуть и попытаться интегрировать мультиплеер, где можно в любой момент подключиться к игре, по аналогии с Left 4 Dead.
Визуальный стиль интерфейса местами подражает C-12: Final Resistance
Определенные сложности возникли также с разработкой голосового чата - на удивление, пришлось потратить почти целый месяц на него, это был камень, на котором мы внезапно споткнулись. Мы специально отказались от модного proximity voice, чтобы ради большего погружения и тактики добавить реализма, который дает удаленная радиосвязь. Радиосигнал с его несовершенствами звукопередачи и шумами создает впечатление, что ты в каком-то остросюжетном фильме.
Возвращаясь к концу первого года разработки, когда у нас внезапно появилось совершенно спонтанное решение добавить кооперативную игру, начались бесконечные тестирования сетевой составляющей. По правде говоря, желание создать сетевой экшен было изначально, но оно было подавлено пониманием того, насколько это усложнит процесс разработки и увеличит ее сроки в дальнейшем. Но преодолев лень и страхи, мы решили все же попробовать, так как желание поиграть с друзьями стало попросту сильнее.
Моменты тестирования. Осторожно: присутствует нецензурная лексика.
Среднее время прохождения плейтестовой версии достигало 3-х часов для новичка, а то и более. Блуждание по базе могло усугубить этот процесс, но чувство потерянности и азарт исследования - это то, что дает новые эмоции, когда игра не ведет тебя за руку, а дает делать ошибки, и позволяет самому делать небольшие открытия, вдохновляющие играть дальше. Постепенное изучение карты начинает давать преимущества, и игрок получает прогрессию даже на основе знания, где что лежит или спавнится, даже вещи в ящиках это, по сути, условный лутбокс, добавляющий азарт. Относительно долгое время прохождения, заставило нас интегрировать систему сохранения на ранних этапах. Многим не хватало чекпоинтов.
Суть нашей системы внутриигрового сохранения в том, чтобы предотвратить savescumming и сформировать у игрока ощущение ответственности за свои действия, быть осторожным и продумывать свои действия, взвешивая все риски, так как игра заканчивается, если погибли все подконтрольные игрокам сотрудники станции, т.е. сохранение удаляется при смерти всех доступных юнитов. Пресловутый save and exit из Diablo 2, но с permadeath, правда облегченный тем, что можно иметь большой запас "жизней", если спасать сотрудников и оставлять их в безопасной зоне, т.е. возможность возрождения также может быть неограниченна, если заранее об этом позаботиться. Отчасти это может стимулировать игроков работать сообща, планировать маршруты, стараться быть менее заметными, применять умный подход к выживанию, различные устройства, классовые способности и комбинировать их. Кто-то использовал бы грузового дрона, т.к он менее заметен по дефолту (еще более незаметен со стелс перками), а кто-то мог бы выманивать монстра сонаром и потом заваривать за ним дверь, или просто убежать, включив экзоскелет, избавляющий от затрат выносливости. Но использование любых способностей требует энергии для костюма, которую в свою очередь можно добывать уничтожая миазмы и перерабатывая добытые при помощи бура биоматериалы в биотопливо.
Наша оригинальная «фишка», эволюция окружения
Мы понимали, что рост проекта уже было не остановить, слишком много сил уже было вложено, и довести до конца начатое хотелось бы при любом раскладе. Конечный успех стал не особо важен, потому что сам процесс разработки начал приносить все больше удовольствия. Многие механики перерабатывались из-за непонимания некоторых подводных камней геймдизайна на ходу, но один из основных концептов остался неизменным - распространение заражения. Ключевая механика - это система развития заражения базы неизвестной формой жизни, которая разрастается в миазмы и различные ткани (привет Зергам) со временем, создавая все новые препятствия и ловушки, усиливая враждебных существ и меняя их поведение в зависимости от уровня заражения. Понижение этого уровня становится одним из приоритетов выживания, и для этого существует множество различных способов: поливаете ли вы кислотными растворами ткани, используете ли таранный бур для уничтожения миазм, подключаете систему жизнеобеспечения с воздушными фильтрами или забрасываете предметами потяжелее взрывоопасные пустулы, выбор за вами.
По мере прогрессирования заражения, двери могут зарастать тканями блокируя проходы, зомби из медленных и слепых, станут куда более шустрыми и опасными, трупы ваших сотрудников со временем будут превращаться в зомби, будет спавниться все больше надоедливых клещей, преследующих игрока при отсутствии освещения, которого они так боятся. За каждой дверью может таиться опасность, а за каждой тенью угроза. Враждебные существа по-разному реагируют на стимулы: свет наведенный на одно существо привлечет его, а другое отпугнёт, кто-то из них ориентируется на шум и скорость передвижения. Если удастся найти редкий прибор ночного видения, можно попытаться отыгрывать скрытность в одиночку, не пытаясь поддерживать на базе освещение, постоянным пополнением топлива в генераторах. Вариативность прохождения, позволяла нам самим как разработчикам не уставать от тестирования собственной игры, с каждым разом играть становилось все интереснее.
Отдельно можно упомянуть случайность появления предметов, в каждом ране подавляющая часть предметов спавнится рандомно, на полках и в контейнерах (а-ля Escape from Tarkov), также как и многие проявления "эволюции базы" меняют свое расположение. Это создаёт тот самый эффект «живого лабиринта», когда нужный проход может оказаться заблокирован, или напичкан ловушками, что динамически создает непредвиденные задачи и предлагает игрокам проявить свою изобретательность в их преодолении. Многие контейнеры с большой вероятностью будут заперты, и для доступа к ним нужны коды, которые как "местная валюта" добываются путем взлома терминалов, с определенной вероятностью, поэтому в команде неплохо иметь выделенного члена группы с перком хакера, для повышения шансов успешных взломов, который будет в дальнейшем обеспечивать группу дополнительными ресурсами с более высокой вероятностью.
В текущий момент рандомизация событий будто бы наталкивает нас на дальнейшую идею реализации фриплея в игре, но бесконечно масштабировать ее нельзя (несмотря на весь потенциал) по понятным причинам, но это уже совсем другая история.
Что мы имеем в итоге
Death Imminent - это :
Кооператив со стелс-элементами: Иногда тишина и скрытность - единственный способ выжить.
Управление отрядом и тактика: нужно распределять роли, давать приказы, работать в команде, планировать действия.
Менеджмент ресурсов: кислородные баллоны, аптечки, биоматериалы - всё на счету.
Классовая система, развитие персонажа через перки и накопление опыта.
Ретро-эстетика: низкополигональная графика с мрачной цветовой гаммой и опциональной пикселизацией.
Живой лабиринт: уровни непредсказуемо меняются с течением времени, создавая динамическую систему живущую по своим правилам.
Мрачный оригинальный саундтрек: напряженный эмбиент специально написанный для создания чувства решимости в безвыходной ситуации.
Что дальше?
Мы запустили плейтест в Steam, чтобы попытаться собрать обратную связь по геймплею и балансу, если вдруг имеются желающие попробовать поиграть с друзьями или в одиночку.
Вопрос к сообществу
Какие механики, фишки в подобных и вышеупомянутых играх понравились и запомнились больше всего Вам? Также хотелось бы узнать, как воспринимается сложность процесса игры, ее освоение, какие моменты вызывают трудности или раздражение, а также чтобы Вам хотелось увидеть в игре дальнейшем?
Прежде всего хочется сказать огромное спасибо всем кто проявил интерес к прошлому выпуску. Честно говоря, это было неожиданно и крайне радостно! Спасибо за сообщения и общение, сейчас это очень ценно и придает силы)
Стартуем
Пройдя самый ранний этап этой истории, о котором я рассказывал, мы оказались на старте. Инвестор есть, договоренности в силе, работаем.
Первым делом решили создать все, что необходимо для капсулы Steam. Вникая в этот вопрос, пришли к выводу, что ролик, картинки и хорошее описание - наш вариант. Ничего в этом плане придумывать не стоит, все уже придумано.) Забегая вперед, скажу, что Steam меня поразил удобством, хотя на первый взгляд - глаза разбегались, но со временем появилось понимание принципов интерфейса и то, что это очень удобно.
Важное решение
Как я писал ранее, я не один десяток лет проработал в области компьютерной графики, решая задачи создания видео. Очевидно, что на этом этапе у нас было два пути:
Создать ролик-иллюзию не привязанный к игровому движку, используя различные производственные решения вплоть до ИИ. А уже после разбираться с тем как приблизить визуализацию к тому, что показали.
Собирать ровно столько игры, сколько позволит на этом этапе создать этот самый ролик и получить его с игрового движка.
С одной стороны первый вариант позволяет в более сжатые сроки получить капсулу и "глянцевый ролик", с другой- сама концепция имитации нам оказалась идеологически не близка. Более того, с точки зрения производства было понятно, что первый вариант это работа над роликом и только потом мы приступим к игре.
Решение было принято. Мы на этапе создания ролика уже создаем игру, разрабатывая 3д объекты и окружение.
Один из главных героев - прибор питания. В документации на первой странице крупно распечатан телефон пожарной службы.
Главный герой
Одна из фундаментальных игровых механик это работа с приборами. Настройка, создание цепей, использование и обслуживание. Фактически мы взаимодействуем с внешним миром через приборные цепи и позже получаем ответ извне, ну или сразу (смотря, что игрок решит выкинуть). Именно с разработки приборов мы стартовали.
Тех.процесс
Тестируя различные варианты в течение недели пришли вот к такому процессу:
blender - моделирование.
rizomuv - создание развертки.
3d painter - создание текстур.
Весь процесс в ускоренном варианте на примере микшера:
Позже к этому списку мы добавим plasticity, позволяющий очень быстро работать с формой.
Кстати и rizomuv и plasticity имеют "бриджи" для blender, что делает работу значительно удобнее.
На первый прибор потратили около трех дней (без учета поиска), позже вышли на прибор - день.
Оптимизация
В blender'е есть хороший инструментарий для создания библиотек объектов. После первой пары приборов стало понятно, что есть ряд элементов, которые точно будут повторяться. Болты, заклепки, элементы серий и пр. Для ускорения процесса и удобства, начали собирать небольшую библиотеку из собственных объектов.
Касательно части текстур в 3d painter'е создали шаблон для выгона текстурных карт. Опять же методами тестирования пришли к тому, что жмем в jpg все кроме нормалей (тут без вариантов).
Сетап на экспорт из 3d painter
Так же решили на раннем этапе работать с оптимизацией, и не тащить на движок мегабайты) Прямо в самом 3d painter'е можно порезать форматы того, что явно не нуждается в 2к.
Тут, конечно, можно много рассуждать на тему текстурных атласов, но поскольку финальная сборка приборов происходит на движке (ручки, переключатели и пр. отдельные классы), мы решили не зашивать целый прибор в одну текстуру, так как есть возможность пере-использования элементов, что может дать прирост производительности.
Средний размер объекта с текстурами получился от 10 до 30 Мб. в зависимости от прибора.
Заключение
Вот такой процесс нашли по созданию приборов, сейчас он немного меняется от прибора к прибору, но фундамент остается крепким)
Пишите, кому интересно, буду рад обсудить и пообщаться!
На финишной, перед роликом протестировали VR на rtx 3060ti. Было интересно посмотреть на нагрузку и оказаться в том мире, что создаем. Нагрузка показала, что вариант более, чем рабочий, а погружение- что с объемами все как надо.
Здравствуйте, я увлекаюсь игрой раст, решил зделать свой девблог(более старая версия игры) сам локальный сервер готов а как сделать так чтоб на него люди по айпи заходили я без понятия. Помогите пожалуйста.
Всем привет! После публикации второго девлога прошло два месяца и некоторые читатели уже отчаялись увидеть очередные новости. Сначала о хорошем - разработка не прекращалась. Да, был период, когда всё затормозилось, но на самом деле мы даже не сильно сместили сроки “вправо”. Но обо всём, как водится, по порядку.
Несколько слов о форс-мажорах
Как я уже упоминал в самой первой публикации, наша команда - это, прежде всего, команда энтузиастов. А значит у каждого есть какая-то основная работа. Вот она и внесла первые коррективы в сроки разработки. Так получилось, что рабочая командировка заняла у меня больше недели и я не смог вовремя отреагировать на накопившиеся вопросы от команды.
Дальше - больше. Как только с рабочими моментами всё устаканилось и пришла пора писать очередной девлог, я оказался… в пульмонологии :(. Коронавирус… Благо хоть спасла заранее написанная документация, ведь пока я валялся под капельницами, ребята продолжали работать. За что им можно и нужно выразить огромную благодарность. Но, как водится, от дополнительных вопросов процесс разработки это не избавляло. Небольшие проблемы продолжали накапливаться, а я продолжал болеть.
Критический провал - ничего страшного
Примерно в это же время один из программистов тоже попал в похожую ситуацию - запара на работе + болезнь. Не коронавирус, но сам факт. Соответственно, на такую вещь, как “публикация девлога” все дружно забили и просто продолжили работать над тем, над чем можно. А как только меня посчитали стабильным, выписали из стационара на амбулаторное лечение, ведь желающих полежать под капельницей в нашем городе было много :).
Настал очередной спринт под названием “разгребание накопившихся тасков”. А потом очередная рабочая командировка … Как итог - за всё это время несколько пропущенных/перенесённых командных созвонов и частичное неучастие как тимлида в разработке. Ну хоть как к ГД вопросов было поменьше - это к слову о важности препродакшна и написанных страницах ТЗ. А потом саунд-дизайнер написал, что из-за отсутствия свободного времени не сможет больше с нами участвовать в разработке.
Несколько критических провалов подряд
Но как всем известно - самое тёмное время перед рассветом. В итоге мы показали, что не просто группа людей, собранных вместе, а единое целое, где каждый участвует активно, приносит свои идеи, таланты и умения. Мы не прекратили разработку, не развалились в период трудностей, а продолжили работу над игрой. Совместное же преодоление трудностей - это то, что связывает нас ещё крепче. По возможности стараемся поддерживать друг друга, поднимать настроение и находить новые решения, даже когда не все находятся в строю.
И да, саунд-дизайнера мы тоже нашли. Так что всё продолжается, но чтобы у будущего игрока не возникло музыкального диссонанса, готовую музыку и все SFX нужно будет переделывать. Тут по-другому никак, ведь саунд - человек творческий и на одно и то же ТЗ, каждый делает немного разную музыку в разной стилистике. Собственно поэтому полишинг займёт не один месяц, как предполагалось ранее, а два. Это позволит нам не только довести игру до надлежащего технического качества, но и не торопиться с проработкой музыки.
Не совсем критическая удача, но...
Почему 3.5?
Внимательные читатели сразу спросят:
А почему DevLog #3.5?
Всё дело в том, что часть новостей по разработке мы публиковали на сервере Gamebox в дискорде, но не получилось опубликовать здесь из-за моей болезни и прочих моментов. Поэтому те, кто по какой-то причине эти публикации видел, могут смело переходить к следующему пункту.
Комикс
Несмотря на тот факт, что у нас немного абстрактная игра про квадратики и кружочки, мы все же решили добавить сюжет. И раз уж он у нас есть, то почему бы не сделать его чуть сложнее и интереснее, чем это необходимо. И подаваться этот самый сюжет будет в виде небольших комиксов, один при старте игры, и по одному за прохождение каждого биома. Вступительный комикс уже почти готов, и мы можем показать вам парочку прекраснейших фонов. Когда-то это был процветающий город, но пустыня оказалась сильнее.
Много квадратиков, и все разные
В прошлом выпуске мы писали, что находимся в процессе поиска лучшего визуального стиля. Ничего пока не поменялось, всё ещё ищем. Художники делают несколько вариантов одного и того же объекта, и мы все дружно выясняем, какой вариант самый приятный для глаза и читаемый. Сегодня вашему вниманию варианты магнитных блока и телепорта. Магнитные блоки весьма комплексные, и в реализации дались нашему кодеру непросто. Телепорт же делает то, что все от него и ожидают - перемещает аватар из точки А в точку Б и назад. Различные вариации магнитов и телепорта:
Варианты магнитных блоков
Варианты внутренних порталов
Не артами и иконками едиными. Какие уважающие себя разработчики будут делать игру, не используя красивые VFX, если их можно использовать? Больше эффектов богу эффектов. И ещё немного сверху. Первый - это портал, он же выход из локации. И уже представленный выше магнитный блок. Эффекты пока что на стадии “лишь бы работало”, и в будущем будут дорабатываться и оптимизироваться.
В каждой уважающей себя истории есть протагонист и антагонист. И сегодня мы представим вам последнего, встречайте, Агата.
Нежелание снижать темпы промышленного роста и пренебрежительное отношение к природе привели неконтролируемому потеплению, из-за которого произошла смена климата на всей планете. Площадь пустынь увеличилась, уровень океана поднялся. Большое количество прибрежных земель и городов ушло под воду. Это, в свою очередь, породило социальные и экономические проблемы, рост нищеты, голод и локальные военные конфликты. Люди столкнулись с чередой невиданных доселе проблем и кризисов. Усилиями ООН и ведущих корпораций планеты был разработан ИИ нового поколения, с невероятной вычислительной мощностью, полным осознанием себя и огромной способностью к обучению. ИИ получила имя “Агата”. Перед ней стояла грандиозная задача - помочь людям вытащить себя из той дыры, в которую они сами себя и загнали. Создание такого масштабного проекта не держалось в секрете. Кто-то видел Агату как последний шанс на спасение, другие считали, что разумный ИИ станет последней каплей, которая приведет человечество к окончательной гибели. Тем более сейчас, когда цивилизация и так ослаблена.
Из дневника нарративного дизайнера, стр. 16
Агата. Концепт-арт
ем из вас, кто играл в Stellaris, наверняка знакома гражданская модель “Взбунтовавшийся служитель”. Именно эта модель послужила основной для создания Агаты. Честно пытаясь справиться с поставленной задачей, Агата поняла, что самая главная проблема в деле спасения людей это сами люди, их алчность и бесконтрольное желание делать что хочется, невзирая на последствия. Пришлось брать ситуацию в свои цифровые руки и “немного” урезать людей в их правах и свободах, ради общего блага, дав взамен сытое существование без проблем и забот. Впрочем, сидеть в золотой клетке понравилось не всем.
И снова о герое и визуале
Поиск самого удачного варианта для героя не прекращается. Сейчас мы рассматриваем несколько вариантов. В ближайшее время точно определимся. Почему так затягиваем? Это к вопросу о том, чтобы плотно увязать нарратив, художественный стиль и геймдизайн в единое целое. Лучшее - враг хорошего, но сейчас мы уже на финишной прямой :).
Вообще, с героем интересно получилось. Сначала он был чистым 2D-объектом, потом мы решили сделать его 3D-объектом. Следующая итерация - это тоже 3D-объект, но с другой текстурой и цветом.
Также изменения претерпел и VFX для магнитных блоков. Сейчас он лучше подходит к нашему визуальному стилю и, кроме того, изменён его функционал: если раньше он был статичный, то теперь реализован через "сплайн" и это позволит адекватно реагировать на динамические изменения блоков на игровом поле.
В конце августа мы планировали сделать фичестоп, но нам не пришлось, поскольку все 16 из 16 запланированных механик готовы. Спасибо нашим программистам за это :). Теперь осталось только все эти реализованные фичи отполировать: отловить все баги, оптимизировать, настроить освещение и т.д. В общем, работы много, поэтому было принято решение отступить от жёстких сроков “1 месяц на полишинг” и пока что поставить сроки в “2 месяца на полишинг”. Мы очень постараемся за ближайшие два месяца довести проект до качественного состояния, но пока чёткую дату релиза не называем по понятным причинам. К тому же есть некоторые проблемы с регистрацией страницы в Steam. Эта проблема пока в процессе решения.
И, по уже установившейся традиции, держите напоследок ещё один концепт-арт игрового мира.
До новых встреч в следующих публикациях. Надеюсь, больше форс-мажоров не будет и мы в итоге не только доведём разработку до конца, но уже до конца этого года порадуем готовой игрой!
После публикации первого девлога прошло почти 2 недели, а значит пора запостить новый :). Сегодня поговорим о визуальной составляющей игры и о том, каким образом командное обсуждение и плейтесты даже самых ранних билдов помогают исправить некоторые ошибки на первых этапах разработки.
Несколько слов о нарративе
Но для начала вкратце расскажу о нарративной основе, чтобы было понятно о чём вообще речь и почему игровое поле в нашей игре будет выглядеть определённым образом.
Взбунтовавшийся ИИ захватывает почти весь интернет. Всё, что подключено к сети - оказывается под его контролем. Лишь нескольким регионам по всему миру удаётся сохранить независимость своей сети, и именно эти регионы становятся центрами сопротивления. Глобальная задача здесь, это пробиться к основному серверу, на котором расположен ИИ, и перехватить контроль, мгновенно закончив это восстание и дав второй шанс человечеству. Ресурсы людей ограничены, в то время как в распоряжении машин почти безграничные производственные и добывающие мощности, и поэтому действовать надо быстро, обратный отсчёт до падения последнего очага сопротивления идёт на недели, если не на дни.
Из дневника нарративного дизайнера, стр. 1
Игровое поле представляет собой визуальную интерпретацию хранилища данных устройства, будь то передатчик или сервер. Геймплейно для победы необходимо довести аватар нетраннера до точки выхода. В это время игровое поле может сильно поменяться. С точки зрения игрового мира это не что иное как переписывание, изменение и удаление файлов на устройстве, после чего происходит взлом и перехват контроля.
Из дневника нарративного дизайнера, стр. 3
Иными словами, итоговая конфигурация пройденного уровня с точки зрения нарратива олицетворяет собой успешный процесс взлома. При этом следует понимать, что игрок будет управлять не человеком-нетраннером, а его виртуальным аватаром. С одной стороны такой подход позволит игроку полностью сосредоточиться на геймплейной составляющей, не отвлекаясь на лишние детали в процессе поиска правильного решения. С другой же - путь героя (человека-нетраннера) можно будет показать в игровом комиксе, делая больший упор на эмоциональную составляющую и эмпатию (человеку легче по-настоящему сопереживать, чем условному кубику/квадрату).
Ниже представлены концепт-арты героя для комикса. Work in progress, как говорится :).
Анимации и VFX
Как только появлялась готовая модель для какой-то игровой сущности, аниматор и VFX-художник сразу же приступали к своей части работы. В итоге проект уже обзавёлся некоторым количеством анимаций и визуальных эффектов.
Ниже показана работа над анимацией портала, переносящего игрока на “изнанку”.
Анимация idle портала, переносящего игрока на "изнанку" (центр портала с ярко-выраженным "эффектом лавы")
Анимация idle портала, переносящего игрока на "изнанку" (центр портала с заблюренным "эффектом лавы")
А в этом блоке показана работа над VFX для портала, переносящего игрока на следующий уровень. Как не сложно догадаться, референсом для центральной части послужил эффект портала из вселенной Stargate (это хорошо видно на последнем видео).
Готовый VFX для плейтестов
Другой визуал
По сравнению с первым прототипом в проекте появились следующие ключевые изменения:
единый арт-стиль, играющий как на общее восприятие, так и на атмосферу в частности;
внутриигровой UI с фильтром, который выравнивает яркость всех цветов и добавляет немного “визуальной глубины” происходящему на экране (это важно, поскольку за игровым полем расположен бэкграунд).
Внешний вид различных игровых сущностей на одном игровом поле
Пример кнопок в различных состояниях
Экран основного игрового UI
Но работа шла не только над общим визуалом. Игроку ведь надо чем-то управлять, поэтому наша команда плотно занялась проработкой настоящего героя - той самой управляемой игроком сущностью.
Все пространство, в котором находится нетраннер, представлено в виде кубов различных цветов и текстур, где каждый куб представляет собой какой-то строго соответствующий ему объект.
И чтобы не потерять себя в этом многообразии углов, виртуальная сущность нетраннера выполнена в виде шара. Шар максимально отличается от всего, что его окружает, и позволяет не теряться самому нетраннеру, так и не терять из виду своих товарищей, если он не один.
Это, казалось бы, незначительное нововведение, сильно упростило процесс работы, снизило время адаптации в новом для нетраннера киберпространстве, и позволило быстрее принимать решения, основываясь только на визуальной информации.
Из дневника нарративного дизайнера, стр. 7
Концепты настоящего героя игры (управляемой игроком сущности)
Ещё больше концептов настоящего героя игры (управляемой игроком сущности)
Но не только концептами едиными. В итоге мы нашли приемлемый для нас вариант и аниматору снова подвалило работы :).
Если каким-то образом подытожить всё вышесказанное, то изначально некий минимализм в арт-стиле предполагался в том числе для того, чтобы каждая игровая сущность на уровне сразу определялась игроком. Но по факту, как только мы собрали первые 10 уровней и начали плейтестить… всё оказалось не так радужно. Во-первых, цветовая палитра выдалась слишком однотонной и большинство блоков на первый взгляд было трудно отличить друг от друга (и на второй взгляд тоже, будем честны). Во-вторых, сама палитра уходила в “синеву”, что тоже не добавляло удовольствия от игры.
Поэтому было принято решение изменить текущий стиль в ещё больший минимализм с изменением некоторых колоркодов (что-то близкое к т.н. flat design). Как минимум “на бумаге” это помогло, поскольку блоки стали лучше отличаться друг от друга в визуальном плане. Кроме того, подобные изменения избавили игровой уровень от “синевы” :). А закрепится ли текущий вариант в качестве финального покажут только очередные плейтесты.
1-й вариант отрисовки блоков (более детализированный)
2-й вариант отрисовки блоков (ближе к flat design)
Какой из этого можно сделать вывод? Нужно плейтестить билды как можно чаще. Это избавит от многих ошибок в дальнейшей разработке. Мы же продолжаем придерживаться плана как с точки зрения глобальной реализации фич и визуала, так и постоянных плейтестов с целью выявления различных ошибок игрового дизайна на ранних этапах.
И, по уже установившейся традиции, держите напоследок ещё один концепт-арт игрового мира.
До новых встреч в следующих публикациях. Остаёмся на связи!
Меня зовут Сергей и я геймдизайнер. Но это не такой уж и страшный приговор, как может показаться на первый взгляд, поэтому пару недель назад я смог собрать команду единомышленников и мы совместно приступили к разработке нашей первой “настоящей” игры.
Почему “настоящей”? Дело в том, что у каждого из нас уже имеется опыт участия как в джемах, так и создания небольших проектов за 1 месяц. Почти все мы познакомились в студии Gamebox.
Так вот, вопреки всем рекламным рекламам, чтобы “войти в ойти” из другой профессии, этим самым IT-студиям в портфеле подавай законченный релиз. Желательно при этом быть молодым специалистом 22-х лет, но с 30-тилетним опытом работы.
Типичное собеседование
А с месячными билдами, которые не всегда тянут даже на MVP, устроиться куда-то не только сложно, но и практически невозможно. Именно поэтому я в один прекрасный день решил… нет, не создавать игру в одиночку. Я решил написать весь пакет геймдизайнерской документации (ГДД), попутно подрезая объёмы для 4-хмесячной разработки. Всё-таки опыт месячных спринтов не прошёл зря, что дало понимание примерных сроков реализации различных игровых фич с учётом разработки на голом энтузиазме. Почему 4-хмесячной? Во-первых, это оптимальный срок, чтобы поддерживать работоспособность на высоком уровне. Во-вторых, занимаясь разработкой игр каждый день после работы, более чем 4 месяца подряд, очень легко выгореть и выбросить очередной проект на свалку “незавершённых игр”. А кому оно надо?
В итоге, спустя почти два месяца, я написал ГДД более, чем на 150 страниц, попутно подрезая объёмы несколько раз… Конечно, 2/3 итогового текста заняли ТЗ с референсами по каждому из направлений. Но зачем так много и подробно? “Чтобы будущим тиммейтам всё было понятно”, подумал я и попросил программиста, с которым мы участвовали в месячной разработке полгода назад, сделать прототип (предоставив ему отдельное ТЗ на прототип, конечно же). Прототип в итоге оказался играбельным и подтвердил гипотезу о том, что будущая игра может приносить фан.
Когда написал 150+ страниц ГДД и ни одной строчки кода
И тут я плавно подхожу к моменту сбора нашей команды. Собственно, без прототипа вряд ли бы получилось набрать людей, но в итоге всё вышло даже лучше, чем я надеялся. Вместо планируемых 7, наша команда состоит из 10 человек:
я - ГД, тимлид, хранитель вижна, КМ, писатель дневников разработки и просто балабол :);
Денис и Данила - два основных программиста на “плюсах”;
Евгений - нарративный дизайнер, благодаря которому мы можем себе позволить такую роскошь как невербальный нарратив;
Малена - программист/3D-аниматор и трудоголик, отвечающая за весь UI в нашей игре; кроме того, является центром притяжения нашей небольшой команды (именно она посоветовала часть людей, т.к. ранее с ними разрабатывала небольшие проекты за месяц);
Ms. Tea и Саша (FirenBreniel) - 2D-художницы, которые обеспечат не только нашу игру внутренней красотой но и вас всех, читателей, различными концепт-артами (как в этой публикации, так и в последующих);
Антон - 3D-художник в роли VFX-художника (надо же кому-то);
Настя - 3D-аниматор, лёгким движением руки переквалифицировалась в 2D-аниматора;
Илья - саунд-дизайнер, напишет музыку для нашей игры.
Пока что рабочее название нашей команды - TWS. К - креатив :).
Так выглядит наша команда по мнению нейросети
Об игре
Наконец, можно уже рассказать и о самой игре . Называется она, как можно догадаться из заголовка, The Wrong Side. Это казуальный 2D-сокобан с понятной целью: переместить некоторые элементы на уровне так, чтобы герой смог добраться до точки выхода.
Сеттинг: ретрофутуризм.
Платформа: PC - основная, mobile - второстепенная, в случае успеха проекта.
USP: “изнанка” - аналог текущего уровня с изменёнными правилами, куда игрок вынужден будет переключаться, чтобы воздействовать на элементы основного уровня.
Дополнительные особенности:
небольшой внутриигровой комикс, постепенно раскрывающий историю героя по мере прохождения игры (от самого начала до конца);
несколько вариантов решений для большинства уровней.
Референсы на геймплей и механики:
идея с “изнанкой” уровня позаимствована из сериала “Stranger things”;
в качестве игровых сущностей, призванных разнообразить геймплей и бросить дополнительный вызов игроку, используются телепорты, движущиеся блоки, магнитные блоки, блоки с ограниченным количеством перемещений, инверсионные блоки и т.д.
Пара слов об игровых циклах:
Игра разрабатывается на UE. Но не на 5-м, а на 4-м. Знаем мы эти хвалёные наниты в UE5, толку от них, только систему грузят :). Но поскольку наша игра не дотягивает до знаменитой “3Д-экшон, суть такова…”, мы уже решили, что из всех 4-х месяцев разработки целый месяц уделим полишингу проекта. И тут возникает вопрос: “почему на анриле, а не юнити”? Во-первых, почему бы и да? А, во-вторых, знакомых юнити-разработчиков просто не было. Мы очень постараемся за последний месяц разработки поправить все баги и отполировать всё то, что успеем сделать за предыдущие 3 месяца. Да, у нас будет жёсткий фичестоп в конце августа.
И по поводу слона в комнате - точной даты релиза мы, по понятным причинам, пока не знаем. Но планируем где-то в начале октября. Главное, выбрать окно, чтобы не попасть под каток крупных релизов. Где? Itch, VK Play и, скорее всего, Steam. С некоторыми подводными камнями и проблемами регистрации в workshop и последующей покупки слота я уже знаком, с некоторыми ещё предстоит ознакомиться, но в ближайший месяц хочется создать страницу в Steam.
Пока что издателя у нас нет, но это не означает, что он нам не нужен. Публикация девлогов - один из нескольких способов попытаться его найти.
Дорожная карта как она есть
Есть что показать?
Так, я вроде выше упоминал прототип… И там есть, что показать. Конечно, над левел-дизайном я тогда особо и не заморачивался, т.к. основной целью была проверка гипотез по играбельности. Сейчас уже всё изменилось: пакет уровней для 1-го биома составлен с учётом кривой сложности, появилась индивидуальная подложка под каждый из уровней, почти все базовые блоки отрисованы в соответствии со стилистикой. Но что-нибудь из этого я покажу потом, в следующих публикациях.
А вот как выглядел типичный уровень со сгенерированным фоном в нейросетке (Leonardo.Ai), UI на примитивах и на скорую руку отмоделленым кубом. Кстати - вы видите один и тот же меш, просто каждая грань куба - уникальная, чтобы подчёркивать разный функционал блока не только цветом, но и текстурой. Да, всё верно - технически это 3Д-сцена, просто с топ-даун 2Д-камерой :).
Взаимодействие с обычными передвижными блоками и безынерционным блоком
Взаимодействие с телепортом и его активатором
Пример прохождения уровня в прототипе
А это уже пример того, как может влиять “изнанка” на геймплей в плане изменения функционала некоторых блоков.
На основном уровне стену нельзя разрушить, на “изнанке” - можно и при выходе из неё ситуация на игровом поле сохраняется
Если есть что разрушать, значит надо это как-то обозначить? Вот и первые задачи для нашего аниматора: создать анимацию idle и death для разрушающегося блока.
Но и это ещё не всё! Ведь у нас имеется первый готовый набросок аудиодорожки для главного меню. Из-за того, что пикабу не поддерживает загрузку аудио, пришлось сделать запись проигрывателя с экрана, не обессудьте. Конечно, это не финальный вариант композиции, но мы обозначили направление по будущей атмосфере. Так что рекомендую послушать. Оно того стоит.
Надеюсь, было интересно почитать и стало чуточку понятнее, что за игру мы разрабатываем. Напоследок хочу поделиться самыми первыми концепт-артами по общему видению мира.
Спасибо всем, кто дочитал. Но я не прощаюсь, ведь это только первая страница нашего совместного путешествия! На самом деле есть ещё много всего, чем хочется поделиться, но не всё сразу .
И добро пожаловать в комментарии! С удовольствием отвечу на все возникшие вопросы. Следующая публикация будет примерно через 10-12 дней.