Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

Хочу поведать вам свою историю, как мне удалось сделать мобильную RPG игру в одиночку, без программирования и бюджета. Это был непростой путь, длинной в целых 2 года. Но чтобы вы лучше понимали всю историю расскажу для начала с чего всё начиналось.

JAVA игры

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

Я фанат мобильных игр. Возможно кто помнит, лет десять-пятнадцать назад у всех были кнопочные мобильные телефоны, в которых можно было загружать java приложения. Это могли быть как простенькие аркады, так и вполне серьёзные RPG и стратегические игры. Каждая такая серьёзная игра не переставляла удивлять глубиной и разнообразием. И как только разработчикам удавалось вопреки всем аппаратным и программным ограничениям делать настолько глубокие шедевры?!

Это были игры, в которых ещё не было никакого free-to-play. Каждая новая игра была открытием. Чувствовалось, что разработчики вкладывали душу в свои проекты. И делали свою работу максимально качественной, чтобы игроки покупали их игры снова и снова. С большими надеждами я ждал то время, когда производительность мобильных устройств возрастёт, а вместе с ней увеличится и масштаб игр.

Android игры

И первое время так и было. Помните первые крупные мобильные игры, которые появлялись на новых смартфонах? Galaxy on Fire 2, серия Asphalt, Modern Combat. Удивительно, но все эти игры являются портами одноименных java-хитов. Время шло вперёд, стали появляться всё более и более мощные устройства. Увеличивались размеры экранов. И вроде бы вот она, золотая эпоха мобильных игр, когда полёт творческой мысли создателей уже больше ничем не ограничен.

Но, к сожалению, с каждым годом игры всё больше и больше переставали быть местом для творчества. Теперь это крупный бизнес, в котором крутятся большие деньги. Больше никаких новых идей, только копирование друг друга. Мне, как ценителю стратегий и RPG стало больно смотреть во что превратились современные игры. Теперь, стратегиями называют всякого рода фермы, которые клонируют геймплей либо Clash of Clans, либо Game of War. На игроков многие разработчики смотрят лишь как на кошелёк с деньгами, который нужно регулярно трясти, чтобы получить больше денег.

А самое большое разочарование, что в современных играх, деньги стали решающим фактором, определяющим успех игрока. Хочешь мощное оружие - только сегодня и только для вас, новый меч "Пожинатель душ 2000" всего за 9.99$. Хочешь улучшить цитадель - жди 999 лет или заплати 299 рубинов(кристаллов/золота/кредитов/алмазов, подчеркнуть нужное) и сможешь построить здание прямо сейчас. Хочешь побеждать, не прикладывая ради этого никаких умственных усилий - заплати 4.99$ и сможешь победить Васю в неравном бою, имея огромное преимущество.

Меня, как истинного фаната тех самых java-игр (с их сложным и глубоким геймплеем), такая ситуация не устраивала в корне. И я уверен, не только меня одного. Прошу прощение за такое длинное предисловие, но это просто необходимо для того, чтобы вы лучше понимали, с какими мыслями и какими идеями я руководствовался при создании своей мобильной игры.

Стартовые условия

Итак, что у меня было: отсутствие знаний программирования, бюджета на разработку и наличие подлинного желание сделать хорошую игру. Потому, всё (кроме бесплатных звуков и иконок) пришлось делать самостоятельно, что называется ручками. А всё что делал не сам было взято из бесплатных ассетов. Ну, как гласит известная мудрость "мы там, где мы есть, с тем что у нас есть и делаем с этим то, что можем делать". И мы либо делаем что-то с тем, что имеем либо не делаем вообще ничего.

Откуда была взята идея

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

Несколько лет я играл мобильную стратегию под названием Galaxy Legend. Суть игры проста - у нас есть космические корабли, каждый из которых обладает своим набором характеристик плюс специальное умение. Бои проходят автоматически, по особой пошаговой механике. Задача игрока в том, чтобы собрать максимально эффективный флот и придумать эффективную расстановку кораблей, учитывающую особенности вашего флота и вражеского.

