Сегодня мы начинаем серию уроков, посвященных работе с игровыми программами жанра ADVENTURE. Причины, которые позволяют нам особо выделить программы этого жанра из обширного многообразия игровых программ были вкратце затронуты в статье "Жанры игровых программ", опубликованной в прошлом выпуске. Напомним основные преимущества адвентюрных программ:
1. Эти программы являются удобнейшим средством для совершенствования и приобретения навыков в английском языке.
2. Работа с этими программами проходит в диалоговом режиме и способность установить контакт с программой, вести с ней диалог может Вам еще многократно в жизни пригодиться, причем при работе с совсем даже не игровыми программами.
3. Работа с такими программами требует от пользователя гораздо более интеллектуального подхода, чем элементарные "стрелялки". Они развивают словарь, учат гибкому мышлению, требуют логического подхода, умения анализировать ситуацию и делать правильные выводы. Аналитичность - главная особенность этих программ.
4. От хорошо поставленной текстовой диалоговой программы до обучающей системы всего лишь шаг. А оттуда рукой подать и до экспертных систем.
5. В этих программах большую роль играет общекультурный аспект. Очень часто сюжет программы базируется на известном литературном произведении, на старинных балладах и легендах.
6. И, наконец, надо честно сказать, что в этом жанре программы написанные для "Спектрума" достигли наивысших успехов. Понятно, что имитаторы автомобилей и самолетов на IBM всегда будут более совершенными, чем на "Спектруме", аркадные игры с высокоразвитой графикой тоже.
Но с ADVENTURE GAMES ситуация совсем иная. Что могут предложить суперкомпьютеры этому жанру? - Графику? Музыку? Невероятный объем? - А зачем?
Весь интерес состоит в диалоге, в логике игры и графика и музыка здесь часто просто досадная помеха, а невероятные объемы тоже не нужны, ведь и так, чтобы пройти скромную программу фирмы LEVEL 9 нужны месяцы.
Одним словом, можно предполагать, что с дальнейшим развитием технических средств все виды игровых программ будут развиваться и становиться все более и более изощренными, но текстовые игры для "Спектрума" уже достигли такого высокого уровня, что грех был бы не использовать это обстоятельство.
Работа с текстовыми играми может быть условно разбита на несколько элементов, на которых мы ее и освоим.
1. Общий анализ.
2. Перемещение в игровом пространстве.
3. Осмотр и анализ обстановки.
4. Работа с объектами.
5. Взаимодействие с другими персонажами.
6. Использование отгрузки программы на ленту.
7. Полезные практические приемы.
Урок 1. Общий анализ
Итак, Вы загрузили некоторую текстовую программу. Обычно цель, которая стоит перед Вами записана в нескольких строчках в самом начале. Может быть Вам надо спастись с необитаемого острова, может быть починить свой космический корабль, а может быть, если Вы заколдованы в лягушонка, то вернуть себе человеческий облик путем серии превращений в других животных. На худой конец, если цель неизвестна, все равно можете приступать к исследованию, как если Вы оказались на совершенно чуждой Вам планете, а жить то как-то все равно надо.
Во-первых, надо установить диалог с компьютером. Диалог происходит путем подачи команд и получения ответа. Ничего, если поначалу самым типичным ответом будет ответ
типа "Не понимаю", "Не знаю", "Пардон?.." и т.п.
Основой команды, которую Вы можете дать компьютеру почти всегда является глагол, а их-то как оказывается не так уж и много в компьютерном языке. Глагол может сопровождаться существительным, а может и нет, это уже по смыслу. Если в начале игры Вам сообщили, что Вы сидите в кресле, то первое что Вы можете сделать - это посмотреть по сторонам - LOOK. Следующим Вашим шагом может быть попытка встать - STAND, после чего невредно снова сделать LOOK и посмотреть что изменилось.
Эти команды состояли лишь из глагола, но если Вы например хотите что-то взять (TAKE), то придется добавлять существительное, например взять карандаш TAKE PENCIL.
Заметьте, что от Вас совсем не требуется быть семи пядей во лбу, соображая что же именно Вам лучше взять и как оно по-английски запишется, ведь в ответ на команду LOOK компьютер сам Вам перечислил, что Вы перед собой видите. Это может быть и карандаш, а может быть и пальма. Ее конечно взять нельзя, но можно попробовать на нее влезть (CLIMB), чтобы оттуда сделать LOOK.
Сравнительно редко в команду может входить и прилагательное, тогда команда будет записана тремя словами. Такое происходит, когда надо более детально охарактеризовать предмет.
TAKE RED PENCIL - взять красный карандаш.
TAKE GOLD KEY - взять золотой ключ.
Итак, ваша первая задача - установить те команды, которые понимает программа, а поскольку основой команды является глагол, то значит надо установить известные ей глаголы.
Как правило программа по-разному реагирует на команды, которые ей непонятны (нет их в ее словаре) и те, которые понятны, но она не может их выполнить в силу каких-то причин. Например Вы видите перед собой пальму и пытаетесь влезть на нее, а программа упорно говорит "Can't" (НЕ МОГУ). А потом оказывается, что пальма-то была нарисованной.
Попробуйте дать ей команду ABCDEFGH и посмотрите, что она ответит. Например она ответит What? Для Вас это означает, что на незнакомый глагол она отвечает именно так. Теперь если в игре Вы встретите от нее вопрос What? то будете знать, что Вы употребили слово, которое ей неизвестно.
Можно прозондировать и не только глаголы, но и существительные. Например дайте машине нелепую команду HAMMER (молоток) и посмотрите, что она ответит. Если ответит What? - значит такого слова вообще не знает и будьте спокойны, молотков в игре Вы не встретите, а если ответит, к примеру Can't - значит команду не поняла, но само такое слово ей известно и где-то оно Вам пригодится.
Кстати, обратите внимание, что далеко не все то, что программа Вам сообщает в ответ на команду LOOK ей известно и входит в ее словарь. Начинающих часто шокирует, что только что программа написала, что Вы видите окно, а на просьбу его открыть отвечает, что слово окно ей вовсе неизвестно. Такое бывает, описания обстановки хранятся отдельно от действующего словаря и совсем не все то, что попадает в обстановку может иметь участие в игре.
Так надо аккуратно прощупать словарь, который программа понимает. Здесь же неплохо и определиться насколько можно сокращать слова. Дело в том, что большинство текстовых программ понимают слова по неполной записи. Иногда по трем буквам (со слабым словарем), но чаще - по четырем.
Тогда вместо длинной записи BREAK MIRROR - разбить зеркало, можно будет писать проще: BREA MIRR. Правда обратите внимание на то, что уж если пишете слово, то либо сокращенно, либо нет. Записать сокращение до 5-ти букв MIRRO - нарваться на непонимание.
Желательно также сразу проверить и действие еще нескольких полезный команд, таких как INVENTORY, HELP, SAVE, LISTEN.
INVENTORY - инвентарь. По этой команде программа распечатывает список тех предметов, которые Вы при себе имеете. Очень часто она открывает Вам нечто, о чем Вы и не догадывались или, наоборот, оказывается, что у Вас нет чего-то, что точно должно быть.
Эта команда почти стандартная, ее понимают практически все программы и часто ее можно записывать не полностью - INV или еще проще I.
HELP - помощь. В большинстве случаев программы дают подсказки, но не во всяком месте и не во всякое время. Если установите, что программа эту команду понимает, пользуйтесь ею регулярно, рано или поздно она Вам пригодится.
SAVE - по этой команде может производиться отгрузка состояния игры на ленту. Если программа такой возможности не имеет выключите ее и больше не включайте - это очень плохая программа, есть сотни гораздо более интересных. Соответственно, если она понимает SAVE, то должна понимать и LOAD (иногда впрочем вместо LOAD служит RESTORE).
LISTEN - слушать. Это аналог LOOK (смотреть), хотя встречается много реже, но зато может быть необходим для успешного завершения игры. В программе CASTLE, например, нам удалось в блужданиях по лабиринту с помощью этой команды услышать морзянку, которая содержала необходимый ключ к победе.
Урок 2. Перемещение в игровом пространстве.
Основным содержанием игр этого жанра является конечно путешествие. Вы перемещаетесь из точки в точку с помощью специальных команд и всюду занимаетесь исследованием. Все смотрите, испытываете, пробуете. Количество мест, в которых Вы можете побывать часто измеряется многими сотнями (отдельные пункты называют локациями). Вы можете на первом этапе своего ознакомления с игрой походить из точки в точку и никаких существенных действий не делать. В современных хорошо подготовленных программах смерть Вам от этого грозить не будет, хотя правда от пустого блуждания и эффективность тоже невелика. Напротив в ранних, более слабых программах блуждание по локациям нередко приводит к гибели в лапах какого-нибудь дракона и т.п.
Первое, что Вам совершенно необходимо в путешествии - это карта. Некоторые полагают, что карта - это технический прием, сродни отмычке, но это не так. Игру средней силы без карты не осилить, а если и осилить, то потеряв массу времени на бесполезные шаги.
Перемещение в программах выполняется командой GO (ИДТИ) с указанием направления, например:
GO NORTH - идти на север.
Поскольку такой способ перемещения стал уже стандартным, то и необходимость в команде GO в общем-то отпала и можно дать команду проще - NORTH, а в большинстве случаев вообще - N.
Совершенно аналогично для других стран света: EAST - Е - идти на восток SOUTH - S - идти на юг WEST - W - идти на запад.
Не забывайте также о возможности перемещения вверх или вниз. Эти направления тоже надо проверять, даже если по команде LOOK Вам и не сообщили, что туда есть проход. UP - U - вверх DOWN - D - вниз
В некоторых играх с довольно развитой географией встречаются и промежуточные направления движения. Это также нужно проверить и убедиться, понимает их программа или нет.
NE - идти на северо-восток SE - идти на юго-восток NW - идти на северо-запад SW - идти на юго-запад
Итак, наиболее традиционный способ перемещения ходьбой ясен. Но иногда приходится преодолевать препятствия, тогда потребуется прыжок JUMP. Перемещаться можно также и бегом RUN, но в программах это встречается редко. Более того, иногда предполагается, что RUN выполняется сломя голову в бегстве от опасности и тогда по результатам этой команды Вы можете оказаться в незнакомой месте с потерей ориентировки, чего конечно при простом GO на один пункт не бывает.
В путешествии бывает нужным войти куда-то (в лифт, в туннель, дверь), причем направление может быть неизвестным. В этом случае как правило используют глагол ENTER и соответственно случается: ENTER LIFT ENTER TUNNEL ENTER DOOR
Перемещение с помощью технических средств обычно в программах упрощено до предела. Так, чтобы поехать на машине или на катере Вам может быть достаточно запустить мотор:
START MOTOR
START ENGINE ("KAYLETH")
Для поездки на лифте обычно достаточно нажать кнопку: PRESS BUTTON
Редко, но встречается в программах передвижение с помощью животных (лошади, дракона например в NEVERENDING STORY).
В этом случае обычно используется глагол RIDE, например RIDE HORSE. Переходя из пункта в пункт никогда не верьте тому, что сообщает Вам программа. Всегда давайте команду LOOK, не пренебрегайте и такими нетривиальными вещами как посмотреть вверх и посмотреть вниз LOOK UP и LOOK DOWN. В 999 случаях из 1000 это ничего не даст, но когда даст эффект, тогда Вы поймете, чего Вы чуть было не пропустили.
Помните, что самое интересное скрыто из описания локации, хотя какой-то намек все-таки обычно оставляют.
Пробуйте во время блужданий отыскивать проходы там, где они только могут быть -под коврами, за гобеленами, за картинами, за зеркалами, в шкафах и шифоньерах. Часто срабатывают такие вещи как ENTER MIRROR - войти в зеркало ("HI-MAN") ENTER WARDROBE - войти в шкаф ("WITCH'S CAULDRON").
Теперь нам осталось только осветить такие экзотические способы перемещения как по воде и по воздуху.
По воздуху это обычно FLY - летать. По воде - ROW - грести и SWIM - плыть.
Дополнительно еще укажем что иногда встречаются неожиданные телепортирующие устройства, которые могут требовать наличия некоторого кода или пароля, без которого не работают или работают неправильно, но это уже особый случай ("WORM IN PARADIZE", "KAYLETH" и др.), конечно этот код или пароль Вы должны отыскать сами по ходу программы.