Майкл Моррисон - Создание игр для мобильных телефонов
Если рассмотреть более подробно, CLDC включает в себя следующие параметры мобильного устройства:
► множество используемых Java-функций;
► функциональность виртуальной машины Java;
► набор API, необходимый для разработки приложения;
► аппаратные средства мобильного устройства.
Вы, вероятно, можете подумать, что при программировании для мобильных устройств в вашем распоряжении находятся все возможности Java, однако это не так вследствие ограничений CLDC, связанных с пониженной вычислительной мощностью таких устройств. Кроме ограничений API, CLDC также накладывает ограничения и на аппаратную часть устройств, поддерживающих Java:
► объем памяти, необходимый Java, составляет 160 Кб;
► 16-битный процессор;
► низкое потребление энергии (обычно низкий расход батареи);
► соединение с сетью (часто беспроводное со скоростью 9600 бит/с или меньше).
К CLDC устройствам относятся (но не только указанные устройства) мобильные телефоны, пейджеры, PDA, карманные компьютеры и бытовые приборы. Конечно, нас прежде всего интересуют мобильные телефоны.
...В копилку Игрока
Кроме CLDC J2ME определяет еще одну конфигурацию, известную как CDC (Connected Device Configuration – Конфигурация сетевого устройства), которая накладывает ограничения на более мощные и габаритные устройства по сравнению с мобильными. Следовательно, CDC имеет больший набор возможностей, чем CLDC.
Профили и MIDP
Во главе конфигурации находится профиль (profile), который представляет собой особый набор API, предназначенный для конкретного типа устройства. Конфигурация в общих чертах описывает семейство устройств, в то время как профиль дает более детальное описание, выделяющее тип устройства внутри семейства. MIDP (Mobile Information Device Profile – информационный профиль мобильного устройства) – это профиль, построенный на основе CLDC, который описывает беспроводные мобильные устройства, такие как телефон или пейджер.
Кроме указания API, используемых для разработки приложений для конкретного типа устройств, MIDP также описывает минимальные требования к аппаратному и программному обеспечению. Это очень важно, поскольку вы всегда знаете, каковы наихудшие условия работы созданного вами приложения.
...В копилку Игрока
Существует две версии профиля MIDP: 1.0 и 2.0. Хотя телефоны MIDP 1.0 имеют достаточно большую функциональность, MIDP 2.0 предоставляет более широкие возможности J2ME для программирования игр. Эта книга целиком посвящена MIDP 2.0, поскольку такие мобильные телефоны с огромной скоростью замещают телефоны, поддерживающие более ранний профиль MIDP 1.0, если уже не полностью вытеснят их к моменту, когда вы закончите прочтение книги.
Оценка требований MIDP к аппаратному обеспечению
Важной частью стандарта MIDP являются требования к аппаратному обеспечению устройств MIDP 2.0. Эти требования накладываются на следующие параметры:
► память;
► экран;
► ввод;
► сеть.
Требования к памяти согласно MIDP 2.0 следующие:
► 256 Кб недоступной памяти для библиотек MIDP API;
► 128 Кб памяти для системы работы Java;
► 8 Кб недоступной памяти для постоянных данных приложений.
Требования к вводу MIDP-устройств оговаривают, что устройство должно иметь клавиатуру или сенсорный экран. Обратите внимание, что мышь не является устройством ввода, поскольку сложно представить мобильное устройство, работа с которым осуществляется с помощью мыши. Однако такое устройство вполне может иметь сенсорный экран и электронное перо.
...В копилку Игрока
Если вам интересно, то в MIDP постепенно начинают входить джойстики. Компании Sony/Ericsson и Samsung предлагают мобильные телефоны с маленькими джойстиками, встроенными в клавиатуру. Поскольку на самом деле MIPD непосредственно не поддерживает джойстики, то джойстик можно использовать, если его положения ассоциированы с соответствующими клавишами клавиатуры.
Требования MIDP к дисплею представляют особый интерес, поскольку для мобильных устройств экран – это один из самых ограниченных параметров. Устройство MIDP должно иметь экран размером 96х54 пикселя с глубиной цвета 1 бит. Это означает, что экран должен быть как минимум 96 пикселей в высоту и 54 пикселя в ширину и, по крайней мере, должен быть черно-белым. Кроме того, форматное соотношение экрана должно быть 1:1, это означает, что пиксели должны иметь форму прямоугольника.
...В копилку Игрока
В реальности большинство телефонов MIDP 2.0 превосходят минимальные требования за счет цветного дисплея и более широкого экрана.
Последнее требование к аппаратному обеспечению – это работа в сети, которое оговаривает минимальные требования к поддержке сетей. MIDP-устройство должно иметь двунаправленное беспроводное сетевое соединение любого вида. Такое соединение может быть прерывным (например, dial-up) и иметь ограниченную скорость передачи данных (9600 бит/с). Это очень важно, поскольку при разработке мобильных игр вы должны быть очень внимательны при определении скорости передачи данных, особенно в играх, для которых быстродействие необходимо (игры в стиле «экшн»).
Оценка требований MIDP к программному обеспечению
Кросс-платформенная природа Java позволяет преодолевать различия между множеством операционных систем. Но несмотря на это, спецификация MIDP устанавливает ряд ограничений, касающихся операционной системы мобильного устройства. Ниже перечислены основные требования к программному обеспечению MIDP-устройств:
► минимальное ядро, необходимое для выполнения низкоуровневых функций, таких как, например, прерывания, исключения и очередь;
► механизм чтения и записи в постоянную память;
► механизм для установки таймеров и отметки времени данных;
► доступ на запись/чтение к сетевому соединению устройства;
► механизм перехвата ввода с клавиатуры или сенсорного экрана;
► минимальная поддержка битовых изображений;
► механизм распределения жизненного цикла приложений.
Эти требования, пусть даже и минимальные, предоставляют достаточно широкий набор средств, который можно использовать для создания MIDP-игр.
Резюме
Я знаю, что вам, вероятно, уже не терпится написать какой-нибудь код и окунуться с головой в программирование мобильных игр, однако в этой главе речь шла об основах. Вы узнали не только о мобильных играх в общих чертах, но также и о различных опциях разработки мобильных игр. Если говорить более подробно, вы узнали, что Java – это лидирующий пакет, и почему эта платформа будет пользоваться значительным успехом в будущем. В конце главы вы познакомились с J2ME, версией Java, предназначенной для программирования мобильных телефонов. Я не люблю выдавать много «фоновой информации», но будет весьма полезно, если вы как можно быстрее узнаете о тонкостях создания игр для Java-совместимых мобильных телефонов.
Экскурсия
Я не могу закончить эту главу, не порадовав вас. Если вы – счастливый обладатель мобильного телефона с поддержкой Java, посетите Handango (http://handango.com/) и найдите какую-нибудь игру. Да, именно Handango, а не Fandango – сайт для заказа билетов в кинотеатр. Большинство игр на этом сайте имеют демо-версии, которые вы можете бесплатно загрузить, перед тем как купить ту или иную игру. Поэтому эта экскурсия не будет вам ничего стоить. Пролистывая списки игр, обратите внимание, может быть, что-то упущено, и у вас, вероятно, появятся идеи создания собственной игры
Глава 2 Основы разработки мобильных игр на Java
Архив Аркад
В 1976 году компания Midway выпустила игру Sea Wolf. В ней вы смотрите в перископ и выпускаете торпеды в проплывающие в верхней части экрана корабли. При этом раздается звук, очень похожий на звук подводной лодки. Игра Sea Wolf – это аналог популярной в конце 60-х годов механической игры Periscope компании Sega Интересно, что Periscope была первой игрой, в которой за каждый из боев приходилось платить 25 центов. Такой стандарт цены перекочевал и в другие аркады.
Поняв, почему в обозримом будущем именно Java станет платформой для разработки мобильных игр, вы будете готовы к тому, чтобы научиться создавать мобильные игры. К счастью, Sun Microsystems абсолютно бесплатно предлагает пакет J2ME Wireless Kit для разработки мидлетов (MIDlet) на J2ME. В этой главе вы познакомитесь с J2ME Wireless Toolkit и узнаете, как его использовать для создания мобильных игр для Java-устройств. Вы также научитесь использовать эмулятор J2ME для проверки работы и запуска приложений, что позволит вам играть в созданные игры, не загружая их на мобильный телефон. Вы узнаете, что эмуляция – это очень важный этап при разработке мобильных игр.
В этой главе вы узнаете:
► об основах разработки игр;
► как использовать J2ME для создания мобильных игр;
► как применять инструмент KToolbar для построения и тестирования мобильных игр;