Идея замечательная, но как и в любой другой современной мобильной стратегии, здесь был очень сильный донат. За деньги другие игроки могли покупать более крутые корабли и лучше прокачивать любые характеристики. Тактика и стратегия уступала месту тугому кошельку. Играя без доната (или с относительно небольшим донатом) прокачка вашего аккаунта напрямую зависела от влияния рандома. Вам может повезёт и вы получите из ящика заветный корабль. А может и не получите. За N-сумму денег вы получаете корабль гарантированно. И так практически с каждым аспектом игры.

Потому я решил взять за основу боевую механику из Galaxy Legend, где-то её упростить, а где-то сделать более сложной и продуманной. Упор я решил сделать в разнообразии способов прокачки. Вы сражаетесь, зарабатываете ресурсы, вкладываете их в прокачку нужного вам билда и сражаетесь дальше, имея более лучший корабль и более сложных и интересных соперников.

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

Сложность и глубина игры

Бои автоматические, и проходят пошагово, по специальным правилам. Сначала ходит (атакует) один корабль, затем другой. По ходу боя у кораблей заряжаются аккумуляторы. Когда аккумулятор будет полностью заряжен, корабль атакует супер-атакой и активирует умение. При этом, в каждой атаке рассчитывается вероятность попадания, шанса крита, блока (и т.д.).

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

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

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

Таким образом, любой ваш корабль обладает своим собственным набором преимуществ и недостатков. Точно также, как и корабли противника. Это своего рода головоломка, которую игроку необходимо решить. И против каждого серьёзного врага необходимо корректировать свою тактику: выбрать другое умение, переназначить должности членам экипажа, установить другой набор энергитических кристаллов и т.д.

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

Разумеется, можно играть и не думая, просто качать корабль, нажимать кнопку "в бой" и удивляться своим поражением. Но игра - это всего лишь инструмент, который может стать мощным оружием в одних руках и бесполезным в других.

Замена донатных механик

Также, я решил в качестве эксперимента добавить режим кликера, в котором можно добыть основные ресурсы, использующиеся для прокачки корабля (некоторые ресурсы добываются только в бою). Сперва нужно добыть энергию, а уже за энергию добываем кредиты и техн. очки. Максимальный запас ресурсов ограничен, но его можно увеличивать (за те же ресурсы), как можно и увеличивать скорость добычи. Это было сделано в первую очередь для того, чтобы сражения не превращались в гринд ресурсов.

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

Бои происходят не так часто, но при этом, они имеют для игрока куда бОльшую ценность. Как правило, в мобильных играх эту задачу решают таймерами, ограничивающими доступ к более позднему контенту игры. При этом, эти же таймеры являются средство монетизации. Поскольку я решил делать игру без доната (любых внутриигровых покупок), то решил избавиться и от таймеров. Игрок должен проводить в игре ровно столько времени, сколько он сам посчитает нужным.

Монетизация

Итак, я решил делать игру без доната. Но как же разработчику заработать на хлеб с маслом? Делать игру платной - означает похоронить её ещё до выхода, т.к. мало кто рискнет потратить деньги на игру от никому неизвестного разработчика. Пожертвования, на мой взгляд, работают только в случае крупных и хорошо раскрученных проектов. Потому, остаётся только реклама. Но превращать игру в рекламную помойку тоже не хочется. Значит, реклама должна быть только вознаграждаемой.

Поскольку в игре нет таймеров, то доступ к новому контенту напрямую зависит от количества вложенных в прокачку ресурсов. Соответственно, было решено добавить в награду за просмотр рекламы игровые ресурсы. Всё по-честному - можешь получать ресурсы в кликере, а можешь один раз в 5 минут посмотреть рекламное видео и получишь на выбор три случайно сгенерированных пакета с ресурсами.

