Реализация компьютерной игры жанра квест

Ознакомление с понятием компьютерных игр и их основными жанрами. Выбор сюжета игры и среды программирования. Отрисовка графики; проведение функционального и интерфейсного тестирования программы. Анализ условий труда в данной компьютерной лаборатории.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.07.2014
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Анализ предметной области

1.1 Индустрия компьютерных игр

1.2 Жанры компьютерных игр

1.3 Анализ аналогов

1.4 Постановка задачи

2. Анализ моделей

2.1 Выбор среды проектирования и языка разработки. Доступные языки и технологии разработки ИЛ

2.1.1 ADRIFT (Adventure Developer & Runner -- Interactive Fiction Toolkit)

2.1.2 Hugo

2.1.3 Inform

2.1.4 Hydra

2.1.5 TADS (Text Adventure Development System)

2.1.6 URQ (Universal RipSoft Quest)

2.1.7 QSP (Quest Soft Player)

2.1.8 TKR 2 (Текстовоквестовый редактор 2)

2.1.9 GTI - графическо-текстовый интерпретатор

2.1.10 "6 дней"

2.1.11 Выбор технологии разработки

2.2 UML-моделирование

3. Разработка

3.1 Ознакомление с платформой разработки и реализация игры

3.2 Отрисовка графики

4. Тестирование

4.1 Интерфейсное тестирование

4.2 Функциональное тестирование

5. Внедрение

Выводы

Список источников

Приложение А - Охрана труда

А.1 Анализ условий труда на рабочем месте программиста

А.2 Промышленная безопасность в компьютерной лаборатории

А.3 Производственная санитария и гигиена труда в компьютерной лаборатории

А.4 Пожарная профилактика производственного помещения

Приложение Б - Слайды презентации

Приложение В - Программный код

В.1 Разговор в первом квесте

В.2 Конец первого квеста

Введение

"Интерактивная Литература" (далее ИЛ) -- это русский аналог англоязычного понятия "Interactive Fiction" (IF). [1] В самом широком понимании термина, это -- любая разновидность художественных произведений, сюжет которых не является жестко фиксированным, но способен изменяться в зависимости от действий читателя (в компьютерном варианте -- пользователя). Например, популярные некогда книжки с нелинейным или "ветвящимся" сюжетом -- это тоже вариант ИЛ.

Конечно, ИЛ -- это очень древний (возможно, даже древнейший) жанр компьютерных развлечений (или, если хотите, компьютерного искусства). Что и понятно, поскольку для текстовой игры не требуется видеокарта с аппаратным 3D-ускорением, графический монитор с высоким разрешением и стереосистема -- простейшего текстового дисплея и клавиатуры вполне достаточно. Поэтому текстовые игры появились сразу после того, как были созданы первые интерактивные компьютеры, т.е. компьютеры, с которыми пользователь мог общаться напрямую, вводя команды и почти немедленно получая на них какой-либо отклик.

Но жанр интерактивной литературы отнюдь не устарел -- он продолжает жить и развиваться. [2]

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

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

Можно также сказать, что текстовые игры в очень малой степени подвержены моральному старению (если, конечно, Вы не считаете, что жанр устарел морально как таковой). Увы, даже в самых классических рисованных квестах графика сегодня часто выглядит архаично ("неплохо, но в 1024x768xTrueColor этот волшебный лес смотрелся бы намного лучше"). Безусловно, это одна из сильных сторон ИЛ -- когда графика отсутствует, она в принципе не может устареть. Совершенно то же, конечно, можно сказать про звуковое сопровождение, и прочие атрибуты мультимедиа

Конечно, свое коммерческое значение в наши дни этот жанр в основном потерял -- сегодня вряд ли кто-нибудь будет создавать ИЛ исключительно ради прибыли (хотя до сих пор встречаются и shareware, и даже коммерческие текстовые приключения). Основной движущей силой ИЛ-сцены сейчас являются энтузиасты-любители. Однако, их довольно много; среди них есть исключительно талантливые люди, и многие современные произведения ИЛ нисколько не уступают "классическим образцам". Можно даже считать, что декоммерциализация жанра отчасти пошла ему на пользу -- появилось немало по-своему любопытных образцов нетрадиционной и экспериментальной ИЛ, находящихся где-то на стыке между компьютерными развлечениями и литературным авангардом.

В работу также входит проведение анализа условий труда в компьютерной лаборатории, предназначенной для разработки, в соответствии с нормативами и стандартами охраны труда, принятыми в Украине. Целью этой части работы является обеспечение условий труда, способствующих здоровью, безопасности и максимальной продуктивности работающих.

компьютерный игра графика программа

1. Анализ предметной области

1.1 Индустрия компьютерных игр

Индустрия компьютерных игр (также индустрия интерактивных развлечений) -- сектор экономики, связанный с разработкой, продвижением и продажей компьютерных игр. [3] В неё входит большое количество специальностей, по которым работают тысячи человек по всему миру.

