Начал работу над игрой вдохновленной BLAME! | Silicon Soul - Devlog 0.01| Дисдок | Gamedev Long
Содержание: 1. Краткая предыстория проекта 2. Жанр игры и проблемы разработки 3. Игровой цикл и дизайн уровней 4. "Уникальные" игровые механики 5. Не первая итерация проекта 6. Одна проблема сеттинга 7. Ищу команду? 8. Заключение
Краткая предыстория проекта:
Надеюсь, все посмеялись над контрастом между референсами и демкой. Лично я - да. Ещё и видео трещит, и шакальное... ммм. Ляпота.
Представляюсь ещё раз. Собственно, по основному роду деятельности я композитор электронной музыки - в основном Industrial и Darksynth. Около трёх лет назад, заслушиваясь "New Model" от Perturbator, я начал уже в который раз искать свой музыкальный стиль и полез изучать киберпанк как сеттинг. Прочитал Гибсона, посмотрел пару аниме и пересмотрел любимые (тот-же Ergo Proxy и Метрополис) По итогу остановился на манге BLAME!
На тот момент она меня сильно зацепила атмосферой, поскольку и в играх, и в музыке, и даже в литературе - меня в первую очередь интересует атмосфера мира, а не сюжет (потому Лавкрафт один из моих любимых писателей)
Вдохновившись блеймом и, внезапно, STALKER, я написал свой сеттинг, по сути, скомуниздив основу "мегаструктуры" у Нихея и модифицировав её до очень странного технофэнтези, несколько более оживленного но по прежнему мрачного; добавление к сеттингу элементов сталкера превратило его в подобие SCP фандома или же Control, расширенного до масштабов действия солнечной системы.
Ближайшее из такого - E.Y.E Cybermancy и Ghostrunner
В тот же год я написал свой 14й, а для сеттинга 1й музыкальный альбом - Silicon Soul - Chapter I и начал несколько рассказов, которые планировалось объединить в длинный роман, но звёзды не сошлись.
Только начало:
Собственно, на своё 24-х летие, которое случилось ровно 10 дней назад, я решил начать "новый" проект, теперь уже в области, которую я хорошо знаю и люблю - в видеоиграх. Вообще, он не совсем новый, иначе этого девлога не существовало бы, но об
Несколько лет назад я уже делал игру на Unity, вдохновленную в основном старым аниме Angel Egg, Dark Souls и Hollow Knight. Если не иметь ввиду вторичность референсов (в том смысле, что каждый хоть раз делал клон Hollow Knight) - то у проекта были шансы; к несчастью меня задушил код и 2д анимация - на тот момент я не был морально готов изучать такой объем информации, особенно учитывая, что с кодом у меня всегда были проблемы.
Так же стоит понимать, что геймдев в соло - это большая ставка. У меня всегда были проблемы с заработком денег на своем творчестве и с пиаром - очень неудобно тыкать людям в лицо собственным творчеством, т.к хочется, что бы оно говорило само за себя; в актуальных рамках интернета, это, увы, не жизнеспособная стратегия.
В моем возрасте уже надо жить одному и рубить бабос, а я занимаюсь не пойми чем - какие то проекты музыкальные, книги... если бы мне когда-то сказали, что музыка может почти-что разрушить мою жизнь, может я бы и не занимался этим, а работал по специальности (по диплому я информационная безопасность)
Но, в общем, что сделано то сделано, и теперь я тут. Зарабатывать деньги круто, но об играх в этом плане стоит думать осторожно - при пересчете рабочего времени завод оказывается выгоднее инди-разработки. Впрочем, тех кого это останавливает, в инди геймдеве трудно найти. Процесс это настолько нелёгкий, что выдержать его руководствуясь сугубо денежным интересом - значит иметь интересной формы нос и такую же шапочку.
Давайте уже об игре.
Жанр игры. О чём будет, что уже есть, с каким проблемами столкнулся:
Это забавно, но изначально планировалось создать single-player-mmorpg (я придумал этот жанр хд) по мотивам Sword Art Online, где основным игровым циклом будет классический Rogue-like, а из элементов mmorpg только картонная симуляция НПС, которые как бы тоже "проходят" игру, и ты можешь с ними конкурировать / торговать в рамках города (исключительно). Звучит масштабно, но на деле было вполне реализуемо, если бы только не количество необходимо для этого 3Д моделирования. В одиночку я просто не могу соответствовать стандартам РПГ сегмента по кол-ву моделей и разнообразию снаряжения.
Осознав это, я выбрал другой свой проект из папки с планами. Понизил планку до "скриптованного слэшера категории E", за основу взял такую замечательную игру как Furi. Количество необходимых для работы 3Д моделей резко снизилось - боссов можно сделать статичными а механики задизайнить вокруг проджектайлов как в Bullet Hell играх, и в целом, для инди-слэшера можно придумать много креативных экономных решений.
К несчастью, и тут я очень быстро понял, что не смогу сделать ни качественную боёвку, ни шутер. Для хорошей боевой системы ОЧЕНЬ важны анимации, такие, какие с mixamo не скачаешь, к сожалению. На обучение 3д до достойного уровня у меня уйдет год чистого времени, и я не уверен, что выдержу, поскольку сам не в восторге от моделирования; потому решено было сократить всё что можно, и действовать реалистично.
По итогу, игра планируется как приключенческий нелинейный 3D платформер. Разработка 3д платформера конечно имеет не меньше трудностей, но это уже трудности дизайна, а не технической реализации. Трудности дизайна хороши тем, что они проверяются и решаются (как минимум частично) на уровне блокировки уровня и плейтестов, в отличии от нехватки ассетов, которая решается исключительно деньгами и специалистами.
Получается эдакий Mario 3D, где в начале локации тебе дается цель, и ты должен сам придумать, как и где её решить на "псевдо-нелинейной карте". От жанра я не в восторге, но он удовлетворяет ряду требований самой игры - поддержанию атмосферы и духа приключения / исследования. Так бы, конечно, не будь у меня тех. ограничений, я бы делал или слэшер, или шутер.
Самому видео из заголовка, как вы понимаете, неделя. Это даже не пре-альфа билд, но общая атмосфера уже понятна. На видео часть "блочки" туториального сегмента одного из уровней. Он занял около двух дней, просто потому, что я проводил ресёрч разных способов лвлдизайна, быстрой блокировки уровней и планирования. Пока-что остановился на Blender, но там есть ряд проблем с нормалями после импорта (потому что я кривой моделер) так что в будущем это скорее всего изменится.
Есть другие уровни, но там показывать пока ещё нечего. Хоть я и работал всю неделю без перерыва - большая часть времени ушла на дебаг аниматора, моделинг и риггинг, а так же решение проблем со стейт-машиной (технически, стейт-деревом) и мелкие визуальные улучшательства / планирование блочки.
Работаю я, кстати, на Godot. Можете плеваться, можете не плеваться. О причинах такого решения писать можно долго, и точно не в этом девлоге.
Игровой цикл и дизайн уровней
Вообще, о говорить о дизайне уровней пока ещё рано, но о нём нужно думать и помнить. Игровой цикл относительно прост:
1. Игрок появляется в секторе, добирается до "хаба" (убежища) сектора.
2. Задача игрока: выбраться с нелинейного уровня живым, добраться до следующего. ВОЗМОЖНО в игре будет пермаментная смерть, хотя это звучит душновато, и требует тестировки. Я не против "хардкора", но "интересного".
3. В процессе решения задачи игрок волен выбирать разные маршруты пути. ВОЗМОЖНА система характеристик и основанные на них решения (Сила = выломать дверь, Инт = опустить мост)
4. В ходе исследования уровня игрок получает всякие афорабл апдейтс упрощающие прохождение как этого уровня, так и следующих.
Небольшое FAQ по геймдизайну
1. Будет ли прямой сюжет? - Зависит от возможностей и бюджета. Скорее всего нет. Повествование как в Соулс-лайках, через "Хмммммм", записки и нарративный лвлдизайн. Опять же, тотальная рациональная экономия. Задача закончить игру, а не сделать убийцу смуты.
2. О какой прокачке речь? Какие ещё афорабл апдейтс? - Так же зависит от кор механики и конкретно от боёвки. Как человек, имеющий 9к часов в Path Of Exile, я не имею проблем с планированием систем прогрессии, но вот реализация... если будет боёвка, то часть этого "дисдока" сильно изменится. Если нет - тогда к основным элементами прокачки относим расширение мувмента и возможностей платформинга, как опять же, в Hollow Knight.
3. Почему не шутер? - у шутеров как и у слэшеров очень высокий стандарт, так что я банально боюсь их делать. Моделирование оружия, анимирование рук и ПАЛЬЦЕВ, настройка отдачи, полировка fps камеры. Так же важно отметить, что вид от первого лица накладывает некоторые ограничения и не позволяет тебе совсем уж забить на качество текстур и полигонаж моделей (хотя, есть и Gloomwood, но это исключение, там автор гений)
Об "Уникальных" игровых механиках (в планах, конечно-же)
Я сторонник разработки игровых механик от нарратива, а не наоборот. Это немного (сильно) не по гейдизайнерски, но и я не гейдизайнер. Таким образом, что бы представить вам механики, нужно совсем кратко поговорить о мире.
Сеттинг - человеки создали ИИ, приказали ему строить "Систему" - комплекс городов для человека будущего. Итог: человеки "таинственно" вымерли в один день (без вмешательства ИИ) - ИИ остался, продолжил строить. Спустя тысячи лет "Система" разрослась до масштабов солнечной системы, подключилась к Солнцу, к другим небесным телам.
Технически, это гигантский каменный лабиринт разделенный на бесконечное количество секторов самого разного вида, формы и высоты. Есть уровни полностью состоящие из проводов, есть пустые помещения 1х1 миллион КМ квадратных. В целом: внутри происходит настоящий Horizon Zero Down - система имеет "центральный разум" созданный на основе человеческого мозга; она симулирует и физически репродуцирует данные получение из опыта человеческой цивилизации. От сюда и механические собаки, и технофэнтези, и "джунгли из проводов", и ряд других явлений.
В какой то момент в системе нежданно-негаданно снова появляются люди, и те, кто на них очень похож. Жизнь, если можно так сказать, у них тяжелая. Собственно, в середине этого периода начинается игра. Теперь по механикам:
Игровые механики
Сразу оговорюсь: креативность игровых механик в инди-геймдеве ограничивается сложностью их реализации. Идеи, которые я тут излагаю, у меня не факт что получится реализовать.
1. Шум - ближайший аналог, это радиация и аномалии из STALKER. Не вдаваясь в подробности, нарративно "шум" - пульсация оцифрованных сознаний погибших внутри "Системы" существ, прорывающаяся наружу через системную периферию, и искажающая пространство.
Короче говоря: там, где погибло много "разумной" твари, будет много шума, поскольку система хранит отпечатки их воспоминаний, и они сливаются в "фонящий" коллективный разум.
Игромеханически зоны шума работают точно так же как аномалии из сталкера - они накапливают смертельный для игрока уровень шума, могут перемещать игрока в неожиданные места, спонтанно убить или наградить. Не думал пока на счет "болта", но нечто такое точно будет. Планируется, что игрок справляется с шумом не "танкуя" его или поднимая статы, а чуть более креативно, например с помощью расходников которые понижают уровень шума в зоне вокруг себя, или создают пузыри.
2. Живые провода - ещё одна механика прямиком из моих рассказов. С её реализацией даже в теории большие проблемы. Я и близко не обладаю необходимыми знаниями в, предположительно, области динамической генерации мешей и маршрутизации ИИ.
Короче говоря: живые провода, это нечто среднее между элементом среды и нейтральным противником. Они "растут" из стен на некоторых уровнях и перемещаются вдоль этих самых стен как змеи или живые лианы. Двигаются всегда по направлению к управляющему корпусу сектора и обратно. Могут как напасть на игрока, так и помочь, в зависимости от его действий; у них внутри есть нечто вроде системы "репутации", и эта репутация во многом определяется поведением игрока на уровне включая шкалу его "шума". Саму систему даже теоретически я пока не расширял, т.к она явно просит боевки, которую я если и решусь добавить, то только когда буду уверен в своих анимациях и моделях.
3. "Дикие" - Флора и фауна с коллективным разумом. Тут всё относительно просто - противники в игре планируются как единый интеллект. Если на тебя нападает один, то вскоре появятся и другие. Главная идея: победить их нельзя, в том смысле, что их бесконечно много и с каждой секундой становится только больше. В фантазиях их можно разбить на фракции, но основа очень проста - поднял тревогу, теперь ищи способ спрятаться, или каким то образом "выруби" парочку, и молись. Шума они кстати тоже избегают, так что как вариант - можно залезть в аномалию с пузырём, и переждать там.
4. Прочие базовые вещи - всё остальное, о чем я мог бы сказать, вы так или иначе уже много где видели. Очевидно, что я вдохновляюсь иммерсив-симами и 3Д головоломками, так что их элементы обязательно будут в игре, если я конечно сдюжу. Даже при моей скорости обучения, делать игру в одиночку - это too much a little
Ищу команду?
По поводу команды. В прошлом я был немного против того, что бы работать с другими людьми над "своими" идеями. За последние 4 года я побывал в ~10 "инди-группировках", и 95% из них уже закрылись, надежды подают единицы (привет Заир и Styria, где я пока ещё штатный композитор =) )
К слову, над Silicon Soul я тоже пытался работать с командой. Это уже не первая итерация и не первая попытка. Около года назад один хороший геймдизайнер Сергей собрал меня и ещё двух человек в команду, что бы пилить игру на анриле. Команда по итогу развалилась из-за расхождений в художественном видении игры. Не вдаваясь в подробности, одна половина хотела сделать Dark Souls, а вторая God Of War, и на почве этого все разошлись. В основе нарратива там лежал так-же мой лор, и кое что из этой разработки я почерпнул в будущие идеи.
Одна проблема сеттинга (Проблема масштаба)
Единственной и основной проблемой сеттинга является его масштаб. 1 миллион квадратных километров - это, знаете, не мало, и речь не о том даже, что бы моделировать его вручную. Просто масштаб всегда ведет к пустоте, а пустота к скуке, что мы выяснили на примере ЗВЕЗДНОГО ПОЛЯ (всё ещё не считаю эту игру такой плохой, как о ней говорят, но пример вы поняли)
Как уже было сказано, эта итерация игры - не первая моя попытка. Ранее я работал над концептом с командой, и мы пришли к выводу, что интересно реализовать большой масштаб в рамках небольшой игры очень трудно; особенно трудно, если не использовать процедурную / случайную генерацию, с которой ещё нужно специально уметь работать.
Хотя игра и разрабатывается теперь всего неделю - я выкладываю девлог сейчас, потому что потратил не один год на ресерч и планирование. У меня есть 4 концепта игры, и среди них как раз сингл-плеер ммо, 2д платформер, 3д платфомер и текстовая ролёвка (т.к я иногда вожу партии по ДНД в роли мастера и имею опыт текстовых приключений)
Так вот, частью ресёрча был поиск на вопрос: как передать масштаб не создавая масштаб?
Сам по себе масштаб - понятие относительное, буквально. Обычно масштаб измеряется относительно человека, и чем объект больше относительно человеческого тела, тем он масштабнее. Нет проблемы создать куб в движке и поднять ему scale x1000, но вот как сделать этот куб интересным?
Ничего нового тут к сожалению не придумаешь - только большие задники, перспективная камера и фаст-тревел между зонами. Есть и другие, более креативные решения (вроде создания гигантского уровня и наделения персонажа огромной скоростью) но они сильно перетягивают на себя одеяло.
С увеличением фактического масштаба уровня растет требование к кол-ву его наполнения, или ты неминуемо столкнешься с проблемой старфилда, что для игры с упором на атмосферу совершенно вредно.
На данный момент я выбрал классическую формулу насыщенной нелинейной локации с фейковым масштабом через задники и некоторые другие "уловки глубины", о которых как нибудь в другой раз.
Почему я ищу команду, если ищу?
Вернемся к поиску команды.
Основная причина: объем работы, в которой я совершенно некомпетентен. По моему композиторскому и писательскому портфолио видно, что я не из ленивых, и собираю команду точно не для побега от обязанностей. Честно говоря, для меня нет ничего скучнее лени, и я не без удовольствия изучаю и программирование, и моделинг, в которых слаб.
Однако, если уж браться за создание именно что игры а не 10-ти минутной демки - тут, боюсь, моих навыков категорически недостаточно. Трудно это признавать, но я, похоже, не японский TOUHOU гений разрабатывающий 20 качественных игр в одиночку за 10 лет. Время, конечно, покажет кто я и где (бездомный на улице) - но сейчас ради блага самой игры, мне нужен минимум 1 человек в команду:
3д-моделер / аниматор. В инди секторе эти вещи обычно идут рука об руку, так-что да. Главным критерием является, внезапно, общий вкус или хотя бы понимание эстетики того, с чем придется работать. Разговор об опыте - уже другое дело, но подозреваю, что опыт любого 3д-моделера будет обширнее моего. Качество моих моделей вы можете видеть на ролике выше (рояль я вероломно выкрал).
Об остальных позициях нужно думать отдельно, и хотя я не против новых рук - размер команды частично усложняет разработку. Говорят, что 2-4 человека самых необходимых профессий, это в самый раз для инди.
Заключение
В опщем, с командой или без, но я продолжаю работу и сделаю всё, что в моих силах, что бы в первую очередь не бросить этот проект. Вы удивитесь, но судя по количеству недоделанных инди-игр и разваленных инди-группировок - не бросить, это самое сложное. Поговаривают, что даже просто закончив игру, ты уже имеешь бесконечное количество шансов на относительный успех. Вопрос, конечно, что считать успехом.
На заводе я заработал бы больше, но, не получил бы такого жизненного опыта и связей, как в геймдеве. Есть нечто приятное в просмотре видео с одним лайком, где чел решает проблему появляющуюся только в вальпургиеву ночь под парадом планет.
Звучит интересно и референсы интересные. Вдохновившись одним только blame можно сделать добуя интересного. В общем, интересная интересность. Пили, делай, не пропадай.
Надеюсь найдёшь чюваков в команду.
Желаю успехов в этом крайне не лёгком, но чертовски интересном ремесле под названием инди-геймдев!)
Blame! - это уважаемо!
Сам под впечатлением от этой вселенной начинал писать рассказ/роман, да забросил идею (может когда-то и вернусь). Насчёт игр тоже думал, и вырисовал для себя концепт сурвайвла с генерируемым миром, в котором бы переплетались большие пространства со множеством бесконечных коридоров. Пока на бумаге, но, авось, когда-нибудь удастся к этому подступить.
Желаю удачи в начинаниях, дабы в мире было больше мегаструктур и гигантизма)