Краткая история создания моей первой микро-игры.
Около года назад я выпустил свою первую микроигру - "Торговец, Смерть и Ты".
Успеха она особого не сыскала, хотя все, кто поиграл, отзывались о ней в целом хорошо. Но здесь не хочу скатываться в «Плач Ярославны» или глубокий разбор ошибок (кои, безусловно, были). Хочу просто вспомнить, как всё было — скорее даже для самого себя, пока не забыл. Потому что сам процесс разработки доставил мне огромное удовольствие.
Этот текст может быть интересен тем, кто только хочет попробовать делать игры в соло, и тем, кто уже этим занимается — как обмен опытом.
Игра доступна бесплатно и запускается прямо в браузере: 👉 The Trader, Death and You на itch.io
Также она есть на VK Play (за символическую цену): 👉 The Trader, Death and You на VK Play
Бэкграунд
Желание делать игры было у меня всегда, а недавно к нему добавилось немного свободного времени. Не могу назвать себя профессиональным программистом — профильного образования нет, только курсы, хотя по долгу службы писать код приходилось часто.
Движком я выбрал Unity, так как актуально. Я игрался с ним и раньше, но теперь решил подойти серьёзно — начать с теории. Итак для начала:
- Перепрошёл курс C# на metanit.com — ушёл на это примерно месяц.
- Потом психанул и взялся за шаблоны проектирования — по тому же Metanit, Refactoring Guru и книге "Паттерны проектирования" (Head First, O’Reilly). (Благо сейчас я их уже частично забыл — нужны далеко не все. Но в целом мне просто нравится учиться.)-
- Венцом обучения стал курс от XYZ по созданию 2D-игры, который я, скажем так, нашёл в открытом доступе 😅. Курс оказался толковым, хоть и не без шероховатостей. Код я не копировал — писал свой, по-своему. Брал идеи, сравнивал качество, старался, чтобы у меня было не хуже.
Видение проекта и ещё немного обучения
К середине курса я начал думать о своей игре. Старался трезво оценить силы, чтобы сделать всё хотя бы за три месяца (к тому времени уже три месяца обучения прошли).
Жанром выбрал метроидванию — просто потому что люблю этот жанр. Проект я изначально рассматривал как тренировочный, не коммерческий.
Изначальное видение было такое: маленькая игра на час, метроидвания в замке. Хотел, чтобы уровни напоминали настоящие места, а не арены на которых увлекательно будет побегать-попрыгать, и игра оставляла ощущение у игрока, что он где-то побывал. Чтобы каждая локация имела смысл и назначение. Например, если есть комната — пусть у неё будет функция и соответствующая обстановка. Вдохновлялся одной из любимых игр с NES — The Addams Family.
Однако пройти курс и сделать свою игру — это две большие разницы. Цельного ничего сначала не получалось. Пришлось притормозить и почитать про геймдизайн:
После этого процесс создания немного прояснился — и можно было начинать.
Ограничения как двигатель прогресса
Всё началось с осознания моих ограничений. На самом деле, весь процесс разработки во многом ими и определялся: они подрезали полёт фантазии, но при этом направляли его. Ограничения развивают креативность — не я сказал, но сказано точно.
Рисовать я не умел, а учиться — долго. Книги по пиксель-арту помогли понять основы, но не сделали из меня художника. Пришлось искать готовые ассеты и дорабатывать их. Сильно помог itch.io.
Как же можно зависнуть, подбирая ассеты, фильтруя платные и выискивая то, что нужно... Сначала я нашёл отличного персонажа со всеми нужными анимациями, потом — ассеты для замка. Это стало основой визуала. Ассет замка Castle of Despair был хорош, но целый замок из него собрать нельзя — слишком однообразно. Поэтому я перенёс действие во двор замка с несколькими башнями — компромисс, рожденный ограничениями.
Один из персонажей — Торговец. Его спрайт я нашёл случайно, и этот зловещий образ-спрайт стал основой характера персонажа. Так внешнее ограничение превратилось в сюжетную находку.
Сначала я стеснялся использовать чужие материалы — музыку, анимации, звуки — но вскоре смирился и стал использовать всё подходящее без зазрения совести.
История и персонажи
Не хочу спойлерить сюжет, вдруг кто-то решит поиграть 🙂 История вертелась вокруг персонажей и постоянно эволюционировала по мере разработки. По ходу дела у меня постоянно было ощущение, будто я узнаю о своих героях что-то новое, а не придумываю это. Как будто они уже где-то есть, и я просто узнаю о них больше, стоит направить на них своё внимание.
Иногда казалось, что история диктует окружение, а иногда — наоборот. Например, делаю Водосборную Башню и думаю, как вплести её в сюжет. Или придумываю поворот — и под него создаю архитектуру.
Персонажей всего три. Я лишил их имён и сделал на основе архетипов — это экономило текст и делало героев универсальными. Они знают друг о друге, у них есть отношения и цели — не просто «NPC по квестам». Как придумал ядро сюжета — уже и не помню. Всё шло от персонажей. В их честь я и назвал игру.
Процесс
До начала обучения я думал, что разработка игр — это про создание миров, творчество, полёт фантазии и тому подобное. Но после чтения про геймдизайн я увидел, что это скорее про удержание игрока любым способом, игровые циклы, вознаграждения и это вот всё.
В моём случае процесс напоминал сшивание разных идей в единое целое. К тому моменту я уже реализовал несколько механик: двойной прыжок, файерболы, зависание на стенах, телепорт в то место, куда долетел кинутый нож и т. п. Многие из них пришлось вырезать — в короткой игре они бы просто не раскрылись. Я оставил только две — двойной прыжок и зависание на стенах, сосредоточившись на окружении. Так снова ограничения подсказали дизайнерские решения.
Забавно, но вся игра выросла из сцены, где я отлаживал эти механики.
Ощущения от процесса
Главное, что запомнилось — постоянная подгонка персонажей, сюжета, окружения и механик. Поиск идей, рисование в тетради, перенос в редактор, бесконечные переделки. Мне казалось, что я не придумываю, а узнаю историю, которая уже существует. Это потрясающее чувство.
Но такой подход плохо прогнозируем. Я часто застревал в болоте из механик и доработок. Главный вывод — всё нужно продумывать заранее. Лучше потратить время в начале и наметить историю широкими мазками.
До середины разработки у меня не было финала сюжета и понимания, чем всё закончится. Возможно, у кого-то процесс идёт иначе, но у меня иначе не выходило — слишком хотелось всё сразу.
Доделки и финишная прямая
Когда игра уже почти готова, внезапно всплывает целый список мелочей: исправить перевод, подровнять объект, добавить коллайдер, сделать прыжок очевиднее... Конца им не было. Однако здесь открылось второе дыхание и завершать было как финишировать после спринта. Хотя много где пишут, что готовые проект сложнее всего доделать, довести до ума, мне наоборот, я чуствовал себя гончей, которая вот вот добежит до цели.
И, конечно все доделки сопровождались тоннами говнокода. Мне до сих пор за него немного стыдно. Часть — от лени, часть — от незнания. Но без этого не пришло бы понимание, как надо делать. Возможно, оно ещё не до конца пришло, но я к нему определённо продвинулся.
Тестирование
Тестировал среди друзей. Особенно полезно, когда кто-то играет при тебе — сразу видно, где игрок теряется или ломает механику. Так я нашёл одну серьёзную ошибку, делавшую игру непроходимой, и массу мелких. Переделал даже одну головоломку — оказалась слишком сложной.
Фух. Трудно рассказать обо всём сразу. Сделаю-ка перерыв. Дальше непременно напишу о релизе, выводах и том, чему всё это меня научило.
🎮 Мои проекты на Itch.io: vyacheslavtarasov.itch.io
💬 Вместо заключения
Я планирую периодически выкладывать и другие конспекты книг по гейм-дизайну.