Как мы писали арифметическую головоломку на LibGDX для ведроида.

Trizzler


Предисловие.

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

Как мы писали арифметическую головоломку на LibGDX для ведроида. Игры, Google Play, Головоломка, Логика, Треугольник, Длиннопост

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

Ошибки предыдущего проекта:


1) Этот проект был учебным. Не могу сказать, что это ошибка, но это главная причина его падения. В момент его разработки мы на недостаточном уровне понимали основные принципы ООП и всё делалось в первый раз.


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


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


4) Старт у «раскрутки» после добавления на Google Play был, мягко говоря, плохим. Популярности игра так и не набрала, навсегда пропав из ТОПов.



Шаг первый. Создание концепта и дизайна.



Учитывая тот факт, что во мне умер художник (при чём, не родившись), всё, начиная от концепта и заканчивая текстурами, пришлось делать с помощью PowerPoint. Да-да, того самого инструмента для создания презентаций, это не опечатка. Дело всё в том, что так уж сложилось, что работать с этим инструментом мне доводилось частенько и в PowerPoint чувствую себя как рыба в воде. А если добавить к этому моё отсутствие здравого смысла и немного терпения, то выходит, что PP оказался очень даже неплохим средством для создания текстур. Ну а что? Тени там есть, фигур предостаточно, при желании можно из точек нарисовать собственную фигуру, в итоге, если постараться, выходит довольно-таки адекватный результат. Ни в коем случае не подумайте, что я рекомендую использовать для подобных целей PP – это глупо. Но, тем не менее, это было самым быстрым решением для меня.


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

Как мы писали арифметическую головоломку на LibGDX для ведроида. Игры, Google Play, Головоломка, Логика, Треугольник, Длиннопост

Шаг второй. Написание кода

Мы распределили работу следующим образом: один из нас занимался UI, DB и лвлами, второй – механикой и, собственно, игровыми экранами.


То, что происходило дальше – нельзя назвать командной работой. То есть, работа была как раз-таки командная, но её методы удручали. В силу того, что нам лень было искать и настраивать инструмент для этих целей, все «коммиты» мы делали по средствам Google Drive. То есть, просто загружали туда архив с проектом с последними изменениями. Таким вот «гениальным» способом мы и делились нововведениями и правками. Для мелких правок использовали Pastebin. #VCSненужны


В конечном итоге была разработана система классов, которые показали неплохой результат (учитывая, что это первый, так сказать, «сознательный» проект). Если сравнивать с предыдущим нашим проектом, то код стал чище, логичнее, объектно-ориентирование. Чему мы были рады.

Как мы писали арифметическую головоломку на LibGDX для ведроида. Игры, Google Play, Головоломка, Логика, Треугольник, Длиннопост

Шаг третий. Добавление Google Play Games и ачивок

Какая же игра без ачивок? Было принято решение добавить их по средствам сервиса Google Play Games.


Естественно, без проблем здесь не обошлось. Но туториалы от знающих ребят сделали своё дело, и сервисы были прикреплены.



Шаг четвёртый. Мечты о монетизации


Для монетизации был выбран медиатор Appodeal, который предложил гибкие настройки своего СДК прямо на официальном сайте. Но, выбрав в их мастере фреймворк LibGDX, проследовав их инструкциям по прикручиванию СДК в проект и первой попытке билда, пришлось делать откат всех изменений. А причиной тому стал бесконечный билд. После получасового ожидания, пока проект сбилдится, нервишки сдали, процесс был остановлен и пришлось прикручивать SDK как для нативного проекта. После чего был сделан интерфейс в core модуле, который реализовался в модуле android и подгружал рекламу.



Шаг пятый. Релиз на Google Play


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



Послесловие.


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



Всем добра :)


Google Play :  https://play.google.com/store/apps/details?id=com.dailytoys....

Лига Разработчиков Видеоигр

6.8K поста22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"