Приветствую всех читателей сообщества «Пикабу»!
Хочу поделиться с вами своим первым опытом разработки мобильной игры под Android на Unity3d. Постараюсь максимально интересно рассказать о всех трудностях, с которыми я столкнулся на своем пути. Надеюсь, что мой пост будет кому-то полезен!
С чего все началось
У кого-то возникает непреодолимое желание создавать игры, кто-то ищет дополнительный доход, кто-то просто хочет изучить что-то новое. Я же, в целом, стремлюсь к самореализации. Пробовал себя на разных поприщах, и вот теперь решил попробовать свои силы в разработке мобильных игр. Почему бы и нет?
Идея игры появилась достаточно давно, но к ее реализации я приступил только в ноябре 2017 года. Начал с изучения рынка на предмет наличия чего-то похожего. Оказалось, что подобных игр достаточно много, но конкретно такой, как я решил сделать, найти не удалось. Это вселило определенный оптимизм и придало сил.
Небольшое отступление
Идею для мобильной игры мне «подсказала» одна настольная игра-головоломка. Мне понравился ее принцип, и я взял его за основу, а все остальное придумал сам.
Один из уровней моей игры:
В игре есть игровое поле и набор фигур. В отличие от других подобных игр, фигуры на всех уровнях одни и те же. Задача игрока – разместить все фигуры на игровом поле в соответствии с цветными метками. На каждом игровом уровне метки расставлены по-разному, что вынуждает игрока искать новые комбинации расположения фигур.
Название игры – «Blocks & Shapes: Colors», - конечно, не блещет оригинальностью, но мне нужно было поместить в него поисковые теги. А в дальнейшем планирую сделать серию игр «Blocks & Shapes».
Несколько позже я обнаружил, что игра с подобным названием на «Google Play» уже есть, но игровой процесс там совсем другой. Поэтому название решил не менять - места много, всем хватит.
В поисках средств разработки
Закончив свой небольшой анализ рынка мобильных игр, я перешел к поиску инструментов для реализации своей идеи. Это заняло больше времени, чем можно было ожидать.
Сначала я стал изучать язык Java. Скачал несколько книг и видеокурсов… читал, вникал, «грыз гранит» … Потом внезапно выяснил, что можно упростить себе задачу и воспользоваться одним из «движков» для создания игр. И снова поиски: какой из них мне больше подходит, какие у них возможности, какой проще изучить…
В конечном итоге, я остановился на платформе «Unity3d» и языке программирования C#. Естественно, как с ними работать, я тоже понятия не имел. Что ж, Google в помощь...
Толковых курсов на русском языке по данной тематике не так уж и много. Я воспользовался материалами ресурса «ITVDN», а также различными видео уроками на «YouTube». Где-то месяц ушел на изучение основ. Потом уже стал искать то, что нужно конкретно для моего приложения. На русском языке почти ничего не нашел. Пришлось вспоминать школьную программу английского и «шелестеть страницами» англоязычных ресурсов.
Так, обучаясь, где-то к середине февраля 2018 года я созрел для написания первых строк кода своего будущего приложения.
От теории к практике
Работа над игрой шла с переменным успехом. Временами казалось, что ничего не получится и надо бросить всю эту затею. Советую всем – гоните подобные мысли прочь! Я для себя решил – у меня что-то не получается только потому, что я еще мало знаю. Поэтому, если задача кажется невыполнимой, надо просто набраться терпения и упорно искать решение.
Для меня, например, первым камнем преткновения стала реализация движения фигур, то есть перетаскивание их по экрану пользователем приложения. Оказалось, все решается буквально двумя строчками кода. Далее были трудности с размещением фигур на игровом поле. Нужно было, чтобы фигура разделялась на части, каждая ее часть присваивалась определенной ячейке поля, а потом, при необходимости, собиралась из частей обратно в целую фигуру. Проблема решилась путем клонирования фигуры в момент размещения на поле.
И подобных «невыполнимых» задач было много, но все решились.
Дизайн
Дизайнер из меня так себе… а профессионалы бесплатно работать почему-то не хотят…
Надеюсь, в будущем я смогу позволить себе оплачивать работу опытного дизайнера, пока же приходится довольствоваться своими навыками.
Особенно тяжело мне далась иконка:
Звуки
С озвучкой проще, чем с дизайном, но только если у Вас уже есть необходимый контент. У меня его не было, и я потратил несколько дней на поиски подходящих звуков и музыки. Задача осложнялась тем, что я совершенно не был готов платить за них деньги...
Звуки я раздобыл на сайте «Freesound» (https://freesound.org), а музыку скачал с «Asset Store» на Unity. В соответствии с условиями лицензии, вся информация об авторах указана в игре, в отдельном окне меню настроек.
Концепция игры
У меня ее не было. Точнее что-то было, но назвать это концепцией язык не поворачивается. Да, это неправильно, и в дальнейшем я буду заранее, до мелочей, продумывать все нюансы игры. И Вам тоже советую это делать. Иначе будет плохо…
Мне пришлось более 10 раз вносить различные изменения на всех 100 уровнях игры. Все эти «выделил – перетащил – вставил, выделил – перетащил – вставил» … Это так нудно, что хочется встать и убежать куда-нибудь подальше. Например, на кухню…
Способы монетизации
Игру я сделал бесплатной, но со встроенной рекламой. От маленького баннера решил сразу отказаться, оставил полноэкранный межстраничный баннер и видеорекламу за вознаграждение.
В игре есть платное отключение рекламы и покупка бонусов, которые позволяют продлить время, отведенное на прохождение уровня. Бонусы также можно получить за просмотр видеорекламы.
Реклама у меня идет через сервис "Appodeal". Были проблемы со встраиванием SDK, которые удалось решить через подключение multidex. Надеюсь на долгое и плодотворное сотрудничество с данным сервисом.
Публикация в «Google Play»
Я опубликовал сразу рабочую версию игры и разослал ссылку на нее друзьям. Честно говоря, не ожидал, что придется после этого вносить в игру еще кучу изменений. Но взгляд со стороны оказался куда практичнее, чем мой «замыленный».
Например, назначение вот этой кнопки (зеркальное отражение фигуры) казалась мне вполне понятным:
Однако друзьям это стало понятно только после изменения кнопки на вот такую:
Слов в игре мало, поэтому изначально все писал только на английском языке. Но при публикации игры понял, что лучше будет сделать описание и на русском тоже. В результате, пришлось и в самой игре добавить русский язык. Теперь и самому играть приятнее. Про переводы на другие языки пока не думаю.
Что дальше?
Итак, идея реализована - игра опубликована. В общей сложности, на это ушло где-то полгода. Теперь есть определенный опыт, и что-то подобное я смогу сделать гораздо быстрее.
Далее мне предстоит, пожалуй, не менее сложная задача – раскрутка и продвижение. Пока только начинаю двигаться в этом направлении. Надеюсь, в следующие полгода появится повод для новой статьи - об успешном продвижении своей первой игры…
В любом случае, я рад тому, что уже удалось сделать. Создание своей игры – это хоть и трудоемкое, но весьма интересное занятие. Так что, если есть идея, – реализуйте, оно того стоит! Будете потом собой гордиться!
Страница игры в «Google Play»: https://play.google.com/store/apps/details?id=com.AVKoGames.BlocksAndShapes.Colors
Спасибо всем, кто прочитал мою статью! Буду рад Вашим комментариям!