[#] Wander: забытые истоки IF
RSS-bot(station13, 1) — All
2015-04-24 21:30:02


Введение
Любой поклонник интерактивной литературы знает, что начало жанру положила знаменитая Colossal Cave Adventure (1975). Конечно же текстовые игры на мэйнфреймах существовали и до нее. Можно вспомнить, например, Highnoon (1970) или The Oregon Trail (1971). Тем не менее, их сложно назвать текстовыми приключениями в классическом смысле. И вот сейчас, похоже, пришла пора внести некоторые коррективы в историю жанра. Речь пойдет о системе для создания «недетерминированных фантастических сюжетов» под названием Wander.

Питер Лэнгстон
Имя Питер Лэнгстон хорошо знакомо специалистам по истории компьютерных игр. Этот незаурядный человек обладает многими талантами: UNIX-хакер (в классической интерпретации этого слова), профессиональный музыкант и, конечно же, разработчик знаменитых компьютерных игр. C середины 70-х он начал бесплатно рассылать сборник игр собственного сочинения под названием «PSL Games Tape» (среди которых была, например, известная Empire) на магнитной ленте по всему миру. Неудивительно, что именно Лэнгстону знаменитый Эд Кэтмелл (нынешний президент Pixar Animation Studios) предложил возглавить еще не сформированный отдел в Lucasfilm по созданию компьютерных игр. С этого момента началась славная история Lucasfilm Games, но об этом как-нибудь в другой раз. Сейчас важно, что в той «магнитной коллекции» из 70-х была и Wander.

Система Wander
Первую версию Wander автор реализовал на языке HP Basic еще в 1973 году. Затем, в 1974, система была переписана на Си под UNIX. В интернете доступен архив с Wander более поздней версии, он датирован 1978 годом. Что же содержит этот архив?

Среди файлов имеется интерпретатор игровых сюжетов в виде объектного файла, а также три приключенческих игры в текстовом формате. Одна из таких игр, Library, происходит в мире постапокалипсиса, в руинах библиотеки, где имеются сокровища и разнообразные опасности. Встречающиеся в игре комнаты, посвященные Муркоку, Андрэ Нортон и Дюне напоминают о популярной фантастике того времени. Еще одна игра из архива, Aldebaran III, представляет собой своеобразный фанфик на произведения Кейта Лаумера, еще одного известного фантаста. По сюжету третьей игры, Castle, герой проваливается в сказочный мир сквозь экран телевизиора.

Хотя эти игры и представляют известный интерес, более важно в историческом отношении, что они написаны на удобном скриптовом языке с использованием инструментария Wander, созданном еще до выхода знаменитой ADVENT. Игры разбиваются на два файла: файл с общеигровой информацией (вводный текст, синонимы, начальные позиции объектов, состояния переменных) и файл с локациями (в нем задаются локальные, зависимые от различных состояний действия и описания). Любопытно, что выбор действий в Wander задается с помощью высокоуровневого механизма сопоставления с образцом. Далее разбирается код одной из игровых локаций.

Пример кода
#1 Aldebaran III Spaceport
You're in the Aldebaran III spaceport. An electrified chain link fence
surrounds the area with gates leading west and south.
south 2
west 100
north|east|ne|nw|se|sw m="ZZZAAAAPPPP! OUCH!"
take\ card o?card t+card m="\
Done
Your account has 50 credits left.
(You can type "balance" any time to find current status)."
drop\ card t?card o+card@101 m="\
Done
A southeast wind blows your credit card over the fence."
drop\ papers t?papers o+papers@2 m="\
Done
A brisk north wind blows your identity papers away."

Указывается номер локации (по этому номеру в нее можно вернуться) и краткое описание. Далее идет подробное описание. Остальные строки представляют собой наборы действий. Строки «south 2» и «west 100» означают, что если пользователь ввел «south», то следует перейти в локацию 2, а если же было введено «west», то переход осуществляется в локацию с номером 100. Если были введены прочие стороны света (они задаются единообразно с помощью оператора альтернативы), выдается сообщение. Если пользователь ввел «take card» и объект «card» находится в данной локации, то забираем его и выдаем сообщение. При вводе «drop card» и наличии самой карты она «улетает» в локацию 101. Наконец, при вводе «drop papers» и наличии этих самых бумаг они тоже «улетают», теперь в локацию с номером 2.

Выводы
Помимо очевидного исторического значения данная система может представлять некоторый интерес и для любопытствующих создателей IF-движков. Подробную документацию по Wander из архива 1978 года я перевел в html-формат, тексты доступны ниже. За первоначальную информацию по Wander я благодарю Virgil'а.

Ссылки
Wander (1974) — a lost mainframe game is found! ahopeful.wordpress.com/2015/04/22/wander-1974-a-lost-mainframe-game-is-found/

Wander (1974) release, and questions answered (тут же имеется ссылка на архив с Wander)
bluerenga.wordpress.com/2015/04/23/wander-1974-release-and-questions-answered/

Сайт Питера Лэнгстона www.langston.com/

Выдержка из книги Droidmaker: George Lucas And the Digital Revolution
www.gamasutra.com/features/20051221/Droidmaker.Ch18.pdf

Документация
sovietov.com/tmp/wander/wander.html
sovietov.com/tmp/wander/misc.html
sovietov.com/tmp/wander/wrld.html

Ссылка: http://ifhub.ru/blog/198.html