Мой путь в геимдев и первый провал.
Начало начал
Всем привет, меня зовут Макс. Я разработчик игры The Last Prisoner. Это не история про «успешный успех», скорее наоборот. В общем, это история о том, как я много лет потихоньку втягивался в геймдев и довел свою первую игру до релиза в Steam.
Ещё будучи школотой я мечтал делать игры. В школьные годы мы с другом много обсуждали, как должна выглядеть игра нашей мечты и о чём же она будет. Главное, что мы уже тогда понимали: это обязательно должен быть постапокалиптичный сай-фай в стиле первых двух Fallout. Накидывали постоянно друг другу кучу идей, но дальше одного рисунка и идеи города под энергетическим куполом, дело не продвинулось.
Первые подвижки начались на последних курсах универа. Так как друг учился на программиста, он решил взяться за изучение Unity. Я же к тому моменту от программирования был далёк, потому что моих мозгов не хватило, чтоб удержаться даже на первом семестре по специальности «программирование». Я решил, что буду вносить свой вклад другим путём — буду создавать музыку и звуки для игры.
И вот, вооружившись FL Studio, я начал свои первые попытки со стандартными инструментами. Боже, как же я тогда тащился от того, что у меня получалось! Мне казалось, что сам Ханс Циммер мог бы мне позавидовать, а по факту получалась прям полная шляпа.
Но для того, чтоб задать атмосферу, этого на тот момент хватало. Также попутно я пытался изучать создание звуков. Для этого мы с другом выходили на пустырь возле аэропорта, вооружившись дешманским ноутом, микрофоном-петличкой, петардами, банками, склянками и прочим мусором, что смогли отыскать на месте, и начинали неистово всё взрывать, ломать, топтать и создавать прочие звуки. Положа руку на сердце, могу сказать, что мы записали много всякого… ммм, как бы это сказать… говна. И вот из этого говна я уже и пытался сделать конфетку: некоторые звуки даже удалось скомбинировать и сделать что-то пригодное, но всё равно звучало это ужасно. Тем не менее курс был задан.
Но спустя немного времени друг забросил создание игры, так как были большие проблемы с учёбой, а после универа появилась работа, так что на создание игры времени у него не хватало. В итоге к тому времени остался я один со своими наработками в музыке. Я начал задумываться о собственной вселенной: я знал, что это будет обязательно сай-фай, действие игры должно происходить на заброшенном космическом корабле, а главный герой должен быть кто-то типа Сэма Фишера, но кот… И у него должна быть катана… И воевать он должен с роботами…
Круто? Круто! — подумал я. С этими мыслями несколько лет писал треки, основываясь на этих образах, но так и не брался за написание сценария, движок и рисование — считал, что это слишком сложно. Были попытки пару раз залететь в Unity, но они оказались неудачными.
Первые шаги.
И вот, таким образом, настал 2018 год. Я решил начать хотя бы рисовать: начал, естественно, с главного героя, а также придумал, кто для него будет союзником.
Первый набросок главного героя и первые пробы в цифре. Смотреть больно.
В том же году я познакомился с серией Hotline Miami, которая заложила во мне любовь к синтвейву, хотя подсознательно я уже писал что-то недалёкое от синтвейва. Ну, а в 2019-м году я устроился на крайне чиловую работу, где было много свободного времени. В это же время я познакомился с Katana Zero. В тот момент эта игра взорвала мне мозг! Крутой пиксель-арт, офигенный сюжет, шикарный геймплей и просто мозговыносящая музыка. В тот момент я понял: вот оно, вот как должна играться моя игра. Так началась история Second Horizon.
В голове родилась формула: в игре будет несколько типов геймплея — в стиле Katana Zero в помещениях и в стиле Hotline Miami в коридорах корабля; перемещаться мы должны по кораблю в стиле лайтовой метроидвании, шмап в космосе, и во время диалогов — визуальная новелла. «Зачем столько всего?» — спросите вы. А вот потому что со мной за несколько лет до этого случилась ещё NieR: Automata с её постоянными сменами геймплея — и это мне тоже показалось очень крутой фишкой.
Вот с такими вводными я начал писать сюжет. Примерно в то же время я определился с движком: раз уж Hotline и Katana сделаны на GameMaker Studio, значит, и я должен его использовать. На тот момент я искал движок, в котором можно не программировать, а строить логику игры блок-схемами. В геймейкере эта фишка присутствует, но очень быстро я понял, что писать код намного быстрее и эффективнее. Тем более язык программирования GML, как и сам IDE геймейкера, очень дружелюбны к новичкам.
Написав первую главу, я понял, что дальше мне нужно будет на что-то опираться — на лор, чтоб не было расхождений в истории. Пару дней спустя первый его вариант был готов. В дальнейшем я буду его править, но фундамент уже был заложен.
Дальше начался интересный цикл. Помимо того, что я осваивал движок, пытался рисовать, изучал сторонние вещи по типу анимирования, я всё глубже и глубже погружался в эту вселенную: я писал музыку, основываясь на сценарии, потом получалось, что под эту музыку появляются сцены, к которым она больше подходит. Поэтому история, которую я написал, неразрывно связана с музыкой. Таким образом, за два месяца сценарий к Second Horizon был готов. Вышло в районе 60 страниц текста. Я был чертовски горд тем, что получилось; да что уж там — до сих пор горжусь. Но есть одно «но». Как, блин, я вообще собрался воплощать эту монструозную историю???
Тем временем мои ковыряния в движке начали приносить какие-то результаты. Сказать, что это был кошмар, — ничего не сказать. То, что было у меня в голове, и то, что я видел на экране, приводило меня в ужас.
Мне не нравилось абсолютно всё: визуал, передвижение, анимации, боевая система (если её вообще можно назвать таковой).
Я быстро осознал, что с моим опытом такую большую игру я не вытяну — надо начинать с чего-то попроще.
«Что-то попроще» в моём понимании изначально был небольшой битемап в стиле игры Kung Fury под Android. Игра должна была быть в той же вселенной, что и Second Horizon. Я придумал нового главного героя и его спутницу.
В ходе разработки я всё-таки решил отказаться от казуальной двухкнопочной механики, как в Kung Fury, в пользу полноценной боевой системы: свободное передвижение, комбо-атаки, кувырки и стремительные мощные лобовые атаки. Прототип получался уже более интересным в плане геймплея, чем моё прошлое поделие. После этого начал писать уже полноценный сценарий, а заодно вписывать туда все свои геймплейные хотелки, интересные ситуации. В итоге получился сценарий уже на 18 страниц. Считаю ли я его до сих пор хорошим? Да. Как по мне, даже спустя 5 лет после написания он всё ещё неплохо выглядит. Так началась разработка игры Rusted Hybrid: Hike, действие которой разворачивается параллельно с игрой Second Horizon. Всё свободное время я клепал прототип и писал сценарий, на работе и частично по вечерам дома.
Но всему хорошему однажды приходит кабзда. Началась эпидемия ковида, а так как я работал в общественном месте, где весь заработок держится на развлечении людей, этих самых людей заперли по домам, как и весь наш парк развлечений. Но для меня это даже пошло на пользу: я три месяца сидел дома и занимался полноценно игрой, допилил боевую систему до вменяемого состояния, нарисовал врагов, окружение, стартовую локацию, небольшой мини-боссфайт и начал делать секцию со шмапом (да-да, я опять решил поиграться с разными геймплейными механиками). Вроде всё шло неплохо, но вот настал час, когда денежная подушка закончилась, и надо было снова идти искать работу, так как на старой работе уже было 3 месяца простоя и чёрт знает, сколько этот карантин ещё бы продлился. Спойлер: они открылись только через 4–5 месяцев.
В общем, я устроился на новую работу с графиком «2 через 2». Первое время было очень трудно заниматься геймдевом и игрой, усталость давала о себе знать. И вот во время этого перерыва случилась одна ооочень неприятная ситуация, от которой у меня до сих пор горит. А именно: у меня в один прекрасный момент полетел один из двух жёстких дисков. И, как назло, полетел именно тот, на котором у меня находились все наработки: проект игры, графика, музыкальные исходники. Как говорится, есть два типа людей: те, кто ещё не делает бэкапы, и те, кто уже делает. На тот момент я был человеком из первого варианта: бэкап я делал за 6 или 7 месяцев до этого на облако, и, естественно, всё, что я делал после, было утеряно — а это довольно немалый объём работы. Весь прогресс откатился на пару месяцев назад. Из более-менее свежего на тот момент был небольшой скомпилированный билд, максимально упрощённый, чтобы по-быстрому показать коллеге на работе, что представляет из себя игра. Этот архив просто лежал в нашей переписке.
После этого я словил жёсткую дизмораль и на какое-то время тильтанул.
Творческие метания.
Итак, на дворе 21-й год. Я нашёл новую работу, на которой работаю и по сей день, с хорошим графиком, отличным коллективом и в сфере, которая мне близка по душе. В июле покупаю себе долгожданный графический планшет с экраном и начинаю учиться на нём рисовать. Первым нарисованным персонажем стал сисадмин Валера. Ещё на прошлой работе мы с коллегой по приколу придумали этого персонажа. По задумке Валера, сидя на работе, застал апокалипсис, который устроил Роскомнадзор. Во всю технику вселилась демоническая сила, после этого компьютеры ожили и начали нападать на людей. Валера, вооружившись огнетушителем, должен был пробить себе дорогу до штаба Роскомнадзора и закрыть портал в ад.
Изначально это должен быть хардкорный платформер. А также с помощью этого проекта я хотел пощупать наконец Unity. Просидев на нём месяц, я осознал, как сильно он меня тормозит, а некоторые вещи без «танцев с бубном» не сделаешь.
После этого я полгода прыгал по разным движкам, перепробовал всё, что только можно: Unity, Unreal, Godot, Construct, — но всё было не то. И где-то в начале 22-го года я решил с нуля начать делать «Хайка». Но случились всем известные события, и я словил сильную дизмораль от того, что обложили санкциями, ничего толком не купить из софта. Возник вопрос: а даже если я сделаю игру, как я буду её распространять? Но в течение года всё-таки подуспокоился, ситуация более-менее устаканилась, появилась куча методов обхода всего, что только можно. Взял себя в руки и начал с нуля разработку прототипа Rusted Hybrid: Hike на GameMaker.
Я полностью переделал то, как персонаж управляется: он теперь не является одним объектом — он состоит из трёх объектов: ноги, тело с головой и рука. Это позволило сделать так, что персонаж может одновременно бегать, атаковать катаной на ходу или стоя, а также стрелять на все 360 градусов. Также были сделаны волл-джампы, хоть и анимации были далеки от совершенства, но всё же это был прогресс. Добавил врагов с простым ИИ — и на этом всё опять заглохло, но ненадолго. Мне очень хотелось работать с нормальной «костной» анимацией, но без Spine, который на тот момент стоил ♂$300♂, в GameMaker это было нереально.
Поэтому на какое-то время я опять стопанулся и клепал только музыку. Между делом впервые поучаствовал в Ludum Dare 53. С тем самым другом, с которым и начался мой путь в геймдев, мы склепали Monster Bunker — вот только на этот раз уже я отвечал за игровую логику, музыку и звуки, друг же отвечал за арт и анимации. На эту игру мы потратили чуть меньше двух дней. Суть игры заключалась в том, что надо доставлять боеприпасы и запчасти для починки баррикады на блокпост, который осаждают монстры. В целом это был весёлый джем, к тому же в нашем городе для этого была отведена площадка, на которой в конце второго дня все участники представляли свои игры и проводилось голосование по категориям, с призами и тортиком. Познав вкус джемов, я закрыл для себя гештальт и отложил участие в них аж на пару лет.
Пару недель назад, закончился ludum Dare 58 и я вновь принял в нем участие, на этот раз полностью в соло, было круто, теперь хочется еще! Но это уже другая история...
После этого я решил попробовать заказать и нарисовать Хайка для игры у стороннего художника за денежку, чтобы он выглядел более реалистично. Мне сделали лайн-арт, но раскрасом я занялся самостоятельно — в итоге получился вот такой вот персонаж, я был очень доволен.
В это же время я наконец купил себе Spine для анимирования. И решил дать Unity ещё один шанс, так как захотел попробовать реализовать 2.5D-игру с плоским персонажем и 3D-окружением. Надо сказать, что выглядеть всё стало намного лучше. Над этим прототипом я работал ооочень медленно: во-первых, я никак не мог нормально совладать с движком; во-вторых, у меня абсолютно не получалось сделать адекватную боевую систему. Плюс, помимо этого, чтобы прокачать скилл в Spine, я присоединился к одной команде на энтузиазме в качестве аниматора. Мне понравилась концепция игры — это должно было быть маленьким приключением с лисичкой в главной роли. Я занимался анимированием мелочёвки и созданием вступительной кат-сцены для демоверсии. Казалось, что всё идёт хорошо: демо почти доделали, осталась пара штрихов — и можно будет искать финансирование. Вся команда из 20+ человек отправилась праздновать Новый год и отдыхать на каникулах. Но по какой-то непонятной причине вся команда, к сожалению, отдыхает уже два года. Очень жаль: все ребята в команде были довольно крутые, да и сам проект должен был быть интересным. После этого я окончательно для себя решил, что буду полностью работать в соло, а если кого-то и призывать в помощь, то только за деньги.
С января по май 24-го я работаю над Хайком и пытаюсь совладать с Unity, но в итоге Unity меня побеждает, и я решаю попробовать сделать на нём что-то попроще, максимально проще.
Таким образом, я возвращаюсь к идее с Валерой, рисую к нему обложку и попутно пытаюсь понять, как же он должен играться. В голову пришла идея, что это будет раннер по типу Subway Surfers, но с элементом вампир-лайка.
Валера — сисадмин. Когда начался апокалипсис, на сервере лежали размораживались креветки. И вот, когда техника начала оживать, в креветку вселился дух защитника вселенной, дабы помочь Валере предотвратить этот кошмар. Теперь серверная креветка сопровождает его и работает как оружие над головой Валеры. Суть игры заключалась в том, что во время забега по дорожкам разбросаны валюта, еда, патроны и части терминальных команд: если собрать правильную команду из двух слов, креветка начинала отстреливаться новым оружием. Понимаю, наркомания та ещё, но мне хотелось сделать что-то трэшовое и простое. Но опять же, Unity мне вставлял палки в колёса по кд: то анимации криво работают, то мои познания C# были днищенскими, и всё работало в целом через ж… В итоге к концу лета я просто дропнул Unity — думаю, к нему я больше не прикоснусь.
И что же я решил дальше? А дальше — снова грабли, но на этот раз Unreal Engine 5. Каким же крутым он мне казался: куча ассетов и готовых механик — бери и качай. Вот только есть одно «но»: все крутые ассеты платные, а санкции, как мы помним, с нас ещё не сняли. Думаю: ладно, обойдёмся тем, что есть. Сначала решил попробовать сделать «симулятор ходьбы» на Horror Engine, причём хотел сделать максимально трэшово. Так вот: лето, солнышко, герой гуляет по парку, гладит траву… Погладил траву определённое количество раз, дошёл в нужную точку — и гг ПРОВАЛИВАЕТСЯ В АД! ГГ выдаётся дробовик — и начинается бесконечное месилово с чертями. Я даже под это дело написал мозговыносящий трек, но дальше этого трека дело не зашло: я не люблю симуляторы ходьбы до такой степени, что мне даже сделать проект, который будет плевком в сторону этих симуляторов, не хотелось.
В итоге я попробовал просто с нуля сделать шутерную часть на блюпринтах — частично это получилось. В тот момент я заинтересовался захватом движения на анриле, метахюманами — вот это всё. Неделю копался в этом; в итоге в голову пришла идея попробовать сделать пролог для Second Horizon минут на 15. Я склепал частично окружение, написал сценарий для пролога, чтобы он работал от первого лица. Но на этапе захвата движения понял, что мне не хватает ещё пары айфонов, да и блюпринты отнимают очень много времени для реализации простых вещей. В общем, для себя решил: анрил — движок неплохой, с ним можно работать, но нужно выучить C++. Возможно, когда-нибудь я к нему вернусь — всё-таки в нём есть много удобных вещей.
The Last Prisoner и его провал.
И вот мы, добрались до наших дней — а именно до создания The Last Prisoner. Прототип игры я сделал очень давно на геймейкере, чисто по приколу. Идея заключалась в том, что это должен быть хардкорный платформер в стиле «Боши» и Super Meat Boy, но с механикой гравитации как в VVVVVV. Изначально это должна была быть игра про приключение кота, которого похитили пришельцы, и он должен был сбежать с их корабля, а игра должна была называться Gravity Cat, но…
Надо было двигаться в другую сторону. Мне в голову пришла идея (точнее мне подсказали в одном из геймдевовских чатиков), что было бы прикольно сделать заключённого сбегающего из тюрьмы. Я подумал хорошенько и решил, что впишу эту игру в ту же самую вселенную, что и прошлые игры (Second Horizon и Хайка). И это, можно сказать, будет вводной точкой во вселенную, которая раскроет часть её лора. А также эта игра станет моей грушей для битья, на которой будут набиваться шишки — чтобы понять, с чем придётся столкнуться при разработке других игр от и до. Плюс ко всему прочему, я начал во всю использовать платный ChatGPT для помощи в написании кода. Сам по себе он несёт чушь, но если его использовать как дополнительный инструмент, который будет направлять и исправлять, а не полностью писать за тебя код, то это просто шикарнейший инструмент, который очень бустанул скорость написания кода.
С октября 24-го по конец января этого года я усиленно работаю над демоверсией игры, покупаю слот в Steam, пытаюсь разобраться, как там всё работает, пишу сценарий, клепаю механики одну за другой, мучаюсь с рисовкой окружения — для меня это головная боль. Помимо рисовки персонажей — с ними хоть какой-то опыт есть — а вот окружение я очень мало рисовал. Также, ближе к выходу демоверсии, я всё-таки решаюсь нанять профессионалов для озвучки. Мой выбор пал на коллектив EaredDub — ещё вы можете их знать как «Ушастая озвучка». Очень крутые ребята, озвучивают в основном аниме, так что, как по мне, это был идеальный выбор.
31 декабря меня в одном из геймдев-чатов уговаривают запрыгнуть в последний вагон и до 12 ночи отправить заявку на участие в конкурсе IGRA. В итоге я в последний момент прихорашиваю то, что есть, буквально за пару часов собираю билд, ещё за час спидраню создание трейлера — и перед самым выходом из дома отправляю заявку. Важное уточнение: официального анонса игры на тот момент я ещё не делал и страницу в Steam не открывал.
После семейных посиделок и встречи нового года, вернувшись домой, первое, что я делаю, — допиливаю трейлер до нормального состояния, прихорашиваю страничку в Steam, делаю официальный анонс в 7 утра, и выжатый после таких спидранов, иду спать. До выхода демоверсии вишлистов капало не очень много, несмотря на то, что я много где трубил об анонсе. В среднем капало от одного до трёх вишей в день. Я знал, что будет мало, но не думал, что настолько. Но я не стал расстраиваться по этому поводу — ведь демо ещё не выпущено, и я продолжил усиленно доводить его до ума.
И вот, настало 27 января, день выхода демоверсии — и это полный провал. Саму игру в основном ругали за сложность и отсутствие чекпоинтов — за то, что должно было стать фишкой игры. Алло, люди, она и должна быть сложной, она не щадит казуалов! В Super Meat Boy тоже не было чекпоинтов на одной локации, как и в «Боши»: чекпоинты только в начале и конце локации! Но всем почему-то это было в кайф, а тут — нет. Окей, я принял эту критику. Я принципиально не хочу добавлять чекпоинты, но уступил и сделал выбор уровней сложности, где на последнем как раз и будет тот мазохизм, который я задумал изначально. На более лёгких уровнях сложности ловушек будет поменьше, и их можно использовать как ознакомление с локациями. Но также был и положительный фидбек: те, кто понял мою задумку, с кайфом проходили демо на хардкоре, им нравилось. А значит, пусть и для небольшой аудитории, но я всё же сделал то, чего им не хватало со времён VVVVVV и Super Meat Boy.
Настал момент релиза игры, как я и ожидал игра оказалась полным провалом.
Я уже принял тот факт, что игра провалилась. Но самое главное — во время разработки мне самому было играть в кайф: я кайфую от созданного сюжета, от того, как его оживили актёры, от того ультрахардкора, что я сотворил на локациях. Кайфую от создания музыки, которая потом вдохновляет меня продолжать работу над проектом. Я надеюсь, что найдутся такие же отбитые любители бескомпромиссного хардкора, которые также смогут кайфануть от этой игры.Я был очень рад, что те, кто все-таки опробовали игру, в целом остались довольны. Да игра не идеальна, в ней много косяков, слабый визуал, немного странное управление и инерция персонажа, к которой нужно привыкнуть. Есть огромные проблемы с производительностью на слабом железе(особенно ноутбучном), это потому что я неправильно выбрал технологию освещения.
Но даже несмотря на все косяки, я очень рад, что я прошел этот путь и получил огромый опыт. Я все еще горю желанием развивать эту вселенную. Рассказать историю Хайка, Кейсена, а так же этой вселенной, которая продолжает разрастаться и в ней появилось еще пара интересных историй во время создания The Last Prisoner!
Спасибо, что дочитали до конца мою историю. Ещё увидимся!