Книги онлайн » Книги » Компьютеры и Интернет » Программирование » Взлет и падение Sierra On-Line. Сказка с несчастливым концом - Кен Уильямс
1 ... 7 8 9 10 11 ... 76 ВПЕРЕД
Перейти на страницу:
байт! Ну, положим, чуть более детализированная картинка заняла бы чуть больше памяти, но внезапно игра моей жены стала вполне возможной. Даже если бы картинки занимали по 200 байт каждая, семьдесят картинок заняли бы всего около 14 килобайт, или пятую часть дискеты!

Игра, с которой все началось: Mystery House

Мне пришлось посоветовать Роберте не слишком детализировать свои картинки. 80 килобайт свободной памяти на дискете – это не так уж и много. Каким-то образом в этот крошечный объем памяти нужно было впихнуть и картинки, и игровую программу.

Я все еще размышлял над своим компилятором Fortran, а Робертина игра этому мешала. Нехорошо. Я знал, что мне нужно как-то обеспечить Роберту всем, что нужно для создания игры, иначе я никогда не закончу работу над компилятором.

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

Мне предстояло решить одновременно несколько проблем.

1) Надо было написать Роберте утилиту для создания рисунков.

2) Ее работы нужно было хранить (оцифровывать), чтобы они уместились на очень маленьком носителе.

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

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

Делов-то!

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

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

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

Она описала каждое место в игре примерно так:

Объекты были описаны с использованием того же подхода:

Глаголы:

Существительные:

Сообщения:

Чуть интереснее было с «действиями». Мне нужно было дать Роберте возможность писать код. У Роберты был некоторый опыт программирования, но навыков было немного. Мне предстояло написать на ассемблере настоящий код («интерпретатор»). Мой интерпретатор должен был считывать созданные Робертой таблицы и решать, что выводить на экран.

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

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

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

1) Жене нужен был какой-то простой экран для ввода данных, куда можно было бы вводить данные с клавиатуры и создавать текстовые файлы, которые я буду компилировать.

2) Ей нужен был компилятор, который брал бы ее текстовые файлы и компилировал их в серию чисел.

3) Ей нужен был интерпретатор, который бы выводил на экран игровой процесс уже на основе скомпилированных данных.

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

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

Я регулярно заглядывал в тот самый местный компьютерный магазин, где мы купили мой Apple II, чтобы посмотреть, нет ли в продаже каких новых периферийных устройств или программного обеспечения. Тогда компьютерных магазинов было не так много, наверное, не более двух или трех на весь Лос-Анджелес. Во время таких посещений я рассказывал о своем многообещающем компиляторе Fortran и о том, как он перевернет разработку программного обеспечения для Apple II.

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

Хозяева магазина Вивьен и Джин прямо спросили, когда можно будет купить копии игры – они хотели ее продавать. Я был поражен до глубины души и не мог дождаться, когда вернусь домой и расскажу об этом Роберте. Ее маленький проект, который вроде бы лишь отвлекал меня от серьезных дел, похоже, действительно мог оказаться чем-то стоящим!

То, что казалось нам долгим циклом разработки игры, на самом деле заняло не очень много времени. Роберта купила компьютер Apple II на Рождество 1979 года. Mystery House вышла в мае 1980 года.

Роберта разработала для Mystery House упаковку – это на самом деле была всего лишь одна печатная страница, которую вместе с дискетой клали в пакет на застежке «зиплок».

«Что такое приключенческая игра? Согласно словарю, приключение (adventure) – это опасное или смелое предприятие; пускаться в приключение – рисковать, подвергать себя опасности, ввязываться в авантюру. Тот, кто отправляется на поиски приключений: авантюрист, делец, устраивающий рискованное предприятие в надежде на богатство, спекулянт. По сути, приключенческая игра – это фантастический мир, куда вас переносит компьютер. Вы – главный герой художественного повествования, которое разворачивается в неизведанной стране. Это почти как в книгах, которые задействуют ваше воображение и переносят вас в вымышленный мир.

Здесь вы играете и видите происходящее благодаря более чем сотне изображений в формате высокого разрешения, вы играете и видите свои приключения. С HI-RES ADVENTURE можно общаться на чистом английском языке (игра понимает более 300 слов!) Все комнаты этого жуткого старого дома показаны на экране в графике высокого разрешения; здесь есть множество предметов, которые можно брать, нести, бросать, ронять или?..»

Текст с упаковки Mystery House

Оригинальная упаковка Mystery House

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

1 ... 7 8 9 10 11 ... 76 ВПЕРЕД
Перейти на страницу:
В нашей электронной библиотеке 📖 можно онлайн читать бесплатно книгу Взлет и падение Sierra On-Line. Сказка с несчастливым концом - Кен Уильямс. Жанр: Программирование / Хобби и ремесла / Энциклопедии. Электронная библиотека онлайн дает возможность читать всю книгу целиком без регистрации и СМС на нашем литературном сайте kniga-online.com. Так же в разделе жанры Вы найдете для себя любимую 👍 книгу, которую сможете читать бесплатно с телефона📱 или ПК💻 онлайн. Все книги представлены в полном размере. Каждый день в нашей электронной библиотеке Кniga-online.com появляются новые книги в полном объеме без сокращений. На данный момент на сайте доступно более 100000 книг, которые Вы сможете читать онлайн и без регистрации.
Комментариев (0)