Движок

После недолгих поисков движков, позволяющих делать игры без программирования, выбор пал на Construct 2. Принцип его работы в том, что у нас есть сцена (где мы расставляем объекты), есть сами объекты и есть лист событий, в котором мы вручную прописываем события (состоящие из условий и действий), т.е. взаимодействие объектов друг с другом. События можно объединять в группы, можно делать подсобытия с дополнительными условиями. Объектам можно задавать свойства, поведение, переменные и т.д. По-сути, можно реализовать абсолютно любую игровую механику (в рамках 2D игры). Всё упирается в вашу фантазию и умение решать логические задачи.

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

В современном геймдев сообществе считается немного неприличным признаться, что ты делаешь игру без программирования. Почему-то есть стереотип, что игры без программирования обязательно используют какие-то шаблоны, что в них отсутствует уникальность и что есть какие-то ограничения, не позволяющие реализовать сложные идеи. На мой взгляд, подобные суждения - лишь миф, порожденный большим количеством низкосортных игр, сделанных на коленке за 5 минут. Но виноват ли в этом движок?!

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

Визуальный стиль

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

До того, как я взялся за разработку своей игры, у меня был опыт в написании обучающих статей и гайдов на игровую тематику. Этот опыт формирует навык смотреть на игры с точки зрения новичка. В свою очередь, этот навык помог мне сделать интерфейс достаточно гибким и интуитивно понятным (учитывая всю сложность и глубину игры).

Фичекат

Когда я ещё обдумывал идею игры, то для начала хотелось создать что-то не слишком сложное, чтобы просто набраться опыта в создании игр. Но чем больше я думал над концепцией, тем больше и больше приходило новых идей. От реализации некоторых пришлось (временно) отказаться, чтобы закончить разработку. Отметил для себя одну важную вещь. Если вы решаете убрать фичу из игры и при этом испытываете чувство облегчения - значит вы принимаете правильное решение. Сложно отказываться от своих хотелок, но если этого не делать, то разработка не закончиться вообще никогда.

От чего пришлось отказаться (основное):

1. Мультиплеер. Да-да. Свою первую игру я хотел сразу же сделать с мультиплеером. Самой трудно задачей в этом деле было придумать, как сделать защиту от нечестных игроков. Даже топовые онлайн игры вкладывают огромное количество ресурсов в защиту своей игры от взлома. Куда уж там мне, в одиночку бороться против читеров..

Чтобы создать хотя бы минимальную защиту нужно делать для игры серверную часть. А для этого нужно знать на продвинутом уровне серверные технологии, базы данных, php, MySQL и AJAX. Как оказалось, это слишком сложная задача для одного человека, который трудится над своей первой игрой.

2. Открытый мир и сложные игровые режимы. Чтобы игровой процесс был ещё более масштабным мне хотелось добавить в него т.н. "глобальный геймплей". Открытый мир, фракции, торговля, война корпораций и чтобы игрок во всём этом активно участвовал.

Однако позже я понял, что реализация подобных идей, продумывание всех деталей и мелочей займёт столько времени, которое я просто не могу себе выделить. Сложность ещё в том, что когда ты делаешь игру, которую никто не ждёт и о которой никто ничего не знает, то есть неприятное чувство, будто ты делаешь что-то "в пустоту". Потому, чем скорее в твою игру начнут играть реальные люди, чем быстрее ты начнёшь получать отзывы от своей аудитории - тем лучше.

Так что я считаю, что фичекат - это гениальная вещь. Она позволяет убрать из игры всё лишнее, недоработанное, сырое, оставить лишь только самые проверенные и интересные механики.

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

Создание промо-материалов

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

Иконка

Как сделать мобильную RPG игру в одиночку, без программирования и бюджета

