28.10.2012

Super Brain на Android


Вот и настал тот день, когда мое первое приложение Super Brain стало доступно на Google play.

В этой статье я расскажу о том, как я начинал покорять Android и, в частности, как велась разработка порта игры Super Brain с Windows.

Все началось ещё полтора года назад, когда я стал обращать внимание на Android не только как пользователь, но ещё и как разработчик. Мне стало известно о том, что Google свободно распространяет все инструменты для разработки и любой желающий может начать осваивать эту платформу без каких-либо вложений. Я прочитал так много статей по этой теме, что если бы я все их дословно запомнил, я бы смог написать свою "Войну и мир". Огромное спасибо форуму Хабрахабр и Stack Overflow. Без них я, наверное, не справился бы с той высокой ступенью перехода с любительского уровня программирования, коим я занимался 6 предшествующих лет, на профессиональный. 

Пришлось прочитать несколько умных книг. Я думаю, ни для кого не секрет, что весь Android работает на Java, за исключением нативных библиотек, которые позволяют разрабатывать под Android практически на любом языке программирования, однако Google рекомендует все же использовать Java. Я до тех пор не имел дело с Java, но прочитав половину книги по этому языку я все-таки смог провести аналогию с C++, C# и GML (подобие Delphi и Java в среде разработки Game Maker). Все оказалось не так страшно, как я думал. Обилие примеров в сети Интернет очень быстро позволили мне привыкнуть к синтаксису, да ещё и сама среда Eclipse всячески помогает советами и авто заполнением.

Я начал писать своё первое приложение. Для себя я заранее решил, что это приложение не должно быть платным и должно быть не очень сложным, чтобы не потратить на него много времени. Была выбрана игра Super Brain, которая уже была написана до этого на движке Game Maker для Windows.

Задачи предстояли такие:
  1. Научиться делать основу для приложения с возможностью дальнейшей кастомизации под конкретный дизайн;
  2. Написать порт игры Super Brain адаптированный под тачскрин и под другие особенности большинства смартфонов и планшетов.
  3. Протестировать написанную игру на большинстве различных устройств, желательно с разной версией ОС и разным разрешением экрана.

Начал работу я с основного меню, именно с меню я обычно начинаю писать игру. Впрочем, это может быть не очень рационально, но мне так больше нравится. Работу над меню и параллельное обучение основным азам программирования под Android я закончил спустя месяц, после начала работы. Затем я начал адаптировать код игровой механики. Адаптация прошла за несколько дней, однако возникли совершенно глупые ошибки, из-за которых все не хотело работать. А именно - это деление на иррациональные числа в пределах типа Double. Результат был бесконечной дробью, которая никак не хотела преобразовываться в этот тип. Я отлавливал эту ошибку мучительные 10 часов. Я никогда не исправлял один баг 10 часов! Ну это все не столь важно, ведь ошибку я нашел, исправил, и все работает как часы.

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

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

Сейчас по этой ссылке доступна моя первая игра Super Brain. Игра полностью бесплатна, безо всякой рекламы, но единожды при старте игры появляется сообщение о том, что можно помочь разработчику пожертвовав один доллар на покупку Donate-версии игры. Я придерживаюсь такой схемы в этой игре потому, что изначально не планировал делать приложение платным, ибо это первое приложение, которое помогло мне освоиться в новой для меня среде, но добавить возможность пожертвования я все же решил, вдруг найдутся люди, которым захочется выразить благодарность разработчику за проделанную работу.

Все последующие игры будут публиковаться на этой странице в Google play. Следите за обновлениями и новостями. Это только начало.

Официальный видео-обзор:

Комментариев нет:

Отправить комментарий