Обычно этот прием использовали при работе с небольшими картинками. Например, в моей первой символьной игре я использовал «звездочку» для изображения астероида, потому что ничего, кроме стандартных текстовых символов, у меня в распоряжении не было. Но шрифт вовсе не обязательно должен был состоять из букв и цифр. Если бы произошел этакий чудесный анахронизм и мой мини-компьютер Nova загрузился с игривым шрифтом Wingdings от Microsoft, то «звездочка» отобразилась бы как маленький конверт. При нажатии большой литеры M на экране высветилась бы классическая мультяшная бомба, вместо цифры 8 – миленький телефон с циферблатом. Конечно, остальные функции компьютера при таком раскладе стали бы недоступны, но идея здесь в том, что можно составить из маленьких картинок пользовательский шрифт, и он будет грузиться быстрее, чем если бы компьютер подгружал те же изображения через видеокарту.
Следующим шагом была загрузка в шрифтовом формате простых анимированных картинок – этот прием я использовал во Floyd of the Jungle. Каждое существо там изображалась одной буквой, а последние буквы алфавита были отведены под их слегка видоизмененные версии. Например, вместо символа «c» был крокодил с закрытой пастью, а вместо большой «C» – он же, только пасть была уже открыта. Если прописать команду быстрого переключения между двумя этими символами, на экране крокодил будет открывать и закрывать пасть. А если добавить в этот цикл еще пару крокодильих букв, то крокодил на экране научится ходить и щелкать челюстями одновременно. После загрузки шрифта в память на экран можно было вывести хоть одного крокодила, хоть сотню – это не требовало дополнительных ресурсов. Пока ваш алфавит не превышал максимально допустимого количества символов в шрифте – 256, – процессор компьютера мог переключаться между ними с той же легкостью, с какой он пролистывал текстовый файл.
Инструмент Рэндала позволял анализировать большую картинку и находить наиболее эффективный способ преобразования каждого блока размером 8 на 8 пикселей в шрифтовой символ. Эта техника представляла собой нечто вроде живописи цифрами: например, если верхний левый угол экрана был полностью занят небом, значит, символ «1» соответствовал сплошному блоку синего цвета, и все остальные большие куски синего также обозначались символом «1». Когда мы добирались до облака, цифрой «2» приходилось обозначать изогнутый кусок синего и белого, но потом наша задача опять упрощалась: подряд шел целый ряд белых кусков, и всем им соответствовал символ «3». Чем проще была картинка, тем больший размер изображения мы могли описать с помощью отведенных нам 256 символов. Когда игрок выбирал на экране пункт меню, мы стирали шрифт вместе со всем остальным, что было на экране, и загружали новое изображение.
Единственная проблема состояла в том, что нам при всем при том нужно было выводить на экран еще и настоящий текст. В игре могли быть сотни разных шрифтов (а с разными картинками для каждого экрана именно так у нас и получалось), но одновременно в память можно было загрузить только один шрифт, поэтому первые 70 позиций в каждом шрифте использовались для одинаковых наборов прописных и строчных букв, цифр и некоторых специальных символов вроде запятых и вопросительных знаков. Остальные 186 позиций, то есть скобки, амперсанты и прочее, заменялись на сборную солянку из цветных пикселей, которые слагались в целостную картинку, только если расположить их в нужном порядке – в таком случае они вдруг превращались в прекрасный приморский городок или в миловидную дочь губернатора.
Ни одна игра MicroProse не обходилась без толстенного руководства пользователя, поэтому ближе к концу работы над проектом к нашей команде подключился Арнольд Хендрик, вместе с которым мы стали писать 88-страничную книжицу, напечатанную в оттенках сепии. В руководство не входили примечания, касавшиеся защиты авторских прав: мы сделали специальную раскладную карту Карибского региона, прилагавшуюся в комплекте с игрой, чтобы скопировать игру было еще труднее. Такие предметы, как правило, становились коллекционной редкостью и часто их называли ощущалками, отсылая к тактильному развлечению, описанному в антиутопии Олдоса Хаксли «Дивный новый мир». Впервые такие артефакты были использованы в детективной игре 1982 года от компании Infocom под названием Deadline: она на долгие годы задала планку, ведь в ней были фото с мест преступлений, протоколы допросов, отчет коронера, письмо от адвоката семьи и даже три таблетки (сделанные из леденца), якобы найденные на месте преступления. Вся эта коллекция появилась на свет благодаря тому, что разработчик игры Марк Бланк не смог уместить в игре всю необходимую информацию, и только потом выяснилось, что Deadline куда менее популярен у пиратов, чем предыдущие игры издателя, и сообщество гейм-дизайнеров осознало, какой потенциал заложен в подобных «вещественных доказательствах».
Помимо работы над руководством, Арнольд помог нам тем, что разбавил киношную удаль Pirates! здоровой порцией реализма. Он настоял на соблюдении некоторых исторических фактов в режиме кампании и выступил против использования знаменитых персонажей, живших не в ту эпоху, которую мы изображали в игре, например Черной Бороды и Жана Лафита. В итоге реалистический фундамент позволил нам еще больше укрепить общую тему романтических приключений. Как Арнольд объяснил в заметках разработчиков, «эти люди были безумными пережитками великой эпохи, преступниками, которые никак не хотели сдаваться… В их жизни не было ни подковерных интриг, ни светлого будущего – лишь выбор из пули и веревки. Мы посчитали, что в них нет ничего привлекательного и интересного по сравнению с прославленными морскими волками и флибустьерами предшествующих эпох».
Однако у морских волков и флибустьеров была одна интересная особенность: они не могли умереть. Эррол Флинн не мог погибнуть в сражении или быть приговоренным к повешению, ведь это разрушило бы картину эпохи, которую он олицетворял. С другой стороны, игра, в которой нельзя проиграть, уже не игра: в ней непременно должен присутствовать риск неудачи. Что было еще хуже, я случайно убрал из игры сцену эффектного финала. В военных играх у нас было определенное количество миссий, и каждая из них заканчивалась красивым взрывом. Но пират всегда готов отправиться в новое приключение, пират – это стиль жизни, а не выполнение отдельных заданий. Я дал игроку возможность выбирать приключения на свой вкус и тем самым лишил себя привилегии объявлять, какая миссия была более трудной, а какая – менее. В Pirates! игрок мог, к примеру, выиграть битву или завладеть сокровищем, но окончательной победы, как и окончательного поражения, в игре предусмотрено не было.
К счастью, получилось так, что две проблемы решили друг друга.
В том, что касается невозможности проиграть, вопрос стоял главным образом в том, какие наказания игрок готов выдержать пока созданный нами фантастический мир не потеряет убедительности. Смерть персонажа даже не обсуждалась, как и возобновление игры с нуля. Эррол Флинн может растерять все свои сокровища, может на время лишиться корабля и даже своей команды, но его слава останется с ним навсегда. После кораблекрушения он всегда может выбраться на берег и заново собрать людей. Именно так мы и сделали: после того как ваш пират проигрывал морское сражение, он на время оказывался один на необитаемом острове, а потом его волшебным образом спасала его верная команда, терялись только запасы золота и вся собранная дополнительная флотилия.