Lord of Lirania — моя первая игра, которую я довёл до релиза

Lord of Lirania — моя первая игра, которую я довёл до релиза

Привет, жители DTF! Хочу поделиться с вами своей историей успеха (ну и порекламировать игру, естественно) .

Предыстория

Как-то раз зимой я решил посмотреть дату создания самой старой папки в моей папочке Projects на домашнем компьютере. После дооооооолгого пролистывания, я был неприятно удивлён, увидев, что первые свои эксперименты с Unity я начал аж 7 лет назад. И результат этих семи лет — куча брошенных, недоделанных игр, каждая из которых когда-то казалась мне «проектом мечты». Чтобы сказал мне я из 2015-го, узнав, чем всё это обернётся?

Слева я из 2015-го, справа - из 2022.
Слева я из 2015-го, справа - из 2022.

Годы шли, я переключался с убийцы «Готики» на симбиоз «Цивилизации» с Rome: Total War, а с него на клон «Майнкрафта», по факту ничего путного при этом не созидая.

Тогда я сказал себе: «Хватит». Начинать нужно с малого. Я решил сосредоточить свои силы на одном небольшом проекте, который смогу сделать максимум за 1 квартал.

Lord of Lirania — моя первая игра, которую я довёл до релиза

Процесс творения

Сев тем вечером за компьютер, я определил для себя следующий ряд требований:

  • игра под Android на Unity;
  • диздок не больше одной (!) страницы;
  • релиз mvp версии, из которой нужно вырезать всё, без чего можно запуститься;
  • графика и музыка — купить ассеты;
  • цель — доказать себе, что могу провести проект от идеи до релиза, получить опыт создания и публикации игр;
  • цели заработать денег нет.

Изначально я решил сделать клон другой хорошей игры — Island Empire, добавив туда незначительные доработки. По факту, доработки оказались значительными, и итоговый результат сильно отличается от оригинала.

Написав в «Ворде» словестное описание игры, которую хочу сделать, я создал борду в «Трелло» и накидал задачи под каждую хотелку. После декомпозиции настал черёд эстимейшена — я прошёлся по списку задач и прикинул, сколько времени мне понадобится на реализацию каждой. Затем я ещё раз прошёлся по списку и выкинул оттуда всё, без чего можно было запуститься. Выкинутые из скоупа задачи сохранены в отдельном столбике «After MVP Works».

Результатом стала первая плановая дата релиза — 1 апреля. В ходе работы эту дату я пересматривал 3 раза, остановившись, в конечном итоге, на 5 мая.

Трелло: в итоговом чек-листе mvp версии осталось 64 пункта.
Трелло: в итоговом чек-листе mvp версии осталось 64 пункта.

Я не стал заморачиваться с графикой, просто накидал сам на скорую руку в Aseprite что-то типа грейбоксов, и сосредоточился на функционале.

Именно на этой графике я отточил все игровые механики. Художник из меня ещё тот…
Именно на этой графике я отточил все игровые механики. Художник из меня ещё тот…

Геймлпей я реализовал достаточно быстро, затем взялся за AI. Для стратегии умный AI — самая важная часть игры. Здесь меня ждала первая волна рефакторинга — логика игры у меня была плотно связана с отображением. AI в ходе размышлений применял к карте разные варианты ходов и оценивал их последствия. Все это показывалось игроку 🤦‍♂. Тогда мне пришлось повозиться и разделить логику ходов от их рендеринга.

Вначале я попытался реализовать AI в виде монстра с генетической генерацией сценариев и просчётом ходов на 2 шага вперёд. Получилось очень громоздко, медленно и, что самое главное, очень тупо. Компьютерный игрок совершал очевидные ошибки и в целом вел себя как рандомно тыкающая в экран телефона обезьянка.

Тогда меня ждала вторая волна рефакторинга, когда я отказался от сложных алгоритмов, которые у меня явно не получились, и реализовал достаточно простое решение, основанное на куче if-ов. Keep it simple, stupid! AI сразу пободрел и играть с ним стало гораздо интереснее.