За основу иконки взял спрайт космического корабля из своей же игры. Просто и минималистично. Возможно, в будущем воспользуюсь услугами художника для создания профессиональной иконки для приложения.

Скриншоты

На мой взгляд, задача скриншотов - это объяснить новичку, что примерно представляет из себя игра. Потому не стал слишком подробно демонстрировать различные аспекты прокачки, только всё самое основное.

Трейлер

К счастью, у меня уже был опыт работы в видеоредакторах. Потому, создание несложного трейлера не заняло много времени. Получилось, на мой взгляд, вполне достойно.

Что я понял в процессе разработки

Ну, и в качестве бонуса поделюсь своими рекомендациями, которые помогали мне в процессе создания игры.

1. Делайте игру для себя. Это моё главное правило. Если для вас создание игр - это, прежде всего, творчество, то делайте игру такой, в которую вы бы сами с огромным удовольствием играли. Не пытайтесь угодить всем, ведь люди все разные и вкусы у всех сильно отличаются. Одни люди предпочитают мясо, другие капусту. Если вы будете делать голубцы, то вероятно, ваша игра может не понравится ни тем, ни другим. Со временем вашу игру найдут люди со схожими игровыми предпочтениями. И это будет ваша самая преданная аудитория.

2. Научитесь адекватно смотреть на свои возможности. Если вы хотите сделать убийцу World of Warcraft, то вам нужно понимать, что у вас нет такого количества опыта, времени и денег, необходимых для создания AAA-игры. Такие игры создаются годами командами в несколько десятков, а то и сотни человек. И у каждого из них есть своя профильная задача: кто-то занимается боевой анимацией, кто-то текстурирует растительность, а кто-то программирует игровую физику. Одному человеку и жизни не хватит, чтобы потянуть всё это.

3. Регулярно играйте в другие игры. Так вы сможете почерпнуть для себя новые идеи, а также набраться вдохновением для создание своей собственной игры. Если вы при этом будете разбирать механики других игр на составляющие, попытаетесь разобраться что как и почему работает, то с этого вы получите дополнительную пользу.

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

180180
102 комментария

Все таки не надо путать «без программирования» и «без написания кода».

Программирование - это процесс создания программы. Он требует хотя бы базовых знаний алгоритмизации, понимания игровой логики и много чего еще. А то что вы не пишите код руками, а соединяете логические блоки в интерфейсе движка, это все ещё программирование.

У меня есть несколько знакомых, которые хотели с наскоку сделать игру в Construct или Game Maker’e, но очень быстро обломились, потому что думали, что там «не надо программировать». Оказалось программировать все таки надо, а вот код писать нет.

Пишу просто чтобы не вводить новичков в заблуждение. За то что поделились опытом - респект.

58
Ответить

Более того, писать код проще и быстрее, чем соединять лоигческие бооки в интерфейсе движка )

15
Ответить

автор - ты молодец! добавь картинок людей в игру с диалогами типа тутора и пр.
а на иконку игры - даму с бюстом от 3го размера - установки попрут. )

7
Ответить

Орущую во весь рот даму с бюстом от 3го размера*

8
Ответить

Отличный пост. Спасибо, что поделились опытом. Прада вот это, имхо, неверно, никогда не встречался с таким «стереотипом»
Почему-то есть стереотип, что игры без программирования обязательно используют какие-то шаблоны

4
Ответить

Достаточно зайти на форум gamedev.ru для ознакомления. Сейчас оно, конечно, по счастью отмирает, но раньше было довольно много ада с хейтом, когда кто-то показывал свою поделку с чем-нибудь "изкоробочным". По типу: "Да у тебя даже шейдеры дефолтные, значит это не игра и ты её не делал".

Ответить

Респект и окупаемости инди-разработчикам!
4.5 звезды игру это отличнейший результат.

Вы, кстати, посчитали, при каком количестве скачиваний и среднем времени в игре на скачивание наступит та самая условная окупаемость?

4
Ответить