Термины и технологии.

Posted on August 12, 2011


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

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

Sprite sheet (Texture Atlas) – это растровое изображение, которое включает в себя другие изображения. Можно даже сказать, что это таблица изображений.Принцип работы с такими изображениями следующий – вы создаете большое изображение, помещаете туда другие изображения и параллельно создаете xml файл с координатами расположения маленьких картинок внутри текстурного атласа. Создавать “вручную” подобные атласы довольно тяжело, поэтому можно воспользоваться приложением Texture Packer (стоит 19.95 $). Все что вам необходимо сделать для создания текстурного атласа в данной программе – перетащить нужные изображения в таблицу с именами файлов, выбрать алгоритм расположения внутри атласа и задать названия для plist файла и самого текстурного атласа.

Зачем же нужны все эти атласы? Все просто, для того чтобы графический процессор мог быстрее работать с изображениями – их размеры должны быть равны числу 2 в определенной степени. Поэтому всякий раз когда вы загружаете в память картинку размера 268 на 276, то она автоматически расширяется до 512 на 512, а следовательно ресурсы вашего телефона используются нерационально. в cocos2d есть специальный класс для работы с текстурными атласами, но об этом уже позже. Пока еще только добавлю, что использование текстурного атласа позволяет отрисовывать любое количество изображений (взятых с него) за один вызов в opengl. Это очень усильно увеличивает быстроту работы ваших игр, особенно когда в них используется большое количество элементов.

Tile Maps – можно сказать, что это карта изображений. Tile maps состоят всегда из двух файлов:

  1. sprite sheet – туда помещаются повторяющиеся элементы карты
  2. xml файл, в котором описывается где и какая именно картинка из текстурного атласа должна быть.

Примерами, где используются tile maps могут служить многие стратегии (например, Heroes), а так же разные аркады типа Mario. Для создания и редактирования tile maps можно использовать приложение Tiled.

В cocos2d существуют классы, которые позволяют довольно легко работать с подобными картами.

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

Game Loop. В вашей игре должны постояно происходить какие-нибудь события, чтобы игрок не скучал от бездействия. К примеру, если ваш главный герой долго стоит на одном месте – то он начинает прыгать или танцевать. Так вот за обработку всех событий, происходящих в вашей игре отвечает game loop. Это некий цикл, который перенаправляет полученные события объектам игры, если те на них подписаны. Организовать game loop можно с помощью таймеров.

Если вам показались непонятными какие-то термины, то не стоит из-за этого сильно расстраиваться, так как применение их на практике даст более детальное понимание, чем просто прочитать определение.

Advertisements
Posted in: Глава 1