Индустрия компьютерных игр зародилась в середине 1970-х годов как движение энтузиастов и за несколько десятилетий выросла из небольшого рынка в мейнстрим с годовой прибылью в 9,5 миллиардов долларов в США в 2007 году и 11,7 миллиардов в 2008 году (согласно ежегодным отчётам ESA). На рынке работают как крупные игроки, так и и небольшие фирмы и стартапы, а также независимые разработчики и сообщества (напр. Kickstarter и др.).

Современные персональные компьютеры дали множество новшеств игровой индустрии. К числу самых значимых относят звуковые и графические карты, CD- и DVD-приводы, Unix и центральные процессоры.

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

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

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

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

Бен Сойер (англ. Ben Sawyer) из Digitalmill рассматривает цепочку ценности игровой индустрии, которая составлена из шести связанных, но хорошо различимых слоев:

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

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

- уровень создания и технологий: является источником средств разработки игр, настраиваемых и расширяемых игровых движков, связующего ПО (англ. middleware), а также средств управления разработкой;

- уровень распространения (также индустрия издателей): создание перечней игр и их продвижение в розничных и интернет-магазинах;

- уровень аппаратного и программного обеспечения: сюда входят аппаратные базисы-платформы, в том числе такие как консоли и мобильные устройства. В этот уровень сейчас входят также и неаппаратные платформы, такие как виртуальные машины (например Java или Flash) или программные платформы, такие как браузеры и (в последнее время) Facebook;

- уровень конечных пользователей. Иначе говоря, потребителей игр или геймеров.

История индустрии началась в 1971 году с запуска аркадной игры Computer Space. В следующем году компания Atari выпустила первую коммерчески успешную видеоигру Pong. Успех этой игры открыл аркадным автоматам в течение "золотой эры" путь в такие общественно значимые места как торговые центры, традиционные торговые залы, рестораны и круглосуточные магазины. Во всем мире всего было продано более 360 тысяч аркадных автоматов с игрой Space Invaders, таким образом в 1982 году игра заработала 2 миллиарда долларов монетами по 25 центов, что составляет 4,6 миллиарда долларов в ценах 2011 года.

К началу 1980-х "золотая эра аркадных игр" была в расцвете. Объем рынка аркадных автоматов в США значительно увеличился с $50 млн. в 1978 до $900 млн. в 1981, при этом доход всей индустрии аркадных игр утроился, составив $2,8 млрд. в 1980. Начало этого периода также совпало с появлением многих домашних компьютеров и энтузиастов-разработчиков игр для них. Большого успеха достигла домашняя игровая приставка Nintendo Entertainment System, что привело к захвату этого рынка различными японскими компаниями типа Nintendo.

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

- широкое внедрение CD-ROM для распространения и хранения данных;

- широкое распространение операционных систем, основывающихся на GUI, таких как AmigaOS, Microsoft Windows и Mac OS;

- существенное развитие технологий трехмерной графики и широкое распространение 3D графических процессоров, переход к трехмерной графике как к стандарту де-факто визуализации игр;

- продолжение улучшения быстродействия CPU, всестороннее развитие архитектуры;

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

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

Одновременно с развитием технологий происходило и развитие рынка игр. Так в начале периода стали более успешными лицензированные игры, также как и сиквелы игр.

