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

как закалялся flash

СЕРГЕЙ ПОДБЕРЕСКИЙ

Спецвыпуск: Хакер, номер #064, стр. 064-090-1


(WWW.DISAREA.COM)

СОЗДАНИЕ ОНЛАЙН-ИГРЫ THE OFFICE SPACE

Игра The Office Space

СОЗДАТЕЛИ:

ИДЕЯ, РУКОВОДСТВО ПРОЕКТОМ, КОДИНГ И ДИЗАЙН — СЕРГЕЙ ПОДБЕРЕСКИЙ

АНИМАТОР — АНДРЕЙ МАЦКО

ТЕКСТЫ — ERIN VAN SICKLE

МУЗЫКА И ЗВУКИ — АЛЕКСАНДР ГЛАДКИЙ

The Office Space — это небольшая игра, созданная с помощью технологии Macromedia Flash. Была создана в 2003 году, довольно быстро завоевала популярность и до сих пор пользуется ей. Хотя ядром игры является сложный изометрический движок (engine), The Office Space довольно проста и не рассчитана на долгий игровой процесс.

Игра была удостоена нескольких интернет-призов и стала серебряным призером конкурса, организованного журналом I.D.Magazine в 2004 году, в категории интерактивного дизайна (www.idonline.com/imdr04/silver.asp#2).

Игра доступна в онлайн по адресу www.theoworlds.com/games/os.

идея

Какую игру создать? Сначала для нас этот вопрос не казалось важным, но призадумавшись, я понял, что на самом деле не все так просто и нужно определиться. В первую очередь — с желаниями :). Мои желания были просты: создать небольшую игру, в которую можно поиграть во время обеденного перерыва, предварительно не читая длинные инструкции. Чтобы ограничить игровое время, было решено сделать игру из конечного числа уровней. На случай если понадобится расширить ее, мы запланировали наличие редактора карт. Так стали выявляться первые технические детали, а конечную идею нам подсказал фильм Office Space. Кто смотрел, тот поймет — комедия о самой обычной скучной офисной рутине. В каждой компании есть какие-то особенности (они и описаны в фильме), иногда бывает полезно посмеяться над ними. Вот так на почве юмора и родился проект.

начало. разработка «движка» и определение задач

Идея с уровнями/картами органично сочеталась с офисной обстановкой, поскольку нарисовать офис легко: мебель, кулеры, секретарши и прочие атрибуты :). Я поискал техническое решение и решил остановиться на изометрической проекции (вид сбоку-сверху) — выглядит не так плохо, кроме того, к тому времени появились аналогичные проекты в интернете, а значит, технически моя идея была реализуема. Итак, я сразу сел писать код actionscript (AS1 на Flash 5), чтобы создать базу движка и со временем построить проект на его основе.

Я начал с простой карты, разделенной на квадраты (ромбы из нашего вида). Планировалось расположить все элементы по границам этих квадратов. Так они легче запоминаются в массиве (двумерный массив с ячейкой для каждого квадрата). Привязка к квадратам, а не к координатам очень облегчает просчет взаимодействий персонажей и предметов, упрощает определение z-порядка элементов (вопрос о том, какие объекты «ближе»), нужного для организации правильного перекрывания предметов.

Как создавался персонаж? Было решено сделать его с тремя фазами анимации: стоит на месте, права нога поднята, левая нога поднята. Последние две фазы чередуются в то время, пока персонаж движется (самая элементарная анимация ходьбы :)). Герой/персонаж двигается в четырех направлениях, два из них зеркальные (можно просто перевернуть картинку, для этого персонаж рисуется симметричным). Итого — шесть разных картинок, то есть минимум, хотя если персонаж захочет скакать на одной ноге, можно обойтись и двумя фазами.

Содержание  Вперед на стр. 064-090-2