От идеи и до выпуска: игра, созданная одним человеком за 30 дней

в 12:50, , рубрики: googleplay, unity3d, арт, геймдев, игры, разработка, разработка игр, метки:

В последнее время все больше и больше вижу постов и статей о создании игр, однако в основном это или краткие описания какой-то части создания игры, либо что-то не совсем законченное. И практически нигде нет основной сути: как происходит полный процесс создания небольшой игры от идеи и до выпуска. А также что ждет разработчика непосредственно после выпуска игры.

В этом посте я бы хотел кратко рассказать об этом. Тут не будет никаких технических тонкостей и подробного разбора кода игры, нет. Пост скорее просто о том, как я не спал 30 дней, но все-таки сделал свою игру с нуля и выпустил ее. Скажу сразу в данной сфере я новичек и до этого не выпускал никаких игр и все описанное ниже я делал в одиночку и можно сказать впервые (особенно что касается рекламы и интеграции с сервисами Google Play).

А вот собственно изначальный концепт игры и финальный вид.

image

Краткое содержание поста:

1) Зарождение идеи
2) Создание концепт-арта игры
3) Создание прототипа
4) Определение способа монетизации игры
5) Встраивание рекламы в игру
7) Локализация игры на Английский и Русский язык
6) Встраивание внутриигрового магазина в игру
7) Встраивание сервисов Google Play (Достижения, списки лидеров)
8) Выпуск игры в Google Play

Зарождение идеи

Как-то увидев короткометражный мультфильм Johnny Express, я подумал, что очень хочу сделать игру по данной тематике. Но на скорую руку придумать что-то не вышло, и я отложил эту идею чуть на попозже. Долго ждать не пришлось, буквально через пару дней по пути на работу, в метро мне пришла отличная идея для игры: Доставлять посылки на разные планеты, планеты генерировать рандомно (размеры, кольца, спутники, цвета, поверхности — все это подбирать случайно) + сделать магазин кораблей с разными скинами, а каждый корабль будет иметь свой собственный эффект полета и ускорения.

Создание концепт-арта игры

Первый арт я зарисовал прямо в метро, и выглядело это примерно так:

image

Да конечно арт получился не очень, но я это исправил, как только добрался до рабочего компа. И получилось уже так:

image

Но естественно для продакшена вариант полного копирования стилистики мультфильма не подходит, поэтому было принято решение выработать свой стиль, и я сел за полный концепт игры. Спустя пару –тройку часов я получил то что хотел:

image

Естественно это только концепт, но далее уже было понятно над чем работать и что нужно будет в игре реализовать. И я перешел к делу, а именно – создание прототипа.

Создание прототипа

На этом моменте был создан прототип игры (На Unity). В прототипе уже работала основная игровая механика – за доставку посылки начислялись очки, и генерировались разных размеров и цветов планеты:

image

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

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

Определение способа монетизации игры

Каждый разработчик должен определить для себя способ получения прибыли с игры (разве что вы полный альтруист и не хотите получать никакой прибыли с игры). Платную игру отмел сразу – т.к. данный вариант отметает 90% игроков + это не того уровня игра. Поэтому был выбран способ заработка на внутриигровой рекламе (так называемые Ads). И соответственно возможность покупать отключение рекламы.

Для рекламы были выбраны сервисы AdMob (для постоянного баннера внизу игры и для полноэкранной короткой рекламы) и Unity Ads для видео за просмотр которого начислялись бы кристаллы. Почему именно два сервиса, а не один? А все просто. После небольшого исследование я определил, что для видео, которые нельзя пропускать и за которые начисляются награды Unity дает больше денег + качество видео у них лучше и удобные механизмы встраивания рекламы, которые уже встроены в сам движок Unity.

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

Со способом монетизации определились – теперь нужно собственно встроить рекламу в нашу игру.

Встраивание рекламы в игру

Если честно, касательно данного момента пришлось не хило поковыряться в интернете и поизучать эту тему, но на деле оказалось все куда проще чем я думал.

