Qplaze-2005

  • Mercury
  • Персональный
  • 2 поста
  • Обновлено: 01 октября 2019, 02:12

Qplaze-2005: Какие тогда были технологии

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

Java рассчитана на «написано раз, работает везде». Может, в прикладном ПО, если его нормально написать, такой принцип и будет как-то (!) работать, но в играх — нет. Под каждую серию мобильников игра программировалась отдельно. Звук вообще был никак не стандартизирован: у кого-то собственные звуковые классы, у кого-то плохой MMAPI, у кого-то — хороший MMAPI. Кто-то проигрывает AMR (наиболее качественный из GSM-кодеков, дававший 8…15 кбит/с), кто-то MIDI, MMF, тоновые звуки или ещё что-нибудь. Тем не менее, хороший программист делал так, чтобы портация была крайне безболезненной. Мы тянулись к «один день — один порт», но реалистичная цифра — порт в два дня. Что приходилось менять?

Во-первых, менялись так называемые «девайс-классы», отвечающие за экран, клавиатуру, игровой цикл и звук. Эти классы максимально скрывали особенности мобильников: например, Motorola, если поставить пустой прямоугольник отсечки, вообще переставала отсекать (правильно — ничего не рисовать).

читать дальше >>

Qplaze-2005: Программист, будь человеком!

[ Раз уж пошёл разговор про эргономику игры… Это моя статья, написанная в далёком 2005 году для внутренних нужд Qplaze, компании, разрабатывавшей мобильные игры под Java ME. Кое-что, разумеется, устарело, но современные меню управляются не только мышью, но и клавиатурой с джойстиком — и там всё точно так же. Современные комментарии пишу курсивом в квадратных скобках. ]

Эту статью побудил меня написать такой эпизод. При проталкивании игры Real Tournament через тестеров вдруг — когда были сданы почти все «средние» телефоны — нашли ошибку где-то в системе меню. Бывает же!

Здесь я не буду говорить о логике и физике игры. Все ошибки, которые я буду упоминать, связаны с «оснасткой» игры — системой меню, сохранением и так далее. Итак, начнём!

читать дальше >>