Археолог цифрового века – Том 1. 1966-1979

Джимми Мехер, 2021

Перед вами перевод блога Джимми Мехера The Digital Antiquarian, посвященный истории развития индустрии компьютерных развлечений. Вас ждут увлекательные рассказы о знаковых играх разных исторических периодах, биографии выдающихся личностей и экскурсы в историю крупных (и не очень) игровых компаний.

Оглавление

4. В поисках «Орегонской тропы», часть 4

Работа над этой главой заняла больше времени, чем ожидалось, но вовсе не из-за нехватки энтузиазма. Дело в том, что к моим археологическим изысканиям подключились Майкл Джемени и Боб Браун, специалисты по HP 2100 из группы в Yahoo, и вместе нам удалось совершить поистине удивительную находку.

Изучая образ кассеты из школы округа Йорк, штат Пенсильвания, Майкл нашел программу с многообещающим названием Oregon. И действительно, запустив ее, мы поняли, что перед нами версия The Oregon Trail от 27 марта 1975 года, то есть на три года старше версии, напечатанной в Creative Computing. Если вам интересно покопаться в исходном коде, то я загрузил его на свой сайт.21 Сравнив, таким образом, две имеющиеся версии, мы узнали немало интересного.

Прежде всего, это позволило мне исправить историческую неточность, допущенную в предыдущей главе. В 1974 году, когда Роуича только взяли работать в МЕСС, он явно не занимался портом The Oregon Trail на UNIVAC — по крайней мере, не сразу. Сначала он, скорее всего, просто заново набрал код на имевшемся у консорциума НР 2100: вполне логично, если учесть, что эти мини-компьютеры стояли почти в каждой школе, причем не только в Миннесоте, но и по всей стране, а к началу 1975 года МЕСС активно распространял игру по образовательным округам соседних штатов.

Нетрудно также заметить, что сам Роуич, программисты из МЕСС — или кто-то еще — в последующие годы продолжали доводить игру до ума, и в таком обновленном виде она попала на Apple II. В версии 1978 года есть ряд нововведений, отсутствующих в версии 1975 года. Возьмем ситуацию, когда игроку — во время охоты, нападения бандитов и т.п. — нужно быстро ввести в терминал какое-то слово. В версии 1978 года появляются уровни сложности: в начале игры программа просит игрока указать, насколько он хороший стрелок — от «меткого аса» до «трясущихся рук». В зависимости выбранного варианта игра определяет, сколько времени будет даваться на ввод. Кроме того, нужное слово каждый раз выбирается случайно: BANG, BLAM, POW или WHAM, — тогда как в версии 1975 года это всегда старое доброе BANG.

Если вам интересно поискать другие отличия, версию 1978 года я тоже выложил у себя на сайте,22 хотя она, конечно, не настолько аутентичная, как версия 1975 года. Мне пришлось довольно долго вычитывать код, чтобы убрать все ошибки распознавания, но зато я бэкпортировал ее с BASIC, которой использовался на мейнфреймах линейки CDC Cyber, на HP-BASIC. Теперь вы тоже можете почувствовать, как The Oregon Trail могла выглядеть на «родном» мини-компьютере серии НР тогда, в 1978 году.

Итак, возьму на себя смелость условно обозначить эти две версии номерами 2 и 3 соответственно. Логично предположить, что следующей моей целью должен был стать поиск версии номер 1… Увы, эта задача при всей ее привлекательности кажется неосуществимой. Поскольку первоначальная The Oregon Trail, по всей видимости, существовала только на том компьютере, на котором Роуич с Хайнеманном и Дилленбергером ее написали, и поскольку в 1972 году, уходя из школы, Роуич ее удалил, единственным источником остается та самая пожелтевшая распечатка, которую Роуич принес с собой в МЕСС. На снимке, сделанном в ТЦ «Молл оф Америка» (г. Блумингтон, штат Миннесота) во время мероприятия, посвященного годовщине выхода The Oregon Trail, Роуич держит в руках нечто очень похожее.23

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

К тому же, изучая исходный код, можно узнать немало занятного. Здесь я передаю слово Майклу Джемени, поскольку он гораздо лучше меня разбирается в тонкостях HP-BASIC:

«Если сопоставить нумерацию строк кода с историческими свидетельствами, то вырисовывается довольно четкая картина. Я бы сказал, что программа изначально была написана опытным программистом, прилежным и ответственным. А затем кодом занимался другой программист, менее опытный или менее прилежный. Заметно, что ему не хватало времени, усидчивости или умения, чтобы поддерживать чистоту кода в приемлемом виде».

Тот «другой программист» — это, конечно же, Роуич, который переписывал программу для МЕСС, внося свои изменения. В коде сохранились свидетельства, что он — по крайней мере, сначала — работал один и профессиональными познаниями в программировании, в отличие от Хайнеманна и Дилленбергера, не обладал.

Почти все строки кода пронумерованы числами, кратными пяти, но в некоторых местах последовательность нарушается, и это довольно странно, учитывая, что в HP-BASIC, по словам Майкла, реализована довольно продвинутая функция перенумерации строк. Вероятно, Роуич о ней просто не знал, а следовательно, по «выбивающимся» строкам можно отследить те изменения или добавления, которые в версию для MECC внес именно он. Если вдруг кому-то интересно, Майкл выделил эти строки, а я их прокомментировал:

Строки 8-11: указание на MECC, автора изменений и текущую версию

Строки 262-263: предупреждение, чтобы игрок не использовал знак ‘$’

Строка 999 (и далее): комментарии с названиями разделов кода

Строка 1332: напоминание, чтобы игрок использовал целые числа

Строка 1537: предупреждение о разумных тратах

Строка 1752: комментарий о том, что команда «‘7» запускает велосипедный звонок (единственный звуковой эффект, доступный на телетайпном терминале)

Строка 1902: разделение вопроса на две строки

Строка 2392: исправлен баг, связанный с ненападением разбойников

Строка 2672: проливной дождь также приводит к потере патронов

Строка 2792: пожар также приводит к потере патронов

Строка 2891: нападение индейцев (вероятно) заменено на нападение волков

Строка 3147: повреждение фургона также приводит к потере патронов

Строка 3317: снежная буря также приводит к потере патронов

Строки 3650–3658: добавлены родственники и тетушка Нелли

Строка 4012: еще один комментарий о велосипедном звонке

Строка 4279: изменено поздравление в конце игры

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

Что ж, на этом увлекательные поиски завершились. В следующей главе мы наконец поговорим о самой игре.

Примечания

21

https://www.filfre.net/misc/oregon1975.bas

22

https://www.filfre.net/misc/oregon1978.bas

23

https://www.filfre.net/wp-content/uploads/2011/04/oregon-trail-how-three-minnesotans-forged-its-path.5872975.40.jpg

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я