Просто о сложном: Как создаются игры для мобильных телефонов J2ME? Часть 1. Программист

MForum.ru

Просто о сложном: Как создаются игры для мобильных телефонов J2ME? Часть 1. Программист

14.12.2005, MForum.ru

С вопросом, вынесенным в заголовок публикации, редакция MForum.ru обратилась к специалистам компании Media Mobile. Читайте увлекательный рассказ о том, "как это делается" и что нужно знать тому, кто собирается заняться разработкой игр для мобильников.


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

  • Сценарист
  • Программист
  • Художник
  • 3D-художник, аниматор
  • Тестер
  • Менеджеры

В этой команде все незаменимы! Сценарист придумывает сюжет игры, разрабатывает гейм-плей, при этом он учитывает особенности, возможности и недостатки мобильных устройств. Программист пишет код игры, ориентируясь на сценарий и гейм-плей. Художники - тут все ясно из названия, это они создают облик персонажей, реализуют в деталях задуманные миры и сцены, делают игру по-настоящему красивой и привлекательной. Тестер - это не прибор, а человек, задача которого проверить, как игра работает непосредственно на мобильном устройстве, телефоне или КПК, да не на одном, а на нескольких десятках, а то и сотнях. Менеджеры "раскручивают" и продают все то, что сделали остальные члены команды, без них даже о самой лучшей игре скорее всего так никто и не узнал бы.

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

Программист

Что же нужно знать и уметь, чтобы начать писать приложения для мобильных устройств? Прежде всего, отметим, что в мире для программирования мобильных устройств чаще всего используется так называемая платформа Java, точнее ее версия специально для мобильных устройств Java 2 Micro Edition (сокращенно J2ME). Особенность этой платформы в том, что она обеспечивает, до определенной степени, так наываемую "переносимость приложений" между мобильными устройствами, отличающимися аппаратной и программной начинкой. Разработала эту платформу компания Sun. Почему Java называют платформой, а не языком программирования? Потому, что выполняя Java-программу, мобильное устройство сначала компилирует исходный текст программы в промежуточный код, его еще называют байт-кодом. Этот код, по задумке разработчиков, является платформо-независимым, т.е. его должно быть способно исполнить любое устройство, поддерживающее Java, выполняя закодированные команды с помощью интерпретатора Java. J2ME позволяет использовать концепцию платформы Java для портативных устройств, т.е. написанная для одного устройства программа, в теории должна годиться и для множества других устройств, где также реализована поддержка J2ME.

Для работы в каких устройствах разработана J2ME? Как правило, это мобильные телефоны, смартфоны и КПК, т.е. устройства на базе 16-ти или 32-разрядных микропроцессоров, объем памяти которых составляет не менее 160 Кб. Устройства должны соответствовать конфигурации Connected Limited Device Configuration (CLDC), подразумевающей сохранение таких концепций Java, как переносимость кода в любое время и в любое место, гибкость размещения, безопасную работу в сети и устойчивость кода. Необходимой составляющей J2ME CDLC является облегченная Java Virtual Machine(JVM), называемая K Virtual Machine (KVM). KVM разработана для ограниченных по ресурсам сетевых устройств, имеющих небольшой объем памяти.

Но, "гладко было на бумаге...", в реальности все не так безоблачно, принцип “написано однажды, работает везде” характерный для Java, не совсем верен для J2ME. Проблема заключается в том, что производители устройств, в попытке предоставить программистам более широкий доступ к своим устройствам, позволяют использовать специфические библиотеки, имеющие мало общего со стандартом. Использование уникальных для данной конкретной модели особенностей, а также учет быстродействия, размера экрана и объема доступной памяти конкретного устройства приводит к том, что для каждой серии мобильных телефонов нужна своя версия приложения (игрушки или полезной программы), оптимизированная под данное устройство. На профессиональном жаргоне эти версии программ называют "портами", а сам процесс адаптации одной программы к разным устройствам - "портированием".

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

Программисту под J2ME следует помнить, что в его распоряжении весьма ограниченные "аппаратные" ресурсы, так что остро стоит проблема оптимизации программного кода, в основном, приходится оптимизировать расход памяти под загружаемые ресурсы (особенно картинки). Но и исполняемый код может занимать слишком много места. Для "тяжелых случаев", когда требуется "ужать" чересчур большой jar-файл с кодом программы, используются (еще одно жаргонное слово, не пугайтесь!) "обфускаторы" (ProGuard – самый известный), они позволяют значительно уменьшить размер jar-файла. В некоторых случаях помогает более сильное архивирование содержимого jar-файла с исправлением jad-файла.

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

Вот список ресурсов, которые можно сравнить с "настольной книгой" для разработчика программ на J2ME.

Nokia – http://forum.nokia.com  – пожалуй лучший сайт для разработчиков. SonyEricsson – http://developer.sonyericsson.com/  
Samsung - http://developer.samsungmobile.com  
Motorola - http://motocoder.com/motorola/pcsHome.jsp  
Siemens - http://www.siemens-mobile.com/developer  
Alcatel - http://www.my-onetouch.com/onetouch/ahead/index.jsp  
LG - http://java.ez-i.co.kr/wire/index.asp  
LGemulators - http://www.mobilelab.co.kr/  

