Главная » Программирование игр под Android » ОПРЕДЕЛЕНИЕ ИГРОВОГО МИРА DROID INVADERS

0

 

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

Рис. 12.5. Игровое поле

Все события нашего игрового мира будут происходить внутри этих границ в плоскости x z. Координаты по оси х будут ограничены значениями от -14 до 14, а по оси z – от 0 до -15. Корабль будет способен перемещаться вдоль нижней границы игрового поля, от точки (-14; 0; 0) до (14; 0; 0). . Далее нам следует определить размеры всех объектов нашего мира:

Корабль будет иметь радиус 0,5 единицы.

Захватчики будут иметь несколько больший радиус – 0,75 единицы. Так в них будет легче попасть.

Каждый блок щита будет иметь радиус 0,5 единицы.

Каждый выстрел будет иметь радиус, равный 0,1 единицы.

Как я получил эти значения? Я просто разделил игровой мир на клетки размером 1×1 единица и подумал о том, насколько большим должен быть каждый элемент по отношению к размеру игрового мира. Обычно вы получаете эти значения после небольших экспериментов или же используя единицы измерения реального мира вроде метров. В игре Droid Invaders мы будем применять не метры, а безымянные единицы измерения.

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

Нам также нужно определить скорости перемещающихся объектов.

Корабль может перемещаться с максимальной скоростью, равной 20 единиц в секунду. Как и в игре Большой прыгун, обычно он будет иметь меньшую скорость, ее значение будет зависеть от наклона телефона.

Захватчики поначалу будут перемещаться со скоростью, равной 1 единице в секунду. Каждая волна будет двигаться чуть быстрее.

Выстрелы будут иметь скорость, равную 10 единицам в секунду.

Используя эти определения, мы уже можем начать реализовывать логику нашего игрового мира. Оказывается, создание ресурсов непосредственно связано с единицами измерения, которые мы здесь определили.

Источник: Mario Zechner / Марио Цехнер, «Программирование игр под Android», пер. Егор Сидорович, Евгений Зазноба, Издательство «Питер»

По теме:

  • Комментарии