Как освоить игровой движок самостоятельно: опыт Марка Брауна, ведущего GMTK
Советы популярного блогера, который начал делать игры.
Иллюстрация: Game Maker's Toolkit / YouTube / stockgiu / Freepik / Colowgee для Skillbox Media
Марк Браун — автор и ведущий Game Maker’s Toolkit, одного из самых популярных YouTube-каналов, посвящённых разработке игр. В своих видео блогер разбирает самые разные аспекты создания игр — от левел-дизайна до борьбы со сейв-скамингом, а также делает интервью с разработчиками о геймдизайне и проводит ежегодный геймджем под названием GMTK Game Jam.
Долгое время Браун оставался теоретиком, пока в 2021 году не объявил, что собирается взяться за собственную игру. На сегодня он выпустил тринадцать роликов, посвящённых её разработке. Мы решили написать серию текстов, в которых расскажем о самых важных моментах из этих видео и о главных выводах по ним.
В первой статье речь пойдёт о том, как Браун осваивал Unity и какие советы дал тем, кто взялся за создание своей первой игры.
Содержание
«Привет, я Марк Браун…»
В сентябре 2021-го, после двухмесячного перерыва, блогер опубликовал на канале видео, которое начал со слов: «Привет, я Марк Браун… и это необычный выпуск Game Maker’s Toolkit». Создатель канала объяснил, что брал небольшой отпуск, чтобы сыграть свадьбу, отдохнуть и заодно заняться новым проектом — серией роликов под названием Developing. Суть проекта проста: Браун решил создать собственную игру и снять серию видео о её разработке.
При этом он уверенно заявил, что не собирается с первого раза делать шедевр на все времена:
«Это будет очень маленькая видеоигра. Очень плохая видеоигра. Но это будет видеоигра. И я хочу поделиться с вами процессом своего роста, — от ничего не знающего чайника до человека, выпустившего крохотную игру на, скажем, itch.io».
Браун назвал три причины, по которым решился на этот проект:
- Потребность найти применение своим знаниям. За семь лет существования канала Game Maker’s Toolkit блогер ни разу не применял на практике принципы геймдизайна, о которых так много рассказывал. «Это как вести YouTube-канал о кулинарии и выпускать видео про яйца, муку, масло и сахар, но при этом ни разу не испечь торт самостоятельно», — отметил Браун. Блогер добавил, что сам не видит в этом ничего плохого, ведь взгляд со стороны тоже может быть ценным, а отсутствие практики не обесценивает знания, накопленные долгим изучением теории, — но создание своей игры откроет ему новую перспективу. «Какие сюрпризы ждут того, кто до этого только играл в игры? Давайте выясним», — предложил ведущий GMTK.
- Желание показать, что любой может создать игру с нуля собственными силами. У каждого есть оправдания, чтобы не воплощать свои идеи в жизнь: мы не знаем, с чего начать, сколько времени займёт процесс и как это время найти. Браун признался, что знаком с подобными сомнениями не понаслышке, и надеялся, что своим примером вдохновит зрителей на первые шаги в геймдеве.
- Новый вызов для самого себя. В ноябре 2020 года канал Game Maker’s Toolkit перевалил отметку в 1 млн подписчиков — и блогер решил, что это хороший повод для того, чтобы попробовать новый формат. Он объяснил: «Я должен подтолкнуть себя, бросить себе вызов, выбраться из зоны комфорта и попытаться сделать что-то, чего я никогда раньше не делал».
«Будет очень интересно взять идеи, которые до этого были лишь теоретическими и висели в воздухе, и попробовать действительно, буквально, физически применить их в игровой разработке. И посмотреть, что из этого выйдет», — отметил блогер.
Освоение Unity без гайдов
Уже во втором ролике Марк Браун признался, что затея с разработкой игры едва не закончилась в самом начале пути — и всё из-за туториалов.
Первым делом Брауну нужно было выбрать движок — программу, которая отвечает за технические аспекты создаваемой игры. В частности, именно движки отвечают за рендеринг графики, грамотное отображение интерфейса, физические расчёты, работу скриптов и многое другое.
Блогер решил использовать Unity: этот движок сочетает мощный инструментарий и относительную простоту освоения, одинаково хорошо подходит для 2D и 3D, а также поддерживается, кажется, всеми современными платформами. Но главное, технология крайне популярна: большинство современных игр, выпущенных в Steam, созданы на Unity, и среди них есть совершенно разные проекты, такие как Hearthstone, Hollow Knight и Cities Skyline.
После выбора движка Брауну оставалось только научиться им пользоваться — и вот тут начались проблемы. На YouTube он нашёл множество обучающих видео и принялся дотошно следовать их инструкциям: кликать на нужные кнопки, открывать указанные окна, копировать куски кода и тому подобное.
Очень скоро блогер смог собрать работающую игру, что очень воодушевило его, — но когда спустя несколько недель Браун решил создать с нуля новый проект, чтобы проверить, чему удалось научиться, то понял, что у него не выходит ничего толкового.
«Всё, чему учили [в туториалах], влетело в одно ухо и вылетело из другого. Я даже не мог сделать так, чтобы персонаж появлялся на экране и ходил по нему. Это был просто кошмар!»
Это сильно деморализовало Брауна, и какое-то время он даже подумывал отказаться от своего проекта, но затем вспомнил, как за годы до этого осваивал видеоредактор Adobe Premiere.
Ещё во времена, когда Марк делал рецензии для сайта Pocket Gamer, он научился базовым навыкам монтажа — разобрался, как добавлять файлы в проект, размещать их на таймлайне, делать простейшие склейки. Позже он создал канал Game Maker’s Toolkit и захотел использовать в работе с видео более интересные вещи вроде фильтров, необычных шрифтов и компьютерной графики. К тому моменту он уже записал сотни рецензий для Pocket Gamer и знал редактор достаточно хорошо, чтобы позволить себе эксперименты с монтажом.
И если такой подход сработал с Adobe Premiere, почему бы ему не сработать с Unity?
«Если так подумать, существует бесконечное множество идей, которые могут прийти ко мне в голову, но знать, как воплотить в жизнь каждую, в самом начале пути физически невозможно. Так что всё, что я могу сделать, — это научиться пользоваться доступными инструментами. И когда появится очередная идея, я буду достаточно подкован в софте и уверен в своих силах, чтобы самостоятельно поэкспериментировать и найти способ её реализовать».
Для начала Браун выяснил, как работают игровые объекты (GameObjects) — базовый функционал Unity для создания любых объектов в сцене, от персонажей и пропсов до источников света и спецэффектов. Такие объекты работают по принципу невидимых контейнеров, куда можно «насыпать» различные компоненты — графические спрайты, физические свойства, коллизии и, что самое главное, игровые скрипты с нужным кодом.
Затем блогер составил список всех нужных ему базовых навыков: как создать игровой объект и удалить его, как заставить объекты взаимодействовать, как разобраться с интерфейсом, построить уровень, прописать состояние Game Over.
Теперь ему не нужен был всеобъемлющий туториал: он мог гуглить конкретные вопросы и получать на них конкретные ответы. Чтобы закрепить эти уроки, Браун решил создавать простейшие проекты и игры-клоны — до тех пор, пока не удастся как следует освоить инструменты Unity.
«Я понял, что лучший способ закрепить какие-либо знания в игровой разработке — воспользоваться древним искусством плагиата. Я имею в виду копирование самых простых игр… с базовым геймплеем и правилами. Скопировав их, я смогу доказать себе, что понимаю, как работает Unity. Это действительно хорошая тренировка, потому что вам не нужно беспокоиться о визуале, дизайне, правилах и прочих вещах. Всё это уже сделали за вас. Вас должен волновать только код».
Первым прототипом, который сделал Браун, стал клон Flappy Bird. Визуально он выглядел даже беднее первоисточника, но красивая картинка блогеру и не нужна была — важнее то, что ему удалось заставить объект со спрайтом птицы прыгать между колоннами.
При этом Браун сделал так, что сама птица всё время подскакивала на одном и том же на месте, а иллюзия её движения создавалась за счёт ползущих справа налево колонн. Сделать так, по словам блогера, оказалось куда проще, чем заставить птицу в самом деле лететь вперёд. «Поверьте, я почувствовал себя гением, когда дошёл до этого решения».
После этого Браун скопировал ещё одну игру — Pop the Lock, где стрелка кодового замка ходит кругами по циферблату и нужно кликать по экрану, когда она попадает в жёлтую зону.
«Мне снова удалось создать игру, которая работала на моём компьютере… Все эмоции сложно передать словами, но было чувство, [которое можно описать как] „я это сделал!“. У меня была цель — создать игру. И мне это удалось. Но самое главное — [всё это время] я доказывал себе, что разбираюсь в Unity, и овладевал инструментами».
Марк вновь обрёл почву под ногами и, вдохновлённый первыми успехами, решил перейти к третьему шагу — сделать собственную игру с нуля.
Ошибка, которую совершает каждый новичок
«С чего начать, когда разрабатываешь игру? — с этих слов Браун начал следующий эпизод. — Мне кажется, это жизненно важный вопрос… потому что, если выбрать неверное направление на старте, это может привести к катастрофе». Это он узнал на своём опыте.
Марк решил сделать 2D-платформер — игру в духе Super Meat Boy и Celeste. На это было несколько причин. Во-первых, Браун сам горячо любит этот жанр. Во-вторых, ему подумалось, что создать платформер сравнительно просто. И в-третьих, блогер подготовил немало эссе с разбором геймплея упомянутых игр и других платформеров.
К тому же у Брауна уже была идея для ключевой игровой механики, позаимствованная из The Legend of Zelda: Oracle of Seasons. «Идея в том, что у главного героя будут магнитные силы, которые позволят ему отталкиваться и притягиваться к разным платформам. А по нажатию клавиши можно будет менять полярности», — решил блогер.
В видео Браун рассказал, что это уже не первая попытка сделать свою игру. Он показал толстую папку с набросками проекта, начатого и заброшенного за несколько лет до создания канала Game Maker’s Toolkit.
Проект назывался Carter’s Curse. В нём герой-археолог сражался с мумиями и египетскими богами, решая японские кроссворды. Марк много часов провёл в Adobe Photoshop, рисуя спрайты персонажей, вступительную кат-сцену, анимированные элементы и красивые кнопки интерфейса, чтобы игра выглядела хорошо.
«Но потом я осознал кое-что очень важное. Кое-что весьма губительное для проекта. Я осознал, что игра ужасна! Она была очень плохой и невероятно скучной».
Механика японских кроссвордов Carter’s Curse не подходила: ей попросту не хватало глубины и разнообразия. Это настолько расстроило Брауна, что он даже не попытался спасти проект, а просто забыл о нём. Теперь, спустя годы, Марк понял, что именно он тогда сделал не так.
«Разработка игры включает много разных элементов. Среди ключевых — музыка, визуал, геймдизайн, сюжет и код. Предположить, что все они равны между собой, легко, но это не так. В большинстве случаев геймдизайн стоит не наравне с остальными элементами, а в их основе. Если забыть про это, игра развалится».
Чтобы избежать тех же промахов, Марк решил последовать примеру опытных разработчиков и создать прототип — черновой набросок, предназначенный для тестирования игровых механик.
«[Прототип] — это более или менее работающая версия игровой идеи, созданная настолько быстро, насколько это возможно, с единственной целью — проверить, путная это идея или нет. Будет ли она увлекательной или интересной? Стоит ли развивать её дальше? Сможет ли она стать надёжным основанием для целой игры?»
Сначала Марк создал героя, который мог просто ходить по экрану. Затем он добавил на уровень магнит и с помощью кода, найденного в интернете, научил его притягивать к себе игрового персонажа. После этого он добавил функцию включения и выключения магнита, позволив игроку контролировать передвижение героя в воздухе.
Когда Браун наткнулся на функцию Point Effector 2D, которая по сути позволяет создать в игре магнитное поле с помощью готового инструмента внутри Unity, он решил сделать второй прототип. И вскоре ему пришла в голову ещё одна мысль: что, если магнитом будет не сам герой, а отдельный предмет, который можно подбирать?
Новая задумка открывала возможность реализовать множество интересных сценариев. Теперь герой мог, к примеру, швырнуть магнит в стену, чтобы создать платформу. Или менять его полюса, чтобы прыгать с конвейера на конвейер. Или прицепить магнит к платформе на пружине, запрыгнуть на неё, а затем сменить полярность магнита, чтобы взлететь выше.
Этих идей вполне хватило бы на целую игру — и, что ещё важнее, у этой игры было бы куда больше шансов получиться увлекательной.
«В этом и кроется сила прототипов: с их помощью вы можете проверить, насколько хороша идея вашей игры. И если очень повезёт, то на этапе прототипирования у вас возникнут новые идеи».
Именно такое озарение пришло к Марку. Впрочем, оно же стало источником ещё одной проблемы — потому что изменение персонажа случайно привело к смене жанра игры. Но об этом мы расскажем уже во второй статье.
Подписывайтесь на наш телеграм-канал «Чекпоинт». Это уютное место, в котором мы рассказываем об играх и о том, как они создаются, а также делимся полезными советами разработчиков и пишем о важных обновлениях популярного софта. Комментарии открыты: вы можете предложить идею для нового текста или просто обсудить всё, что связано с геймдевом.