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

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

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

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


Далее в игру были добавлены дополнительные детали. Появился подсчет очков и бонусы. Были рождены на свет «жизни» — бонусы, которые добавляют общее допустимое количество попыток закончить игру. Также мы ввели «магический бонус», который замораживает монстров на какое-то время. Когда были введены все эти довольно распространенные моменты, игра приобрела свой окончательный вид.

создание редактора карт/уровней

Когда детали игры были доработаны, пришла пора создать визуальные редакторы карт, причем в достаточном количестве, а карты стали довольно сложными (на этом этапе они включали три массива, содержащие данные о форме карты, местоположении мебели и персонажей).

Началась работа над редактором карт — это та часть, которую не видят игроки, но которая облегчает генерирование новых карт. На разработку редактора мы потратили времени больше, чем собственно на игру. На этом же этапе была изменена структура movie-клипов. Вся графика, использованная в игре, была перенесена в общий файл-библиотеку. Movie-клипы из самой игры и из редактора карт привязаны к этой одной внешней библиотеке. Теперь при изменении/добавлении графики мы модифицировали что-либо только в одном месте.

В редактор также были добавлены полезные функции, облегчающие быстрое создание карт, например «закрашивание» пола определенными квадратами.

Сами карты/уровни хранятся в отдельных внешних файлах. Есть несколько решений насчет того, в каком формате хранить данные такого типа: 1) как пары переменных/значений, 2) в XML-формате, 3) в форме массивов. Также можно хранить данные во внешних файлах или получать их из базы данных. Я решил использовать массивы во внешних SWF-файлах. Почему? Объяснение простое: хотя массивы содержат больше лишней информации и не столь компактны, как пары переменных/значений, работать с ними легче и быстрее. Кроме того, SWF-формат применяет свое сжатие, что обеспечивает небольшой размер файлов — около 2 Kб для карт The Office Space.

Сохраняя карты в отдельных SWF-файлах, можно подгружать их отдельно по мере перехода с уровня на уровень, благодаря чему мы сможем использовать неограниченное количество карт не увеличивая размер самой игры. Единственный недостаток — необходимость перекомпилировать карты в SWF при изменениях. Я также не использовал базу данных для записи-чтения карт и ограничивался простым copy/paste кода массивов, который генерировал на выходе редактор карт (так как Flash не может записывать файлы на диск самостоятельно). Нужно не забыть сказать несколько слов об интерфейсе нашего редактора: он был сделан для чисто «внутреннего» использования, не было особых причин делать его слишком user-friendly.

графика для игры

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

Назад на стр. 064-090-3  Содержание  Вперед на стр. 064-090-5