В 1993 году продажи компьютерных игр в мире составили $19,8 млрд. ($31 млрд. в ценах 2011[), $20,8 млрд. в 1994 ($32 млрд. в ценах 2011) и приблизительно $30 млрд. в 1998 ($41,5 млрд. в ценах 2011). Суммарные продажи игровой индустрии США более чем в 2,5 раза превысили продажи кинематографа в США.

В 2000-е было создано и стали популярными множество казуальных и инди-игр. Также крепнет направление игр для мобильных платформ, появилось направление создания игр для социальных сетей. Особенно известен разработчик Zynga игр для социальной сети Facebook. Другим примером успешных платформ для компьютерных игр являются iOS и Android.

На начальном этапе существования компьютерных игр стоимость разработки была минимальной, поэтому это был прибыльный бизнес. Игры, разработанные единственным программистом или небольшой группой, состоящей из программиста и нескольких художников, могли обеспечивать продажи в количестве сотен тысяч копий. Многие из этих игр были разработаны всего за несколько месяцев, что давало возможность разработчикам выпускать по несколько игр в год. Это давало возможность издателям предлагать весьма щедрые отчисления разработчикам, включая различные роялти с проданных копий. В течение этого экономически благоприятного периода было создано много известных компаний-издателей, например, Origin Systems, Sierra Entertainment, Capcom, Activision и Electronic Arts.

В настоящее время компьютерные игр вносят значительный вклад в мировую экономику ввиду большого успеха продаж основных игровых систем и игр типа Call of Duty: Black Ops, заработавшая в течение первых 5 дней продаж более $600 млн., что стало мировым рекордом пятидневных продаж среди фильмов, книг и компьютерных игр.

Альтернативным способом издания игр является самостоятельное издание посредством shareware-модели, либо по модели открытого кода через интернет.

В последние годы набирает популярность модель "пожертвований" (с помощью сервисов аналогичных Kickstarter) для разработки компьютерных игр. Часто известные в прошлом разработчики игр предлагают создать идейное "продолжение" или "аналог" известных игр, если пользователи соберут запрашиваемую сумму. Примерами проектов наиболее успешно собравших средства с помощью этой схемы являются Star Citizen (запросили -- $2 млн., собрали -- $27 млн.), Torment: Tides of Numenera (запросили -- $1 млн., собрали -- более $4,2 млн.) и Elite: Dangerous (запросили -- $1,25 млн., собрали -- более $1,7 млн.).

1.2 Жанры компьютерных игр

Компьютерные игры в основном классифицируются по жанрам, а также по количеству игроков. [4]

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

Существуют игры с элементами нескольких жанров, которые могут принадлежать каждому из них (например, серия Grand Theft Auto, Космические Рейнджеры, Rome: Total War и многие другие). Такие проекты причисляют либо к одному из жанров, который в игре является основным, либо сразу ко всем, присутствующим в игре, если они в равной мере составляют геймплей проекта.

3D-шутер (англ. 3D Shooter) -- в играх данного типа игрок, как правило, действуя в одиночку, должен уничтожать врагов при помощи оружия ближнего боя (как правило холодного) и стрелкового оружия (чаще всего огнестрельного оружия и энергетического. В шутерах от первого лица (англ. First person shooter, FPS) игрок не видит персонажа со стороны -- он наблюдает за происходящим от лица персонажа -- "глазами персонажа" (англ. First person look), и наблюдаемая игроком картина совпадает с тем, что "видит" персонаж. В шутерах от третьего лица (англ. Third person shooter, TPS) игрок видит персонаж со стороны с фиксированной (обычно со спины) или произвольной точки зрения (англ. Third person look). В ряде игр реализована возможность переключения первое/третье лицо и фиксированная/произвольная камера.

В файтинге геймплей состоит исключительно из поединков двух и более противников с применением рукопашного боя. Beat'em up - разновидность файтингов, бой в которых происходит за пределами арены и со множеством противников одновременно. Слэшеры - игры с видом от третьего лица, основной частью игрового процесса в которых являются фехтовальные поединки с применением холодного и другого оружия.

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

Стелс-экшен (англ. Stealth-action) -- игры, в которых предполагается не сражаться с большинством встреченных противников, а всячески избегать возможного контакта с ними, попутно выполняя поставленные задачи. Стелс-элементы (например, возможность выглядывать из-за угла, прислонившись к стене) часто встречаются в играх различных жанров.

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

Стратегии (англ. Strategy) -- игры, требующие планирования и выработки определенной стратегии для достижения некоей конкретной цели, например, победы в военной операции. Игрок управляет не одним персонажем, а целым подразделением, предприятием или даже вселенной. Различают походовые или пошаговые стратегические игры (Turn-Based Strategy, TBS), где игроки поочерёдно делают ходы, и каждому игроку отводится неограниченное или ограниченное (в зависимости от типа и сложности игры) время на свой ход, и стратегические игры в реальном времени (Real Time Strategy, RTS), в которых все игроки выполняют свои действия одновременно, и ход времени не прерывается.

Квест (англ. quest), или приключенческая игра (англ. adventure game) -- также один из основных жанров компьютерных игр. Квест представляет собой интерактивную историю с главным героем, управляемым игроком; при этом важнейшими элементами игры являются собственно повествование и обследование мира, а ключевую роль в игровом процессе играют решение головоломок и задач, требующих от игрока умственных усилий. Бои, экономическое планирование и задачи, требующие от игрока скорости реакции и быстрых ответных действий, в квестах сведены к минимуму или вовсе отсутствуют [1]. Игры, объединяющие в себе характерные признаки квестов и жанра action, выделяют в отдельный жанр -- action-adventure. [5]

Англоязычное название adventure game восходит к первой игре жанра, Colossal Cave Adventure, и должно пониматься как "игра, подобная Adventure", хотя современные игры могут сильно от нее отличаться. В русском языке закрепилось наименование "квест", которое изначально также было именем собственным и использовалось в названии популярных игр этого жанра, разработанных компанией Sierra On-Line: King's Quest, Space Quest, Police Quest.

Разновидности квестов:

Текстовые приключения. Первые приключенческие игры -- Colossal Cave Adventure, Охота на Вампуса и коммерческая Zork -- были текстовыми и использовали парсеры, основанные на управляющих глаголах [6]. С развитием компьютерной техники и графических подсистем текстовые игры были вытеснены более наглядными и удобными в управлении графическими квестами.

Позднее любители текстовых игр возродили жанр interactive fiction (иногда именуемый "текстовым квестом"), создав виртуальные машины для работы с файлами различных игр. В настоящее время текстовые квесты встречаются в качестве мини-игр в составе выпускаемых крупных игр.

Графическая приключенческая игра (англ. graphic adventure game) -- одна из разновидностей приключенческих компьютерных игр. [7] В отличие от текстовых приключенческих игр, в которых игрок осуществлял взаимодействие с игровым миром посредством текстовых команд, в графических стало возможно управление и взаимодействие с различными объектами на игровом экране с помощью курсора.

Новый этап развития графических приключенческих игр начался с появлением интерфейса поинт-н-клик (англ. point-and-click, дословно укажи и выбери). Одной из первых компьютерных игр, использующих этот интерфейс стала Planet Mephius, разработанная Эйджи Йокояма (англ. Eiji Yokoyama) и выпущенная T&E Soft в Японии на персональных компьютерых FM-7 в 1983 году. В игре помимо меню команд был доступен курсор, с помощью которого игрок мог взаимодействовать с различными объектами на игровом экране. Аналогичный интерфейс управления был впоследствии использован в другой японской игре Wingman, разработанной компанией TamTam и изданной Enix для персональных компьютеров NEC PC-8801 в 1984 году.

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

Большинство игр подобного вида выполнены от первого лица, где игрок путешествует по "миру" из заранее отрисованных изображений, прерываемых короткими анимационными или видеовставками. Ярким примером этого поджанра является игра Myst, впервые использовавшая подобный стиль.

Развитие широкополосного_интернета и программирования как хобби привело к новому витку в истории квестов. Любителями были созданы несколько бесплатных движков, на основе которых другие могли свободно создавать свои игры. Также иногда в качестве движка для небольших игр применяется Macromedia Flash (естественно, проблема flash-игр -- в них лишь очень редко есть возможность сохраниться).

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

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

1.3 Анализ аналогов

Был проведен анализ ряда случайно выбранных игр-аналогов для QSP.

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

Рисунок 1.1 - Темный замок

Мировое сознание (рисунок 1.2) - оригинальная игра-головоломка с интересным сюжетом и проработанным миром, происходящая в минимуме локаций, но зато это локации тщательно проработаны. К особенностям игры можно также отнести большую сложность и при этом крайне короткий сюжет.

Рисунок 1.2 - Мировое сознание

Лабиринт (рисунок 1.3) - также вариация на тему фэнтези, как и Темный замок, но с другим шаблонным сюжетом. Сделана она гораздо приятнее и удобнее, но вызывающе линейна и когда дается выбор, он не блещет разнообразием и никак не влияет на сюжет.

Рисунок 1.3 - Лабиринт

Звездная эпопея (рисунок 1.4) - игра с открытым миром, позволяющая игроку окунуться во вселенную Звездных Войн. К сожалению, она полна багов и кроме того, не предоставляет игроку никаких подсказок о том, что же ему делать.

Рисунок 1.4 - Звездная эпопея

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

Рисунок 1.5 - Komm

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

Рисунок 1.6 - Взгляд из коробки

Феи: пропавший зонтик (рисунок 1.7) - игра с явно детским сюжетом, не слишком увлекательная для взрослой аудитории, зато разветвленная с множеством концовок и интересной нестандартной механикой, где использование квестовых предметов действительно дает разные результаты в разных сочетаниях.

Рисунок 1.7 - Феи: пропавший зонтик

Ночная сказка (рисунок 1.8) - игра, построенная на основе сказочного сюжета и сказочного мира, не прощающая ошибок и вынуждающая начинать сначала или загружаться при малейшем отклонении от единственно верного пути. Таким образом, игроку предоставляется лишь иллюзия выбора - для победы он должен поступать в соответствии с заранее заданным сюжетом.

Рисунок 1.8 - Ночная сказка

Можно выделить следующие особенности квестовых игр:

- чем интереснее сюжет, тем короче игра;

- чем ограниченнее в применении механика, тем она интереснее;

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

1.4 Постановка задачи

Задачей данной работы является разработка игры в жанре ИЛ, также известном как текстовый квест или текстовое приключение. Игра должна удовлетворять литературным требованиям и предоставлять возможности ветвления, делая события зависящими от выбора игрока.

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

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

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

- диалога с выбором из нескольких возможных реплик;

- использования инвентаря и предметов;

- рискованных действий с возможностью ошибиться, в том числе боевой механики.

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

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

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

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

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

2. Анализ моделей

2.1 Выбор среды проектирования и языка разработки. Доступные языки и технологии разработки ИЛ

2.1.1 ADRIFT (Adventure Developer & Runner -- Interactive Fiction Toolkit)

Популярная интерактивная ИЛ-система. Создана относительно недавно. Последняя версия - 4.0 (Generator & Runner), наиболее популярна 3.9 в силу ее бесплатности. Разработка и поддержка - Кэмпбелл Уайлд (Campbell Wild), начиная с декабря 1997. Версия 4.00 распространяется как shareware ($17), более ранние -- freeware.[8]

Принципы технологии: интерактивная среда разработки и исполнения ИЛ-приложений. Средствами Adrift Generator разрабатывается игра, которую можно выполнить с помощью Adrift Runner. Готовые файлы игр имеют расширение '.TAF'.

Переносимость: все версии Windows. Кроме того, для выполнения готовых Adrift-программ можно использовать альтернативы: мультиплатформенный Adrift-интерпретатор SCARE (имеются версии для DOS, Windows, Linux…) и Java-приложение jAsea.

Разработка или редактирование игры с помощью Adrift Generator предполагает работу в удобной интерактивной среде.

2.1.2 Hugo

Относительно молодая (по сравнению с Inform и TADS), но довольно успешно набирающая популярность ИЛ-система. Последняя версия: Hugo engine -- Version 3.1.03 - 5Jan06. Разработка и поддержка: Кент Тессман (Kent Tessman) занимается разработкой системы с 1995 года вплоть до настоящего времени. Доступность: freeware. Исходные тексты также доступны.

Принципы технологии: компилируемый язык программирования. Файлы с исходным кодом (обычно имеющие расширение '.HUG') обрабатываются Hugo-компилятором. Естественно, файлы-результаты (`.HEX') выполняются Hugo-интерпретатором.

Переносимость: широкая. Технология доступна на: Acorn RISC OS, Amiga, BeOS, MS-DOS, большинстве Unix-систем, OS/2, Win95/NT. Интерпретатор также переносим на любую систему, поддерживающую технологию Glk (например MacOS), хотя с поддержкой мультимедиа при этом несколько хуже.

Основные возможности. Hugo может поддерживать многооконный интерфейс (с не перекрывающимися окнами), графику (JPEG), аудио (MOD, S3M, MP3, MIDI, XM, WAV; до 32 аудиоканалов), а, начиная с версии 3.0 -- даже видео (MPEG, AVI).

2.1.3 Inform

Безусловно, в англоязычном (и не только) мире, это -- одна из самых популярных платформ (по общему количеству программ, созданных на этой основе, она явно может претендовать на мировое лидерство). Последняя версия: компилятора 6.30, стандартных библиотек 6/11.

Разработка и поддержка: язык Inform в 1993 г. создал Грэхем Нельсон (Graham Nelson). Помимо него, к созданию технологии приложили усилия еще многие: компания Infocom (оригинальный формат Z-файлов), группа InfoTaskForce (его последующая "расшифровка"), Эндрю Плоткин (Andrew Plotkin) -- технологии Glk, Glulx и Blorb. В настоящее время, поддержкой и развитием технологии занимается группа, которую возглавляет Роджер Фирт (Roger Firth).

Доступность - freeware. Распространяется свободно, при условии неизменности. Исходные тексты библиотек, компилятора и большинства интерпретаторов доступны.

Принципы технологии: компилируемый язык программирования. Файлы с исходным кодом (обычно имеющие расширение '.inf') обрабатываются компилятором Информ, поддерживающим две целевых платформы -- Z-code и Glulx.

Переносимость: технология доступна очень широко. Вот список (не самый свежий) платформ, где компилятор Inform доступен: Acorn RISC OS, BeOS, Macintosh, Atari ST (версия 5.4), Amiga, MS-DOS (также версия для GO32), Linux, OS/2, UNIX, VMS (DEC VAX или Alpha) и EPOC (Psion 5/Revo/7), Windows. Z-интерпретаторы доступны еще шире. Glulx-интерпретаторы пока распространены меньше, но для Windows, Linux (консольный и X) и MacOS X имеются.

Основные возможности. Inform -- полнофункциональный объектно-ориентированный язык программирования, во многом похожий на C и SmallTalk. Есть возможность создавать ИЛ-игры, дополняющие стандартный парсер мощным Legend-подобным многооконным интерфейсом. Более того, уже появились библиотечные пакеты, помогающие это делать (например, GWindows).

2.1.4 Hydra

Hydra - базовая система для написания парсерных IF игр на языке программирования Python. Разработка: (c) Copyright 2001-2002 WildWizard, позже присоединился Стас "Unreal" Старков. Система была доведена до рабочего состояния и позволяет создавать полноценную ИЛ. Доступность - freeware.

Система программирования похожа на Inform и довольно проста и гибка. Известно, что интерпретатор языка Python распространен, например на смартфонах с операционной системой Symbian, и вообще является кросс-платформенным. Однако, тестирование Гидры на данных платформах пока не производилось.

2.1.5 TADS (Text Adventure Development System)

Безусловно, вторая по популярности (после Inform) ИЛ-платформа в мире и первая (среди парсерных платформ) в России. Последняя версия: 2.5.X (TADS 2), 3.0.X (TADS 3).

Разработка и поддержка: TADS -- профессиональная система для разработки ИЛ -- создана Майклом Робертсом (Michael Roberts) в конце 1980-х годов. Он ее продолжает развивать и поддерживать до настоящего времени (при участии и поддержке множества энтузиастов). Доступность: когда-то система разрабатывалась как shareware-продукт; теперь распространяется свободно вместе с исходными текстами.

Принципы технологии: компилируемый язык программирования. TADS-компилятор обрабатывает исходные файлы (обычно имеющие расширение '.T'), и генерирует переносимый двоичный файл игры (расширение .GAM), для выполнения которого необходим TADS-интерпретатор.

Переносимость широкая. Система TADS доступна на: Acorn RISC OS (только интерпретатор), AmigaDOS, Atari ST/TT/Falcon, DECStation, Linux, Macintosh, MS-DOS (есть также версия для GO32), NeXT, OS/2, SGI Iris/Indigo, SunOS & Sun 3, все версии Windows. Интерпретаторы TADS предъявляют несколько большие системные требования, чем Z-интерпретаторы, поэтому на очень маломощных системах (старые ПК, наладонники) могут не работать.

Основные возможности. TADS -- объектно-ориентированный язык программирования, напоминающий гибрид между C и Паскалем. Относительно новое расширение технологии -- HTML-TADS -- позволяет лучше управлять выводимым текстом, путем включения в него тегов разметки (подмножество HTML). За счет этого можно управлять шрифтами, размерами, цветом и прочими стилевыми атрибутами текста; можно включать в текст гиперссылки и графику (JPEG, PNG, MNG - анимированный PNG), воспроизводить многие популярные аудиоформаты (MIDI, WAV, MP3, OGG). Программы, ориентированные на HTML-TADS, работают и в более старых TADS-интерпретаторах (хотя, конечно, без перечисленных "излишеств"). Сейчас HTML-TADS интерпретаторы доступны для Windows и MacOS X.

2.1.6 URQ (Universal RipSoft Quest)

Простая платформа отечественного происхождения для разработки "консольной" ИЛ (управляемой с помощью меню и кнопок).

Интерпретаторы:

- URQ 1.4 от RipOs. (Есть версия 2.0 alpha, очень неустойчивая - не применяется) разработка прекращена;

- Urq_dos 1.35 от 30.11.2004 консольная, работает в ДОС-окне, самая устойчивая в работе, фактический стандарт языка. Разработчик URQ_DOS (с 2000 г. по сей день) -- Виктор Корянов;

- AkURQ 1.28 от Акела. На настоящий момент самая продвинутая версия интерпретатора, поддерживает некоторые функции, отсутствующие в "досурке" (математические, строковые, работу с окнами, настройка шрифтов пользователем и т.п.), имеет развитые мультимедийные возможности. Уникальная особенность по сравнению с предыдущими интерпретаторами URQL - поддержка html-кода (через обращение к браузеру).

Разработка и поддержка: можно обращаться на форум http://urq.borda.ru/. Доступность - freeware. Принципы технологии: интерпретатор, работающий непосредственно с исходными текстами.

Переносимость:

Все версии Windows и DOS (с 2003 года -- только 32-разрядная версия URQ_DOS). Существуют отдельные проблемы совместимости между разными версиями интерпретатора (в частности, версиями под Win и DOS). Для Win-версии URQ 1.4, написанной на VB, также должны быть установлены некоторые нестандартные OCX-компоненты, доступные с сайта разработчика. AkURQ использует только стандартные компоненты VB.

Основные возможности.

На основе URQ можно создавать простые квесты, напоминающие книгу с ветвящимся сюжетом. Управление осуществляется не командным путем, а путем выбора пользователем одного из нескольких доступных вариантов действий через систему меню и кнопок. Конечно, это существенно ограничивает интерактивность (зато сам процесс игры требует минимум усилий со стороны пользователя).

Проигрываемые AkURQ файлы игр-квестов являются обычными текстовыми файлами в win (Windows-1251) или dos (cp866) кодировке, и имеющими расширение .qst (незашифрованный квест), .qs1, .qs2, .qs3 (зашифрованные квесты).

Квесты пишутся в любом текстовом редакторе, - что очень удобно, - хотя существует специальный текстовый редактор SMSQ, название которого расшифровывается, как "Сам Можешь Сотворить Квест" (разработчик -- Евгений Бычков). Они пишутся на простом Бейсик-подобном языке программирования (Universal Ripsoft Quest Language -- URQL), который понемногу совершенствуется и развивается.

В последних версиях WinURQ и в AkURQ присутствуют неплохие мультимедиа-возможности. Можно вставлять в текст графические изображения (в т.ч. работающие как гиперссылки), использовать звуки и музыку (WAV и MID), разбивать квест на модули, запрашивать у пользователя ввод (числа, текстовые строки).

К недостаткам URQ можно отнести отсутствие встроенных механизмов объектно-ориентированного программирования, затрудняющее написание больших проектов. Хотя, с другой стороны, польза ООП для менюшной системы - вещь спорная.

2.1.7 QSP (Quest Soft Player)

Вторая из лучших платформ отечественного происхождения для разработки "консольной" ИЛ (управляемой с помощью меню и кнопок).

Последняя версия - QSP 5.5.5

Разработка, поддержка, доступность: Программа "Quest Soft Player" изготовлена компанией "Byte Soft" и распространяется в соответствии с лицензией GNU GPL. Главный и единственный разработчик - Валерий Аргунов (Byte). Это означает, что проблемы совместимости разных интерпретаторов практически не существует - есть только возможная несовместимость разных версий, но это решается использованием для некоторых старых игр старого интепретатора QSP 3. Лучшие игры уже переведены в формат нового интерпретатора. [9]

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

Переносимость: Все версии Windows. Портирован на Windows CE, Linux / Unix, Sony PSP, BeOS / Haiku. Существует веб-интерпретатор wiQSP. Теоретически, по заверениям разработчика, поскольку интерфейсная и логическая части программы разделены, а сама программа написана на C и C++, ее можно легко портировать на любую платформу.

Основные возможности. Quest Soft Player - это проигрыватель (интерпретатор) текстовых игр, преимущественно с менюшным вводом, для проигрывания файлов в формате QSP. Кроме программы-проигрывателя также существует программа-редактор текстовых игр QGen, в которой можно самостоятельно создавать подобные игры.

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

QSP позволяет использовать для оформления игры:

- графику - большинство распространенных форматов, включая анимацию;

- музыку и звуки - множество различных форматов (в том числе WAV, MID, MP3, OGG), с установкой уровня громкости;

- многие теги html - имеется встроенный обработчик. Теги позволяют использовать иконки, например, для изображения предметов инвентаря.

Встроенный простой язык для разработки игр, наличие подробной документации (например, этого файла помощи qsp531help.zip) и огромное число примеров (SAMPLES), идущих с программой, способствует быстрому обучению программированию на QSP.

Наличие функционального редактора QGen для написания игр, ведение списка локаций и удобное представление компонентов, позволяет упростить написание и отладку. Также, можно создавать игры в любом текстовом редакторе, используя конвертирующую утилиту TXT2GAM.

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

2.1.8 TKR 2 (Текстовоквестовый редактор 2)

Простая в освоении, универсальная система для написания как "парсерных", так и "менюшных" квестов. Разработка и поддержка на настоящий момент прекращена. Доступность - freeware.

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

Основные возможности:

а) все операторы состоят из одной буквы русского алфавита;

б) вставка звука, музыки, картинок в игру;

в) наличие характера персонажа;

г) возможность шифрования файлов игры;

д) удобное редактирование инвентаря, заданий, правил, подсказок, вступительного текста.

Особенности:

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

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

Данная система позволяет использовать четыре различных варианта управления игрой:

- классический текстовый ввод;

- выбор вариантов из меню;

- система с наличием столбцов используемых слов.

При этом даже в рамках одной игры можно совмещать эти элементы.

2.1.9 GTI - графическо-текстовый интерпретатор

Простая платформа отечественного происхождения для разработки ИЛ, управляемой с помощью меню и кнопок. Особенность - для написания квестов используется только русский язык. Последняя официальная версия - 1.2. Разработка и поддержка: GuchaGames interactive. Разработчик Валентин Gucha Гуков. Доступность - freeware.

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

Особенности:

а) написан на Дельфи 7, не требует дополнительных библиотек для работы;

б) поддерживает наложение картинки на фон, поддержку графики в инвентаре и небольшие спецэффекты, проигрывание звуков на фоне музыки;

в) интерпретатор имеет свой собственный язык, позволяющий создавать менюшные квесты в любом текстовом редакторе;

г) отличается от других использованием в качестве команд русских аббревиатур или сокращений, таких как "тек", "доб" (текст, добавить) и т.п., в связи с чем, очень прост для изучения;

д) текстовое поле имеет небольшой размер, поскольку интерпретатор рассчитан на вывод текста небольшими порциями по требованию пользователя; куски текста значительных размеров можно выводить последовательно или пользоваться прокруткой;

е) для выбора может предоставить от одного до 4-х вариантов действий;

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

2.1.10 "6 дней"

Платформа на основе скриптового языка Lua 5.0. Предназначена для создания игр с текстовым вводом. В стандартном пакете поддерживается только текстовый вывод, но благодаря расширяемости и встраиваемости самого Lua, возможно создание раннера с графическим и любым другим выводом. Последняя версия - 1.25.

Разработка и поддержка - (c) Рыцарь в серой фланели, 2004, в разработке вторая версия платформы. Ожидается поддержка Lua 5.1, кроссплатформенность билдера/раннера, поддержка наследования, более простой доступ к методам и данным, поддержка библиотек, html-раннер (мультимедийные возможности). Доступность - freeware.

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

Переносимость:

Lua - кроссплатформенный язык, поддерживаемый Windows, MacOs, Linux, PalmOs, Pocket PC и еще рядом неизвестных эзотерических платформ. Последние версии билдера и раннера сделаны только для Windows, но скомпилированный файл запускается на любой платформе под интерпретатором Lua.

Особенности:

а) написан на скриптовом языке Lua, не требует дополнительных библиотек для работы;.

б) наглядный графический интерфейс билдера;

в) парсер, не привязанный к падежам и поддерживающий многоязычность, уступает по качеству парсеру RTADS, впрочем, многое зависит от автора квеста;

г) снабжен документацией и уроками от автора, которые позволяют разобраться в структуре языка и самому сделать свой квест в течение короткого времени;

д) ООП поддерживается не в полном объеме, наследование придется делать "ручками", что требует хорошего знания языка Lua.

Вполне возможно, что LUA займет свою достойную нишу среди IF-платформ.

2.1.11 Выбор технологии разработки

Для квеста с менюшным управлением один выбор из двух: QSP или URQ.

Их общие достоинства:

- отличная сопроводительная документация;

- системы просты в освоении для начинающих и имеют великое богатство возможностей для "продвинутых" авторов;

- хорошая проработанность движка - URQ c 1999 года, QSP с 2001 (если меня не подводит память) поэтому всё, что хотелось авторам, в них уже есть;

- а багов и глюков мало - большинство уже отловили;

- и главное: на них реально пишут неплохие игры, и можно легко найти человека, который на начальном этапе станет Вашим консультантом;

За QSP - один интерпретатор, нет проблем с совместимостью, некоторая кроссплатформенность (Windows & Linux) и логичность языка.

Против QSP - меньшее количество энтузиастов (только по сравнению с URQ), меньшее количество уже существующих игр.

За URQ - огромное количество игр, регулярно проходящие конкурсы ЛОКа и ЗОКа, традиции, и естественно, большое интернет-сообщество, где можно весело жить, спрашивать и получать вразумительные ответы.

Против - некоторые проблемы совместимости; т.е. если Вы пишете под один интерпретатор, а играют в Ваш квест на другом - не факт, что игра будет проходимой до конца.

Все остальные системы в настоящее время сильно уступают "трём китам" либо по отсутствию нормальной сопроводительной документации, либо по возможности получить помощь и сопереживание в IF-сообществе, либо по возможностям.

Для данной работы выбрана система QSP.

2.2 UML-моделирование

К сожалению, в случае с текстовым квестом UML-моделирование [10] не представляется наиболее подходящим средством моделирования. Язык QSP процедурный, а не объектно-ориентированный; система проста и рассчитана на одного пользователя.

Диаграмма Use Case (рис. 2.1) показывает, что пользователь может играть в игру, а также сохранять и загружать ее. Это стандартные варианты, предоставляемые платформой.

Рисунок 2.1 - Диаграмма Use Case

Также имеется диаграмма развертывания (рис. 2.2), показывающая, что развертывание предельно просто: на компьютере пользователя должен иметься интерпретатор Quest Soft Player, также туда копируется файл с игрой и по мере необходимости рисунки.

Рисунок 2.2 - Диаграмма развертывания

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

Рисунок 2.3 - Диаграмма активности общего случая

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

Рисунок 2.4 - Диаграмма активности первого квеста

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

Рисунок 2.5 - Диаграмма активности второго квеста

Общая схема сюжета игры представлена на рисунке 2.6. Сюжет состоит из нелинейной последовательности связанных квестов, от выполнения которых зависят доступные варианты концовки. Только три квеста являются обязательными; для доступности хотя бы одной концовки необходим еще один из необязательных. Максимальное количество концовок при всех выполненных квестах - четыре.

Рисунок 2.6 - Диаграмма активности сюжета игры

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

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

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

Рисунок 2.7 - Локационная структура игры

Сам процесс игры и прохождения квестов реализован тремя разными механиками, которые можно рассмотреть на примере первого квеста - попасть в избушку (рисунок 2.4).

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


Подобные документы

  • Понятие и эволюция игр, анализ их различных жанров и существующих аналогов. Выбор программных средств для реализации игры, написание сюжета и выбор среды разработки игры. Алгоритмы для придания гибкости обучающей игре. Описание программных модулей.

    дипломная работа [2,7 M], добавлен 27.10.2017

  • Ознакомление с понятием компьютерной графики. Области применения конструкторской и рекламной графики, компьютерной анимации. Рассмотрение преимущества графической визуализации бизнес-процессов. Особенности кольцевой, биржевой и лепестковой диаграмм.

    реферат [94,6 K], добавлен 02.02.2016

  • Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.

    курсовая работа [160,3 K], добавлен 03.12.2014

  • Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.

    курсовая работа [1,4 M], добавлен 18.01.2017

  • Разработка и реализация компьютерной игры "Змейка" с помощью языка программирования Pascal и модуля CRT. Составление общего алгоритма программы, выделение ее функциональных частей. Разработка тестовых примеров. Использование типизированных файлов.

    курсовая работа [2,1 M], добавлен 23.02.2011

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

    курсовая работа [341,9 K], добавлен 19.04.2011

  • Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.

    курсовая работа [3,5 M], добавлен 11.12.2012

  • Анализ моделей и средств построения игровой компьютерной среды предметной области. Разработка алгоритмов построения игровой компьютерной среды. Отладка и экспериментальное тестирование компьютерной игры "Представление знаний в информационных системах".

    дипломная работа [2,9 M], добавлен 12.08.2017

  • Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.

    курсовая работа [572,7 K], добавлен 14.07.2012

  • Приемы практического использования объектно-ориентированного подхода в создании законченного программного продукта. Разработка кроссплатформенной компьютерной игры "Морской бой". Принципы "хорошего стиля программирования C++/Qt". Описание классов игры.

    курсовая работа [2,7 M], добавлен 12.08.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.