Для российских разработчиков ресурсов крайне мало. Отметим тематические форумы:

Juga http://forum.juga.ru  ,
MGDS http://www.mgdc.ru/ ,

а также некоторые сайты, посвященные программированию под мобильные устройства, скажем, http://mobilab.ru . Начинающим будет полезно прочитать книгу "Платформа программирования j2me для портативных устройств" Вартана Пирумяна.

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

Справка MForum: Компания MediaMobile была образована в 2004 году, расставляя приоритеты в своей работе следующим образом:
- производство игр для мобильных телефонов на платформе J2Me, Brew, i-Mode;
- разработка Flash-игр для крупнейших игровых порталов;
- создание трёхмерных моделей предметов и персонажей для компьютерных игр.
Среди "немобильных" работ компании можно отметить создание трёхмерных моделей окружения (дома, деревья, предметы и т.д.) и персонажей для компьютерных игр "Сфера" и "Дальнобойщики Tycoon" (рабочее название) компании Nikita. Осенью 2004 года при содействии компании "Руссобит-М" на рынок вышел сборник логических и развивающих игр для детей - "Фабрика Игр".

У вас есть вопросы к авторам материала по теме "программирование на J2ME"? Спрашивайте в форуме под статьей, а мы попробуем получить ответы у специалистов компании MediaMobile.

© "Мобильный форум"

Обсуждение (открыть в отдельном окне)


Последние сообщения в форумах

Все форумы »



Поиск по сайту:


Колонка редактора

13.09. В Японии успешно испытали беспроводный безбатарейный датчик утечки воды

13.09. Первый серийный фотолитограф ЗНТЦ 350 нм будет использовать компания «Маппер»

12.09. ASML раскрыла дорожную карту литографии: после High-NA последует Hyper-NA с апертурой 0,75

11.09. АО «Трамплин Холдинг» вложилась в дизайн-центр Malt System

11.09. МегаФон запустил в России сеть 5G

11.09. Билайн запустил 5G с увеличением скорости мобильного интернета в зоне покрытия до 30%

11.09. Т2 о запуске сети 5G в России

11.09. МТС открыла абонентам скоростную гигабитную сеть в 5 городах и включила 5G на частотах LTE

11.09. Минцифры объявило о запуске 5G в России в 16 городах

11.09. Сети NTN 5G и спутниковая подключенность - взгляд GSA

10.09. Ericsson развернула p5G в аэропорту США

10.09. MWS Cloud: ритейл стал лидером по потреблению услуг резервного копирования

09.09. Дата-центры снижают долю использования воздушного охлаждения в пользу жидкостных методов

09.09. CXMT начала массовый выпуск LPDDR6 - китайский производитель догоняет лидеров

09.09. Qualcomm заключает сделку с Amazon о разработке кастомных ИИ-чипов

Все статьи >>


Новости

11.09. HMD возрождает бренд Asha - представлен бюджетный смартфон Asha 30

11.09. Apple представила AirPods 5 – улучшенное шумоподавление и Live Translation

11.09. Apple представила Watch Series 12 и Watch Ultra 4 – новый чип S11 и рекордная автономность

10.09. Apple представила iPhone 18 Pro и 18 Pro Max: 2-нм чип A20 Pro и камера с переменной диафрагмой

10.09. Apple iPhone Duo – первый складной смартфон Apple оценен в $1999

10.09. Realme представит 16 Pro и Buds T500 Pro в стилистике вселенной Гарри Поттера

10.09. Tecno Camon Slim 5G получил корпус толщиной 6.39 мм, 144 Гц AMOLED-экран и АКБ 6000 мАч

09.09. Xiaomi Pad 9 Pro Max – флагманский планшет на Xring O3 с 13.3" 144 Гц и 12000 мАч

09.09. Oppo A7 Pro с АКБ 8000 мАч, зарядкой 45 Вт и ценой от $330 представлен в Китае

09.09. Infinix Xpad 30 Pro с 2.5K-экраном и АКБ 8200 мАч представлен глобально

08.09. Samsung Galaxy A07s – доступный смартфон с шестью годами обновлений

08.09. Xplora Go Pad – планшет для детей с упором на родительский контроль

08.09. Появилась информация дизайне и характеристиках Poco C95 Pro 4G

07.09. Xiaomi Smart Band 11 стал ярче, тоньше и дольше работает

07.09. Oppo A7 Pro с АКБ 8000 мАч, IP69K и AI-защитой замечен в официальном листинге

07.09. Motorola Edge 70 Plus с 200 МП камерой и АКБ 6500 мАч представлен в Европе

07.09. Poco X8 Power с АКБ 10 000 мАч, зарядкой 100 Вт и защитой IP69 представлен в Индии

05.09. Lenovo Yoga Tab Gen 2 и Plus Gen 2 – экран 4K@144 Гц, 7 лет обновлений и AI-функции

04.09. Poco F9 Pro с экраном 10 000 нит при 185 Гц и АКБ 6330 мАч дебютировал глобально

03.09. Poco X8 с AMOLED-экраном 1.5K@120 Гц и защитой IP69 представлен глобально