Дизайн 2d игры на Android

Дневник разработки 2d шутера для платформы Android. Часть 2: Дизайн 2d игры на Android

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

Все части дневника

Пополнение в команде

Я рад объявить, что в нашей команде новый участник Анатолий — талантливый молодой художник из Тернополя. После размещения вакансии на биржах фриланса и специализированных форумах мы получили около 40 ответов от специалистов по 3d и 2d графике из Украины и России. Было даже несколько звонков. Большинство отозвавшихся предлагали очень узкую специализацию (например только 3d, только разработка дизайна 2d игры на Android или только анимация), что нам не подходило. Некоторые запрашивали слишком высокую цену за свою работу. Другие не впечатлили. К счастью, нашелся Анатолий, который умеет не только отлично рисовать в 2d, но и моделировать и текстурировать в 3d:

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

Успешно прошел тестовое задание, нарисовав главного героя и интерфейс одного из меню. Дальше принялся за рисование оружия, а сейчас работает над тайлами. Все это мы постепенно будем выкладывать на официальной страничке Stfalcon.com в Facebook, не пропустите. Анатолий пока не силен в анимации, поэтому для специальных эффектов (взрывы, всплески крови и т. д.) мы обратимся к аниматорам. Именно поэтому вакансия пока не закрыта окончательно, все письма просматриваются, а понравившиеся кандидаты записываются для сотрудничества в будущем.

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

Тайловые уровни

Отдельная история связана с уровнями. Сначала мы заливали одной текстурой все свободное пространство. Для тестирования врагов и оружия хватало, но дальше без полноценных тайлов нельзя было обойтись. Мы остановились на бесплатном редакторе с открытым исходным кодом Tiled:

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

Есть необходимый функционал:

  • сохранение уровней в xml;
  • слои для тайлов и объектов, с возможностью задавать свои свойства;
  • подключение несколько тайловых наборов к одному уровню;

Слои можно прятать, как в Photoshop — очень удобно для создания волн, когда их количество приближается к десятку. Каждая волна хранится в отдельном слое и представляет собой набор объектов с вручную заданными свойствами, которые описывают место и скорость появления врагов, их тип и задержку появления. Слои позволяют создавать разнообразные уровни накладывая одни тайлы на другие. Специальный слой collision задает непроходимые участки.

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

Создавать уровни удобно: можно копировать как отдельные слои так и объекты. Чтобы поиграть в созданный уровень перекомпиляция не требуется. Уровни загружаются из кеша смартфона, поэтому достаточно закинуть новую версию по usb-кабелю.

Эволюция тайлов

Сначала использовали один тайл для заливки всей области уровня. Далее перешли на встроенный набор программы Tiled. Это был временный вариант, чтобы проверить работоспособность. Позже увеличил встроенные тайлы в 3 раза и обрисовали их. Размер подошел и составил 108 пикселей. Так как программа позволяет использовать несколько наборов тайлов в одном уровне я решил сделать два: один с местностью, другой с декоративными объектами. В дальнейшем можно будет добавить еще несколько тайловых наборов. Это лишь временные «макеты» (используется пока художник не нарисует окончательный варианты), но уже с окончательными размерами всех элементов. Учитывается высота возвышений, толщина теней, идеально подогнаны тайлы травы и грязи.

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

В этом и заключалась главная проблема: нарисовать тайлы так, чтобы они идеально «подходили» один к другому во всех существующих комбинациях. Чтобы решить эту проблему достаточно создать сетку и все отрисовывать по ней, с одинаковыми отступами и толщиной элементов. У нас, например, высота возвышений и углублений одинаковы, толщина теней стандартизирована. Все это можно наглядно увидеть включив сетку в 8 пикселей:

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

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

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

Новая система волн

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

Раньше враги выходили из-за границ уровня, теперь можно указать в каких местах они появятся, а точнее телепортируются. Точка появления игрока также указывается вручную в отличии от ранних версий, где он появлялся в центре карты.

Изменили баланс игры, сделав врагов менее живучими — телепортируются на карту пачками и также быстро истребляются игроком.

Интерфейс

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

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

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

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

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

Новое оружие

Уже реализовано 5 видов оружия: пистолет, дробовик, узи, граната, гранатомет, лазер. Набор классический, за исключением лазера, который стреляет по принципу railgun из игры Quake 3. Некоторые виды оружия уже отрисованы. В дальнейшем арсенал оружия будет расширяться.

Дневник разработки 2d шутера для платформы Android. Часть 2: Художник найден

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

Часть 3: Техно-демо

UPD: игра Galaxy Recon уже доступна на Google Play — присоединяйтесь!