Главная » Программирование игр под Android

ОПРЕДЕЛЕНИЕ ИГРОВОГО МИРА DROID INVADERS

Добавлено Дата: 10 August, 2013 категория: Программирование игр под Android

 

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

Читать »

Иерархическая структура матричного стека – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 9 August, 2013 категория: Программирование игр под Android

Что такое иерархическая структура? Примером подобной структуры является Солнечная система. В центре располагается Солнце. Вокруг него находятся планеты, которые вращаются вокруг него на определенном расстоянии. Вокруг некоторых планет есть спутники, которые вращаются вокруг этих планет. И Солнце, и планеты, и спутники крутятся вокруг своих центров (что-то вроде того). Мы можем построить такую систему с помощью матричного стека.

Читать »

Отправка вершин к OpenGLES – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 8 August, 2013 категория: Программирование игр под Android

Как мы опишем местоположение трех вершин нашего первого треугольника? Легко – предположим, что наша система координат лежит в диапазоне от (0; 0; 1) до (320; 480; -1). Тогда мы можем сделать следующее:

Читать »

GLGAME: РЕАЛИЗАЦИЯ ИГРОВОГО ИНТЕРФЕЙСА

Добавлено Дата: 8 August, 2013 категория: Программирование игр под Android

 

Мы реализовали класс Androi dGame, который связывает все подмодули для звука, файлов ввода-вывода, графики и обработки пользовательского ввода. Мы вновь используем большую часть этого кода в нашей будущей двухмерной игре на OpenGL ES, поэтому создадим новый класс GLGame, который реализует игровой интерфейс, который мы описали ранее.

Читать »

ИНДЕКСИРОВАННЫЕ ВЕРШИНЫ: ИСПОЛЬЗУЕМ ПОВТОРНО – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 7 August, 2013 категория: Программирование игр под Android

 

До сих пор мы всегда описывали список треугольников, где каждый треугольник имеет собственный набор вершин. В действительности мы успели нарисовать только один треугольник, но добавить еще несколько не составит особого труда.

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

Читать »

ЖАНРЫ: НА ЛЮБОЙ ВКУС для ОС ANDROID

Добавлено Дата: 6 August, 2013 категория: Программирование игр под Android

 

Начиная проект, вы обычно решаете, каким будет жанр вашей игры. Если вы не планируете заняться чем-то абсолютно новым и ранее невиданным, то шансы на то, что ваша игровая идея уложится в один из популярных в данный момент жанров, весьма велики. Большинство жанров используют уже устоявшиеся принципы игровой механики (схемы управления, определенные цели и т. д.) Отход от этих стандартов может сделать игру настоящим хитом – геймеры все время ищут что-то новенькое. Но это и большой риск, так что постарайтесь, чтобы ваши платформер/ шутер/стратегия реального времени имели аудиторию.

Читать »

OPENGL ES: ПЕРВОЕ ПРЕДСТАВЛЕНИЕ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 5 August, 2013 категория: Программирование игр под Android

 

Игра Мистер Ном получилась очень удачной. Благодаря тому, что мы хорошо поработали на этапе проектирования и фреймворку, который мы написали, реализация Мистера Нома не составила труда. Самое хорошее в игре то, что она работает гладко даже на очень слабых устройствах. Мистер Ном не отличается особыми графическими изысками или сложной схемой игры, так что использовать API Canvas для визуализации было весьма целесообразно.

Читать »

КОД: СКУЧНАЯ РУТИНА – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 4 August, 2013 категория: Программирование игр под Android

 

Итак, вы уже знаете, что Android API подходит для разработки игр. Но вам все еще неизвестно, как именно это делать. Уже есть идеи по дизайну игры, однако процесс преобразования его в исполняемый файл пока выглядит неким колдовством. В следующих подразделах я собираюсь сделать для вас обзор составляющих компьютерной игры. Я использую немного псевдокода для интерфейсов, которые мы реализуем позже с помощью Android. Интерфейсы – очень полезная штука по двум причинам: они позволяют нам сконцентрироваться на семантике, не отвлекаясь на детали реализации, а также дают возможность при необходимости менять способ этой реализации (например, вместо использования 2В-визуализации мы для демонстрации мистера Нома можем задействовать OpenGL ES).

Читать »

ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 3 August, 2013 категория: Программирование игр под Android

 

Когда мы запускаем подобный пример на мощном устройстве второго поколения, как, например, Droid или Nexus One, все работает быстро и правильно. Если мы запустим его на Него, все начнет тормозить, что весьма неприятно. Но разве мы с вами не говорили, что OpenGL ES – это как раз то, что нам нужно для быстрой визуализации графики? Да, это действительно так. Но только, если мы все делаем так, как этого хочет OpenGL ES.

Читать »

ANDROID ДЛЯ РАЗРАБОТЧИКОВ ИГР

Добавлено Дата: 1 August, 2013 категория: Программирование игр под Android

Фреймворк Android весьма обширен и иногда может запутать. Для каждой возможной решаемой вами задачи присутствует собственный API. Конечно, сначала вам необходимо изучить эти API. К счастью для нас, разработчиков игр, необходим предельно ограниченный их набор. Все, что нам нужно, – окно с единственным компонентом пользовательского интерфейса для прорисовки и получения пользовательского ввода, а также возможность фонового воспроизведения звука.

Читать »

HELLO WORLD В СТИЛЕ ANDROID

Добавлено Дата: 1 August, 2013 категория: Программирование игр под Android

 

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

Создание проекта

Читать »

Используем класс SpriteBatcher – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 1 August, 2013 категория: Программирование игр под Android

Добавим классы TextureRegi on и Spri teBatcher в наш пример с пушкой. Я скопировал пример TextureAtl as и переименовал его в SpriteBatcherTest. Классы, содержащиеся в нем, теперь называются SpriteBatcherTest и SpriteBatcherScreen.

Первое, что я сделал, – избавился от членов класса Vertices в классе экрана. Нам они больше не нужны, ведь для исполнения всей черной работы у нас теперь есть SpriteBatcher. Вместо них я добавил следующие члены:

Читать »

GameObject, DynamicGameObject и Cannon – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 31 July, 2013 категория: Программирование игр под Android

Начнем со статичного, или базового, случая в листинге 8.7.

Листинг 8.7. GameObject.Java, статичный игровой объект с позицией и границами

Читать »

ДРУГИЕ ПРИМИТИВЫ: ТОЧКИ, ЛИНИИ, ПОЛОСКИ И КОНУСЫ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 31 July, 2013 категория: Программирование игр под Android

 

Когда я говорил, что OpenGL ES – это огромная машина для визуализации треугольников, я немного недоговаривал. На самом деле OpenGL ES может также визуализировать точки и линии. Более того, они тоже описываются с помощью вершин, и, как следствие, все вышеупомянутое применимо и к ним (текстуры, цвета для вершин и т. д.). Все, что нам надо сделать, чтобы визуализировать эти примитивы, – использовать при вызове gl DrawArrays /glDrawElements что-то кроме GL10. GL TRIANGLES. Эти примитивы также поддаются визуализации с индексированием, хотя это и несколько излишне (как минимум, в случае с точками). На рис. 7.18 показан список всех типов примитивов, которые нам предлагает OpenGLES.

Читать »

Убираем ненужные изменения состояний – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 30 July, 2013 категория: Программирование игр под Android

Рассмотрим метод presents BobTesta, чтобы узнать, где что можно урезать. Вот фрагмент кода (я добавил FPSCounter, а также glRotatef  и glScalef ):

Читать »