Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #56, ИЮЛЬ 2005 г.

Мобильная игромания

Denis Mingulov

Спецвыпуск: Хакер, номер #056, стр. 056-050-2


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

- Головоломки (и настольные игры). Самый типичный пример – Lines, в котором расставляют выпадающие на поле шарики по пять штук в ряд.

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

- Стратегические. Этот игровой жанр пока не очень распространен из-за высоких требований к графике и скорости телефона.

- Аркады. Графика, звук, хорошее управление, играбельность - и твоя программа среди тысяч других. Одинаковых :).

- Спортивные. Редко, но встречаются. Например, FIFA от EA несмотря ни на что популярна.

Кроме того, каждая игра может использовать 3D-изображение, но пока это используется в основном для аркад.

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

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

Структура программы

Возможности разных моделей телефонов отличаются, производители ради обеспечения "полноценного" использования часто делают свои собственные, не стандартизированные и ни с чем не совместимые API. В последнее время ситуация меняется к лучшему, но только с последнее время: поддержка новых стандартов возможна только в новых моделях телефонов.

Чтобы впечатлить потенциального игрока по максимуму, придется задействовать все доступные ресурсы. Для этого в программе нужно четко выделить Engine (движок) для работы с экраном, звуком и сетью. Да, для них должны быть свои собственные объекты.

Для поддержки новых API можно просто расширять возможности своего старого объекта, становясь его наследником. Что-то пошло не так? Нужно полностью переписать базовый объект, например графический? Значит, приложение было спроектировано неправильно.

Желательно создавать объекты так: вылезти из кожи вон, чтобы не пришлось ничего дублировать, если ты собираешься распространять программу для нескольких независимых платформ (например Symbian и Windows Mobile). Впрочем, для коммерческой выгоды лучше вначале оценить, нужна ли еще одна платформа или вполне достаточно одной.

Назад на стр. 056-050-1  Содержание  Вперед на стр. 056-050-3