Lord of Lirania — моя первая игра, которую я довёл до релиза

Третья волна рефакторинга накрыла меня, когда мне понадобилось последовательно отображать ходы противника во время смены ходов. Игра устроена так, что AI сначала думает, потом ходит. Рендерер отображал все примененные компьютером ходы одновременно, из-за чего было совершенно непонятно, что происходит на карте.

Чтобы сделать этот процесс синхронным, мне пришлось выделить думанье AI в отдельную корутину, а отображение принятых ходов — в другую корутину, и завязать их на ожидание друг друга. Принятные ходы первой корутиной складываются в очередь, а вторая эту очередь разгребает. Первая очередь не приступает к следующему игроку, пока очередь не очистится от ходов предыдущего игрока. Получилось довольно неплохо.

Когда я купил милую графику и прикрутил это к игре, проект стал похожим на игру.

Уровень всё тот же, что и на предыдущей картинке. Разница, как говорится, налицо…
Уровень всё тот же, что и на предыдущей картинке. Разница, как говорится, налицо…

Последние недели до релиза я усиленно тестировал игру, ловил баги, оптимизировал баланс и сложность уровней, прикручивал аналитику. Неожиданно много времени заняла подготовка к релизу — регистрация в google play, заполнение данных игры, опросники для присвоения возрастного рейтинга, создание скриншотов и запись видео. Но теперь, наконец-то, всё это позади!

Особенности игры

Когда я смотрю на Lord of Lirania сейчас, я уже не вижу той игры, клоном которой она задумывалась (попробуйте сравнить с Island Empire, она классная). В основе это всё та же пошаговая стратегия с захватом территорий, но несколько ключевых моментов претерпели существенные изменения. 4 уровня одного и того же юнита превратились в 4 разных типов юнитов, каждый со своими особенностями.

Юниты сбалансированы между собой по принципу камень-ножницы-бумага: мечник бьёт копейщика, копейщик бьёт всадника, всадник бьёт лучника, лучник бьёт мечника. Столица стала играть важную роль и перестала перемещаться и создаваться из ниоткуда, по сравнению с оригиналом. Экономика в игре может быть только одна, ее невозможно разделить. У города и у юнитов появились очки здоровья.

Релизный трейлер игры

На данный момент в игре есть 15 уровней, которые проходятся за пару вечеров. Запланировано у меня всего 120 уровней, буду добавлять их в игру потихоньку.

Первыми протестить мою игру вызвались мои друзья и коллеги. Послушав их отзывы, я приободрился и решил показать своё творение более широкой аудитории. Не обошлось и без проблем — некоторые игроки столкнулись с фризами, которые я в спешном порядке пофиксил (надеюсь, что пофиксил 😥) .

Если вас заинтересовала моя игра, вы можете найти её по ссылке ниже. Буду благодарен за любые пожелания/предложения/отзывы.

Спасибо за внимание!

UPDATE

Многие столкнулись с проблемой недоступности игры в Google Play. Пока я разбираюсь, в чём проблема, прикладываю ссылку на apk файлик на itch.io:

591591
121 комментарий

Хороший текст и забавная очепятка в нем. Название конторы может быть любым, мне просто ближе Сони.

Удачи автору в развитии своего детища!

44

Опечатка по Фрейду 😆

Спасибо!

5

Успех = релиз?

Хоть что то по деньгам принесло? Или есть такие надежды?

В любом случае автору спасибо за рассказ и чёткость мысли, порадовала честность перед собой и читателями!

2

Для меня это успех - я доказал себе, что могу делать игры, что не зря тратил свое свободное время)
Деньги я на этот проект только тратил, монетизации пока нет никакой. Но я и не ставил цели заработать на первом же проекте - не всё сразу)

87

Уметь доводить начатое дело до конца — громадный успех. Начать можно с мытья окон. Помыть все окна в доме за один день... Профит — больше света поступает в дом, но денег это не приносит. Но самое главное, что планирование было правильным. Можно применять на чём-то ещё. Так и до убийцы "Готики" недалеко.

31

Нифига, клево выглядит, ещё и на FE похожа, заценю

5