101 Basic Computer Games - главная книга семидесятых

Я уже упоминал в своих постах Дэвида Эла - одного из популяризаторов языка BASIC и компьютеров вообще. Как и Боб Альбрехт, редактор People`s Computer Company, Эл активно использовал игры для продвижения компьютерной грамотности. Результатом работы по сбору и портированию самых популярных игр стала книга 101 BASIC Computer Games. В годы зарождения не только индустрии, но и компьютерных игр, как явления, а также тотального недостатка информации, книга, собравшая исходные коды для большей части известных игр, развлечений и прочих ништяков стала настоящим Священным Граалем компьютеров и оставалась таковой до начала восьмидесятых.

Обложка первого издания

Конечно, я не мог обойти её стороной и внимательно ознакомился со всеми играми. Давайте поиграем!

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

Это книга в PDF-формате. 

А это эмулятор, в котором уже есть большая часть программ из книги, выбирайте из выпадающего списка и пробуйте. Код можно править прямо в соседнем окне. Попробуйте! Если не уверены в том, как работает та или иная игра, можно посмотреть подробное описание и пример запущенной программы в самой книге. Погнали!

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

1. Угадывание чисел и букв - подозреваю, самое простое, что можно изобрести на BASIC после Hello, World. Суть этих игрушек проста. Компьютер загадывает число или букву, за определенное количество попыток надо угадать её с помощью подсказок. Игры различаются только видами подсказок, попадались даже особо упоротые варианты вроде NUMBER из раздела "прочее", где даже подсказок нет. Скорее, простая демонстрация возможностей языка для тех, кто впервые запустил телетайп.

GUESS и кусочек её кода

2. Горсти объектов - на первый взгляд, эти игры недалеко ушли от угадаек, но это не совсем так. Все четыре игры - вариации древней китайской забавы Ним. Я не разбираюсь в математике, в школе имел по ней заслуженную тройку, но знаю, что игра Ним занимает важное место в теории игр и есть специальные алгоритмы и даже теоремы, описывающие её. Ним, наряду с Крестиками-Ноликами был очень любим ранними программистами из-за ограниченного числа ходов и глубины. И я имею в виду действительно ранних, электро-механическая машина Nimatron была создана ещё в 1940 году, а вслед за ней появился и компьютер Nimrod, специально собранный под Ним. Вдумайтесь только: программа, которая умещается в 50 строк кода на BASIC в своё время была демонстрацией мощности компьютеров! Но оставим Ним математикам и программистам и двинемся дальше.

Игра NIM

3. Матрицы - игры, где есть координатные сетки. Про Hurkle и Mugwump я писал ещё в прошлом посте. Хоть какой-то смысл есть только в Salvo - это обычный морской бой. Можно самому расставить корабли, в остальном, ничего интересного.

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

Hexapawn со схематичным шахматным полем 3х3

5. Управление землями, правительство, история - да, довольно обширная категория. И интересная! Помимо знакомой уже Hammurabi и её варианта KING, про Эль Президенте небольшого коммунистического острова (привет, Tropico!) и торговли акциями STOCK, тут есть образовательная игра CIVIL WAR, которая потянет на первый варгейм-симулятор Гражданской Войны в США. Тут довольно много параметров, которые можно настроить: можно выбрать одну из 14 битв войны, которая задаст стартовые деньги, сторону, роль (атакующий или защищающийся). Мы распределяем бюджет на жалование, продовольствие и боеприпасы, выбираем стратегию и смотрим на результат. Игра сугубо образовательная, как и какая-нибудь Oregon Trail, можно только узнать правильные исторически достоверные варианты методом проб и ошибок. С другой стороны, ранние настольные варгеймы часто симулировали реальные исторические битвы с неравными условиями - их целью, в первую очередь, была симуляция, а не сбалансированный геймплей.

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

Fur Trader

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

6. Графики - абсолютно ничего интересного, все программы здесь рисуют ASCII арт по алгоритму или без.



7. Логика - Как раз программы именно этого раздела можно назвать, в первую очередь, играми. Из названия раздела всё понятно - это разные логические задачки. Более сложная версия угадывания числа BAGLES, вариация Ним с откусыванием кусков от шоколадки CHOMP (такой сеттинг мне по нраву), крестики-нолики, реверси, ханойские башни... Игры, которые были вечными до появления компьютеров, игры, которые останутся и после достижения технологической сингулярности. Многие из них так или иначе попадались мне в квестах до чуть ли не десятых годов, а FIPFOP вообще выглядит как далёкий предок проклятого холодильника из "Братьев Пилотов". Такой же залипательный раздел, как Кибернетика и История

8. Азартные - Я не большой фанат азартных игр вообще, не люблю карты, а весь мой опыт сводится к мини-игре в кости в первом "Ведьмаке" и всевозможным слот-машинам из бонусных уровней в Марио. Кажется, игры в этом разделе во всю используют функцию рандомизации Бейсика. Я, всё же, задерживаюсь на играх, которые мне действительно любопытны.

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

схематичные шашки

10. Спортивные игры - мой личный немезис. Игры здесь тяготеют к настоящим текстовым симуляторам. Почти для каждой необходимо знать соответствующую терминологию. Во вступительных постах к своему блогу я говорил, что не очень заинтересован в спортивных играх. Когда я писал это, у меня перед глазами стояли игры Electronic Arts для Mega Drive и далее. Экшеновые, весёлые. Здесь же, чтобы получить удовольствие, нужно знать правила, особенно сложны Хоккей и Футбол, в котором данные команд необходимо вбивать прямо в код. Единственное, с чем не было проблем - бокс (знаю название ударов) а геймплей немножко смахивает на браузерные игры-клоны "Бойцовского Клуба". Помните такой? В общем, рекомендую этот раздел любителям большого спорта, а сам пойду в куда более интересный для меня.

11. Космос - сперва развенчаю величайший обман этой книжки. Под тегом SPACEWAR скрывается тот самый Star Trek Майка Мейфилда. Да, всё ещё лучшая игра во всей книге, но представляю лица людей, которые впервые видели её в содержании, и вместо дуэли двух кораблей получали тактическую стратегию. Но я с большим удовольствием сыграл ещё одну партию, прежде, чем перейти к остальным играм раздела.

Игры ORBIT и TARGET, неожиданно также оказались посвящены Стар Треку. Обе - симуляторы наводчика. В первой нам необходимо подбить ромуланский корабль, вращающийся вокруг планеты. О корабле известно только то, что он движется по орбите против часовой стрелке. Указываем градус, дистанцию выстрела и получаем информацию, насколько далеко снаряд взорвался от корабля. Как и Star Trek, Orbit иммерсивна - игрок в ней взаимодействует как бы с системами орудия и получает сообщения, соответствующие духу сеттинга, а игровые системы маскируются. 




Очень похожая система у TARGET, только здесь нужно подбить цель в условном трехмерном кубе (космосе), определяя наклон пушек по оси X и Z, а также дальность выстрела.

Игра ROCKET (оригинальное название Lunar Lander) была написана Джимом Сторером в 1969 году и портирована Элом на BASIC в 1971 году. И название игры, и дата её первой публикации указывают на то, что она была создана под вдохновением от известнейшего события - прилунения модуля Аполлон и единственной высадки человека на Луну. Саму игру можно назвать симулятором - у нас есть данные по скорости и высоте модуля, каждый ход/секунду нужно определить, сколько топлива сжечь, чтобы корабль подошел к поверхности с минимальной скоростью. Да, аркадная игра 1979 года Lunar Lander от Atari вдохновлена именно этой программой. Даже на заре индустрии, когда игр было критически мало, геймдизайнеры активно перерабатывали и улучшали известные идеи.

Я не могу не отметить такое количество игр по Стар Треку, причём игр достаточно продвинутых для своего времени. Я очень плохо знаком с субкультурой любителей Трека, но здесь я с большой уверенностью могу сказать, что эти игры - вообще самое раннее пересечение молодой гик-культуры с компьютерами, не считая Spacewar, авторы которой вдохновлялись книгами Эдварда "Дока" Смита, но в Spacewar не было никакого нарратива, чтобы точно определить сеттинг.

У гиков в конце шестидесятых и начале семидесятых было как минимум три пути: Пилотировать USS Enterprise (субкультура Треккеров), нести кольцо в Мордор (любители книг Толкина и других фентези-авторов) и спасать Нью-Йорк от Зелёного Гоблина (супергеройские комиксы). Интересно, что до компьютеров добрались впервые добрались именно Треккеры, толкиенистам потребуется дождаться 1974-1975, а самую раннюю супергеройскую игру я пока нашел только в 1979 году. Кажется, у меня появился повод посмотреть как минимум один сезон оригинального Стар Трека, чтобы оставаться в контексте того, о чём я пишу. Вообще, исследование ранних видеоигр заставило меня по-новому взглянуть на научную фантастику и космооперы, которыми я всегда пренебрегал в пользу фентези и кажется, с каждым новым постом эта тенденция будет продолжаться. Ну ладно, поехали дальше.

12. Викторины - Здесь, в основном, обучающие программки по математике, физике, химии, на уровне 5-6 класса школы, предлагают простые задачки, которые надо посчитать и ввести ответ в компьютер. Выбивается из общего списка здесь только HELLO, программа, которая якобы должна давать жизненные советы. Я думал, что нашел версию виртуального психотерапевта Eliza, о котором я обязательно расскажу потом, но здесь игра просто выдает забавные заготовленные тексты вроде "Вам грустно? Не грустите!"

симулятор незнакомого твиттерского

13. Военные игры - неожиданно разочаровывающий раздел. Тут я ожидал прото-варгеймов вроде той же CIVIL WAR, но BOAT и GUNNER - артиллерийские игры, вроде тех, что были в космическом разделе, а BOMBER вообще программка с низкой интерактивностью, где влияние вводимых параметров (количество вылетов бомбардировщика или оружие противника) абсолютно неочевидно.

14. Слова - три простые игры на угадывание слов, включая классическую Виселицу (не смотрите исходный код!) и развлекалка BUZZWORD, генерирующая умно выглядящие фразочки.

15. Даты - генератор календаря (вводные надо указывать в исходном коде), актуально, если пользоваться настоящим телетайпом и можно взять распечатку. И тут же программка, которая может посчитать сколько вам лет, сколько из них вы проспали, и когда примерно умрёте.

16. Прочее - вопреки моим ожиданиям, ничего особо дельного тут не нашлось. Простая игрушка про Корриду, программа, считающая сдачу, бросалка кубиков и всё в таком духе. Особняком стоит лишь BASIC-версия математической игры "Жизнь" Джона Конвэя, которую, правда, мне запустить не удалось.

***

Ладно, книга пролистана, большая часть программ опробована. На весь этот пост у меня ушло примерно пять дней. Уверен, что с настоящим телетайпом и необходимостью самому вбивать все коды, вышло бы кратно больше. Хотя с книгой я был знаком уже пару лет, только сейчас, с блогом, появился повод обстоятельно её почитать и поиграть во все игры. Получился очередной небольшой и незапланированный марафон. Каждый вечер я выбирал несколько программ, запускал их, делал заметки и... развлекался. Да, игрушки здесь очень простые, но это не значит, что они не могут веселить или удивлять, для меня это похоже на настоящее исследование, в котором можно найти для себя что-то неожиданное. Чтобы не заскучать над листингами программ, я слушал подборки рок-музыки 1973 года и да, всё же начал смотреть Стар Трек. Мне очень понравилось такое погружение, и пока совершенно нет никакого желания возвращаться к играм современным, впереди новинки 1974 года, мне будет чем вас порадовать и, возможно, удивить.

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

С точки зрения современного исследователя видеоигровой истории: это невероятно значимый артефакт, памятник своего времени. Книга содержит в себе не только сами игры. Она, в первую очередь, даёт возможность погрузиться в то, что было популярно в компьютерных кружках, с каким отношением это делалось и что радовало всех этих людей. За каждой программой очень легко разглядеть человека - почти все писались в одиночку, почти к каждой игре, кроме "потеряшек" указано не просто имя автора, но и его контакты. Тут есть дух времени, и мне хочется его передать и сохранить.

Ну а с моей личной точки зрения... BASIC Computer Games похожа одновременно на "картридж с чайками" с Денди, диск с "приколами" и месячную подписку Gamepass. К концу этого текста я понял, что Games в названии книги не столько про конкретно видеоигры, сколько про Игру с компьютером вообще, про интерес к этим тогда ещё непонятным машинам. Подход Дэвида Эла, People`s Computer Company и множества других людей в том, что непонятная машина может быть инструментом для развлечения, образования и самовыражения. 

И это чертовски вдохновляет.

Я обязательно вернусь к следующей редакции книги, когда таймлайн блога дойдет до домашних компьютеров. А пока - до встречи в 1974 году!


Комментарии