Для AdMob в Unity имеется специальный плагин, выложенный на Github (официальный от Google) который позволяет легко и быстро встроить рекламу Google в игру, единственное что для этого нужно обязательно Android SDK, и собственно аккаунт AdMob. (Касательно настройки данного плагина в описании плагина на GitHub имеется очень хорошее руководство).

Ну а для Unity Ads все еще проще – механизм встроен в сам движок, его нужно просто активировать, подробное описание тут (кстати, оно на русском).

Локализация игры на Русский и Английский язык

Во время создания прототипа я сразу задумался по поводу локализации игры. Выпускать только на английском – не очень хорошо. Ведь я же живу в России, а играть в локализованные игры одно удовольствие. Поэтому принято решение локализовать игру на русский и английский языки. Сразу скажу, что покопаться тут пришлось конкретно, но благо 21 век на дворе и сделать это есть уже несколько простых способов. После серфинга в интернете было найдено изящное решение от Google – создание неких strings.xml для нужных языков. Т.е. есть два файла strings.xml которые лежат в разных папках – один для английской версии в папке values, другой для русской в папке values-Russian. И в зависимости от языка устройства брать либо тот, либо другой. Ну и далее его парсить и брать нужное значение. Но локализация — это скорее для отдельной темы, поэтому подробно рассказывать о том через что эти файлы удобнее создавать и как их парсить я рассказывать в этом посте не буду. Но вот примерно как выглядит содержимое файла:

<string name="app_name" translatable="false">DaaDoo Planet Express</string>
<string name="you_get">YOU GET</string>
<string name="best_result">BEST RESULT</string>
<string name="tap_to_resume">TAP TO RESUME</string>
<string name="tap_to_play">TAP TO PLAY</string>
<string name="winner">WINNER</string>
<string name="my_score">MY SCORE</string>
<string name="share">SHARE</string>
<string name="share_text">Try to beat my score! #DaaDooPlanetExpress</string>
<string name="look">Look!</string>
<string name="i_just_get">I just get</string>
<string name="in_daadoo"> score in DaaDoo: Planet Express! Download game here:</string>

Встраивание внутриигрового магазина в игру

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

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

image

Встраивание сервисов Google Play (достижения, списки лидеров)

Естественно залог успешной игры — это наличие в ней достижений и списков лидеров, которые нам предоставляет такой сервис как Google Play. Скажу сразу что для использование этого функционала вам необходимо иметь аккаунт Google Developer (стоит порядка 25 долларов – и нужен для выпуска игры в Google Play).

Для начала нам нужно в консоли создать непосредственно сами достижения и списки лидеров. После этого мы уже производим встраивание сервисов в нашу игру. Подробно о том, как все это делать описано в этом видео.

image

Выпуск игры в Google Play

Ну что же, наша игра практически готова, и теперь нам нужно готовиться к ее выпуску в Google Play. Для выпуска игры вам необходимы скриншоты игры, иконка, верхний баннер и баннер для рекламы, а также ТВ баннер (если планируете так же выпустить игру для Android TV). Естественно все это нужно нарисовать. Про то как это все создавалось описывать не буду, а просто покажу результат:

image

image

Иконка и баннер игры должны быть яркими и сразу привлекать внимание — вроде бы у меня это получилось. Далее пишем описание игры на языках локализации и добавляем скриншоты. После публикации в Google Play вам нужно будет подождать пару часиков перед ее появлением в общем доступе.

Теперь я бы хотел рассказать о том, что ждет разработчиков после публикации. Во-первых, вашу игру зальют на несколько форумов и сайтов без вашего ведома в формате ссылка на Google Play + APK файл, так что не пугайтесь. Во-вторых, бороться с этим нужно разве что, если вы сильно против. В-третьих, старайтесь отвечать на отзывы пользователей и стараться выпускать обновления для игры как можно чаще. Например, через 4 дня после выпуска игры, я понял, что такой магазин никуда не годится, и полностью перерисовал его в такой:

image

Далее была убран нижний баннер — он только раздражал игроков + денег он приносит ооочень мало. Ну и естественно была добавлена возможность делиться скриншотом из игры в социальных сетях:

image

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

image

И так же была добавлена поддержка боле ранних версий Android и немного изменен главный экран игры:

image

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

Автор: Quatt

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js