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

advertisement
УДК 004.4(06) Технологии разработки программных систем
Е.А. ПАВЛОВА
Московский инженерно-физический институт (государственный университет)
ДОМЕННО-СПЕЦИФИЧНЫЙ ЯЗЫК ДЛЯ РАЗРАБОТКИ
КОМПЬЮТЕРНЫХ ИГР В ЖАНРЕ ПОШАГОВЫХ СТРАТЕГИЙ
Разработан доменно-специфичный язык (DSL) для пошаговых стратегий, позволяющий описывать правила игр, выполнять доменно-специфичную балансировку правил, генерацию и верификацию кода.
Компьютерные игры – одна из самых динамично развивающихся областей информационных технологий. Ожидания потребителей постоянно
растут, порождая всё более высокие требования к качеству игр и разнообразию их содержания. Соответственно возрастают требования к средствам
разработки [2], степени их интеграции и общему уровню автоматизации
процесса создания игр.
В настоящее время одной из наименее автоматизированных задач
остаётся разработка правил игры [3], включающая в себя описание правил, их балансировку, генерацию кода и данных на основе правил, а также
верификацию результатов. Соответствующие инструменты разрабатываются различными компаниями, которые используют самые разные технологии реализации и способы представления данных, что затрудняет интеграцию в рамках одного проекта.
Инструменты для описания правил игр и их балансировки требуют
навыков программирования как минимум на скриптовых языках, что затрудняет и замедляет работу дизайнеров игр, которые обычно не являются техническими специалистами. Значительная часть правил представляется в виде обширных таблиц, которые затем вручную обрабатываются
программистами игр и преобразуются в код и данные.
Кроме того, инструменты создания игр не учитывают особенности конкретного жанра, либо учитывают только в виде готовых библиотек реквизита [2, 4, 5], т.е. не используется часть накопленного опыта.
Вышесказанное определяет актуальность задачи разработки единого
способа представления правил игры. Такой единый способ послужит основой для разработки совокупности интегрированных средств создания
правил игры. Этот способ должен снизить уровень требований к техническим навыкам дизайнеров игр, исключить повторное описание правил
программистами и позволить учитывать специфику жанра.
ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11
57
УДК 004.4(06) Технологии разработки программных систем
В качестве исследуемого игрового жанра были выбраны пошаговые
стратегии [4]. Именно в этом жанре ключевой задачей разработки является создание правил игры [5].
Для единообразного описания правил игр был разработан доменноспецифичный язык (domain-specific language, DSL) [6]. Этот язык определяет абстракции, кодирующие понятия домена пошаговых стратегий.
Применение доменно-специфичных языков является новым подходом к
созданию правил компьютерных игр.
Используя метод [7], на основе результатов проведённого анализа
предметной области была разработана библиотека, включающая основные объекты и операции, характерные для предметной области. Затем, на
основе библиотеки была разработана абстрактная машина, представляющая собой исполнимую модель DSL. Абстрактная машина оперирует инструкциями, специфичными для домена, над специфичными для домена
состояниями. Затем, были учтены шаблоны проектирования, адаптированные для компьютерных игр, и оптимизации, специфичные для игр.
Был разработан прототип инструмента, позволяющий визуально описывать правила пошаговой стратегии. Визуальное представление преобразуется в описание правил на DSL, которое затем автоматически представляется в виде наборов данных, кода на языке программирования общего
назначения и кода на скриптовых языках.
Разработанный DSL позволит описывать правила привычными дизайнеру игр терминами, выполнять доменно-специфичную балансировку
правил, генерацию и верификацию кода. Полученные в работе новые результаты станут основой инструментов создания правил и послужат важным шагом на пути к разработке фабрики [6] пошаговых стратегий.
Список литературы
1. Rollings A., Morris D. Game Architecture and Design. A New Edition. Indianapolis: New
Riders Publishing, 2004.
2. Wihlidal G. Game Engine Toolset Development. Boston, MA: Thomson Course Technology PTR, 2006.
3. Game Middleware – http://gamemiddleware.org, 2007.
4. Meigs T. Ultimate Game Design: Building Game Worlds. NY: McGraw-Hill/Osborne,
2003.
5. Bates B. Game Design. Second Edition. Boston, MA: Thomson Course Technology PTR,
2004.
6. Greenfield J., Short K. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, 2004.
7. Consel Ch. From a Program Family to a Domain-Specific Language //Domain-Specific
Program Generation. Berlin: Springer, 2004. P. 19-29.
ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11
58
УДК 004.4(06) Технологии разработки программных систем
ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11
59
Download