Разработка казуальных игр и мобильных приложений. Куда, зачем и почему?

Вообще, рынок игр является венчурным по своей природе. Причем не зависимо от того, говорим мы о крутых представителях ААА-класса либо о казуале. Многие крупные компании из области геймдева открывают целые подразделения. Например, сейчас нередко можно увидеть вакансии для программистов, имеющих опыт разработки под iPhone. Для многих наших соотечественников это выглядит сродни: «требуется водитель с опытом вождения болидов Формулы-1 и желательны знания в области управления фуникулерами и бронетанковыми машинами пехоты». Почему такое сравнение? Потому что программирование под iPhone тянет за собой целый воз, а именно - необьходимо знание специфики программирования под Mac и опыт разработки на объективном С (Objective-C), который чем-то напоминает С++. А разработчикам Java или C#(.NET) программировать на нем не то чтобы очень сложно, но непривычно и неудобно. Хотя на самом деле, все не так перевернуто, как кажется.

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

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

Распределение рынков

Рынок казуальных игр под стандартную Windows является, пожалуй, самым насыщенным, а следовательно, и наименее прибыльным. Он заполнен до отказа, хотя сервисы, занимающиеся продажами, предлагают выгодные условия для разработчиков. И если вы хотите стартовать в области казуальных игр, то начать лучше отсюда. Требования небольшие, язык программирования и среда разработки не так важны, главное — запускаемые приложения. Обычно все делается на Visual С++ с использованием DirectX. Есть и другие варианты, о которых мы поговорим чуть позже.

Результаты опроса по приобретениям программного обеспечения среди владельцев смартфонов (указаны цены). Источник — TechCrunch.

Гораздо веселее обстоит дело с играми для мобильных и всевозможных портативных устройств. Это, как говорится, отдельная песТня. Мобильники никогда не отличались технологической стабильностью, свойственной ПК, у которых по существу есть три основных конкурирующих платформы: Windows, Mac OSX и Linux. А в телефонах мы можем наблюдать полнейший разброд и шатание. Что, в принципе, неудивительно. Например, несколько лет назад или чуть больше ваш покорный слуга занимался созданием рингтонов для соответствующих сервисов. Тема была очень модной и прибыльной. Но в части технологических стандартов она была полнейшей головной болью. Дело в том, что практически у каждого производителя был собственный формат файлов для хранения рингтонов. Потом это как-то объединялось, ужималось. Но как факт существовало более 20 различных стандартов. Ситуацию во многом спасали специальные программы типа Ringtone Studio Converter, которые могли эмулировать как некое виртуальное обобщающее устройство, так и конкретные модели. Нечто похожее мы можем наблюдать в SDK для разработчиков.

Результаты опроса по готовности к приобретению программного обеспечения среди владельцев смартфонов (указаны цены). Источник — TechCrunch.

Виртуальное JavaFX устройство (телефон) в Sun Java ME SDK 3.0

Сейчас это многообразие распространяется и на различные мобильные операционные системы. Их много. На 2008-й год мы имеем 6 ключевых: Symbian OS, Windows-модификации, Linux OS (например, MontaVista CEE Linux), RIM (устройства Blackberry), PalmOS, iPhoneOS. На остальные, по данным на 2-й квартал 2008-го, приходится 1,1% от общего рынка.

И это только операционные системы! А сколько различных вариантов SDK предлагается разработчикам? Вы это увидите чуть позже. Причем следует отметить один важный момент, который также был характерен в свое время и для рынка рингтонов. Выпуская, к примеру, рингтон для какого-либо семейства устройств, нужно быть готовым к тому, что в каждой модели есть индивидуальные характеристики, то есть в каждом из случаев звучания разные. Точно также и с играми/приложениями.

MOTODEV Studio for Java ME

Почему основным остается Java?

BlackBerry JDE 4.7

Многие знают, что изначально Java был придуман как язык, обслуживающий микроконтроллеры. Но его создатели заложили в нем ключевую концепцию — мультиплатформенность. Реализована она засчет внедрения такого структурного модуля, как виртуальная машина. Она интерпретирует Java-код в определенные команды для конкретной ОС. Другими словами, вы можете писать на Java для любой платформы, если под нее имеется виртуальная машина.

Гораздо позднее такую же концепцию реализовала и Microsoft, создав .NET Framework и основной язык для нее — С#. Хотя это только то, что лежит на поверхности, то есть значимость С# иногда преувеличивают. На самом деле, все равно, на чем вы сейчас пишете в рамках Visual Studio под .NET, потому как все языки (С/С++/С# и т.п.) преобразуются в промежуточный MSIL, который и является основным для майкрософтовского варианта виртуальной машины.

Но время было потеряно, причем Java фактически имеет свободную лицензию и со временем оброс большим количеством IDE и SDK.

Семейство Java ME SDK

