Robomobo - проект игры с элементами дополненной реальности для мобильных устройств на платформе Android. Проект разрабатывается совместными усилиями мастерских IT и дизайна в рамках Летней Школы (http://letnyayashkola.org).
На данный момент идея проекта представляет собой сбор объектов на время или соревнуясь с другим игроком. Особенность игры состоит в том, что игровое поле и координаты игроков привязаны к GPS-координатам, следовательно для сбора объектов на виртуальном поле требуется перемещаться по реальной местности. Помимо подбираемых объектов на игровом также присутствуют препятствия (никак не связанные с реальными объектами), которые остановят перемещение игрока до тех пор, пока тот не вернется приблизительно в ту точку где произошло столкновение с препятствием.
Данный проект стартовал на ЛШ-2013 и был доведен до рабочего состояния, однако качество кода существенно затрудняло дальнейшую разработку проекта, в связи с чем было принято решение начать проект заново, основываясь на полученном опыте. В данный момент проект находится в стадии написания основной игровой механики и отрисовки.
Предупреждение: проект не тестировался на устройствах с версией Android ниже 4.0.3. Планируемая минимальная поддерживаемая версия - Android 2.2
Сборку проекта рекомендуется проводить в IntelliJ IDEA Community Edition, однако допускается использование Android Studio. Необходимо наличие Android SDK с установленным пакетом Android API 8 или выше.
Порядок действий:
-
Импортировать проект
-
В случае необходимости скорректировать настройки проекта
Для IntelliJ IDEA:
В окне Project Structure на вкладке SDKs убедиться в налчии в списке SDK хотя бы одного Android API
В том же окне на вкладке Modules в выпадающем списке Module SDK выбрать SDK из предыдущего пункта
-
Собрать проект и запустить его
В будущем планируется выкладывать установочный файл проекта для тестирования
Для каждой новой фичи заводится issue, которому присваивается непосредственный исполнитель. Для этой фичи создается ветка под названием pr/<номер issue>. Коммитить в эту ветку разрешается только непосредственному исполнителю, ответственному за фичу. По завершении работы над фичей производится формирование pull request и тестирование силами команды. После окончания тестирования фичи и отлова багов производится вливание ветки в master с последующим закрытием issue.
Используется Google Java Style (http://google-styleguide.googlecode.com/svn/trunk/javaguide.html). Настройки автоматического форматирования в IntelliJ IDEA можно импортировать из файла GoogleJavaStyle.jar в корне репозитория (File -> Import Settings...).
Technoworks (http://technoworks.ru), 2014