Если вы решили программировать для мобильных устройств, то нужно иметь соответствующую среду разработки, другими словами, какую-нибудь Java IDE (в некоторых случаях она и не требуется) и необходимый набор разработчика. В первую очередь следует обратить внимание на следующие варианты SDK, их использование позволяет создавать мобильные приложения, заточенные под определенные телефоны и мобильные платформы (данные взяты из материала «Java ME Tools: The State of the Union, Q2 2009 by Bruce Hopkins» — сайт
. Sun Java ME SDK 3.0 — сайт
. NetBeans 6.5 IDE — сайт
. MOTODEV Studio for Java ME — сайт
. Nokia S60 SDK — сайт
. Nokia S40 SDK — сайт
. Nokia NFC SDK — сайт
. BlackBerry JDE 4.7 — сайт
. Sony Ericsson SDK 2.5 for Java ME — сайт
. LG SDK 1.2 for Java ME — сайт

Теперь по порядку.

Sony Ericsson SDK 2.5 for Java ME

Sun Java ME SDK 3.0 является продвинутым решением. Его особенностью является изначальный вариант работы с неким обобщающим устройством. В частности, предусмотрены три ключевые конфигурации виртуальных машин:

. CLDC/MIDP: Общая JVM конфигурация для мобильных телефонов.
. CDC/FP/PBP/AGUI: JVM конфигурация для high-end смартфонов
. CDC/FP/PBP/BD-J: JVM конфигурация для Blu-ray Disc плееров.

Ранее вместо J2ME SDK разработчики использовали Java Wireless Toolkit, для которой требовалось наличие IDE, но в нашем случае она не требуется, потому как IDE интегрирована в SDK.

Изначально вы просто создаете приложение, а уже после начинаете его «приспосабливать» к конкретному устройству и его платформе. Это удобно. Хотя и не очень развито. Java ME SDK не поддерживает разработку JavaFX приложений, однако он содержит несколько эмуляторов JavaFX 1.1 телефонов (один с тачскрином и один - без), которые позволяет запускать и тестировать JavaFX Mobile приложения. То есть принимаются сторонние разработки, например, сделанные в NetBeans 6.5 IDE.

SDK для Nokia

NetBeans 6.5 IDE — это, прежде всего, работа с визуальным аспектом разработки. Многие знают, что NetBeans как нельзя лучше подходит для проектирования и тестирования JavaFX приложений. Это предоставляет возможность разработчикам разрабатывать десктопные, веб-ориентированные и мобильные приложения, используя один API framework.

Для создания графического интерфейса в NetBeans 6.5 IDE имеется утилита Mobility Visual Designer, построенная по принципу WYSIWYG (что видите, то и получаете) и поддерживающая векторную SVG графику и анимацию, а также имеются уже готовые визуальные компоненты: Alert, File Browser, Form, List, Login Screen, PIM Browser, SMS Composer, Splash Screen, Text Box, Wait Screen.

MOTODEV Studio for Java ME — Java ME SDK для устройств Motorola. Здесь имеются дополнительные возможности, а именно сервисы-симуляторы: Bluetooth Service, Landmark Storage, Location Service, Remote Control (Bluetooth), SIM Configuration, SIP Proxy, WMA Server. С их помощью вы можете производить отладку, даже не имея конкретного устройства под рукой. Также вы можете отлаживать приложения на реальных устройствах подключив их по USB.

Nokia S60, S40 и NFC SDK — это три SDK от Nokia. Подробности лучше узнать при работе с ними, потому как в ознакомительной статье описания будут долгими и утомительными.

BlackBerry JDE 4.7 — среда разработки и тестирования мобильного приложений для устройств BlackBerry.

Sony Ericsson SDK 2.5 for Java ME и LG SDK 1.2 for Java ME — названия говорят сами за себя.

В общем, посмотреть вам нужно все.

iPhone SDK
LG SDK 1.2 for Java ME
Не думайте, что с iPhone SDK все так просто. Пользователям РС этот набор недоступен. Для того, чтобы написать Hello, world вам необходимо иметь iMac или MacBook, iPhone, заплатить $100 Apple за то, что они включат вас в свою developer program (если зарегистрируетесь как компания, цена будет большей), и скачать iPhone SDK, которая включает:

. Xcode, по существу IDE с редактором.
. iPhone Simulator — симулятор iPhone на Mac’е.
. Instruments.
. Interface Builder — создание графического интерфейса.

Нужно сказать, что, приноровившись, вы найдете iPhone SDK достаточно удобным.

Но на этом не все. Дальше — больше. После того, как iPhone приложение написано, его необходимо подготовить и опубликовать в App Store, для чего нужно пройти целую серию испытаний, изначально зарегистрировав iPhone и получив ID (другими словами, тестировать созданное с помощью iPhone SDK приложение на конкретном устройстве вы сразу не сможете). После этого:

1. Получить сертификат на приложение iPhone Distribution Certificate через сайт iPhone Developer Program.
2. Создать и загрузить iPhone Distribution Provisioning Profile для App Store Distribution.
3. Скомпилировать приложение с помощью Xcode, используя Distribution конфигурацию.
4. Проверить успешную компиляцию Distribution build.

Более подробно — по адресу сайт (нужна регистрация).

В общем, сплошная бюрократия. В следующей части материала мы поговорим об Android, XNA, а также других SDK.

Продолжение следует…

Кристофер christopher@tut.by


Компьютерная газета. Статья была опубликована в номере 32 за 2009 год в рубрике мультимедиа

©1997-2022 Компьютерная газета