Литвек - электронная библиотека >> Боб Пейп >> Базы данных и др. >> Она позади тебя. Воспоминания о разработке компьютерных игр >> страница 3
чем официальный TRS-80 и намного дешевле, чем PET. Наконец-то у меня был мой собственный настоящий домашний компьютер.

Теперь ничто не могло остановить меня, я даже накупил еще больше книг, включая две "David Ahl's BASIC Computer Games" и проводил недели за утраченным ныне искусством набора программ по листингу. Это были не какие-то особые игры, которыми я интересовался, просто все программы, не похоже на предыдущие и готовые к вводу. Были даже книги, которые содержали листинг только одной целой программы, например, SARGON Chess (шахматы). Программы, поставляемые на кассетах из США, были дороги и их было трудно достать. Единственная реальной программой на кассете была текстовая "адвентюра" (приключение) Scott'а Addams'а которая была скопирована для меня (нелегально) (ах, как же это все до боли знакомо…) в магазине, где я покупал TRS-80.

Мне нравилось играть в текстовые адвентюры, может быть потому, что это все, что у меня было (нам в этом плане повезло намного больше), но адвентюры от Addams'а всегда имели замысловатый путь прохождения, а Snakes и Mongoose puzzle от Pirate's Adventure были особенно запутаны и до сих пор при воспоминании у меня вызывают улыбку. В любом случае настало время испытать себя в моей самой первой программе, индивидуальной программе, той, которую еще не видел никто. И я собрался написать игру Pinball.

Это был полный провал, и я сдался на полпути, оставив эту затею. Забавно, но позднее я понял, что́ делал неправильно, но было уже поздно, так как все наработки были выброшены. Это была задача вычисления столкновения, я полностью "запорол" ее, смешивая пробелы и пустые места в объектах, хотя они и выглядели одинаково, как пустые блоки из ничего, но имеют тонкую разницу при проверке ASCII кодов. Движение мяча было тоже ужасно, но все это было написано на Tandy BASIC’е и я был в любом случае обречен на неудачу, но я был слишком наивным, чтобы осознать это тогда.

Моя вторая попытка программирования на этот раз прошла удачно, и я действительно завершил создание этой программы. Garstly Grange было простым текстовым приключением, которое заставляло вас исследовать пустынный дом фокусника, но игра была вряд ли на уровне адвентюр Addams'а, здесь все специфические действия были достаточно жестко запрограммированы. Я имею ввиду, что здесь не использовался интерпретатор как в Infocom’s Zork или Gilsoft’s The Quill, здесь код был основан на построчных сравнениях IF THEN.

Снова бросая взгляд на прошлое, вы можете заметить главную проблему: если вы знаете игру, то пройдете ее так же гладко, как шелк, но если вы подошли к ней не подготовленным при очень ограниченных вариантах действий, то вы бы очень быстро забросили ее. Несмотря на большую наивность с моей стороны, я никогда не показывал игру кому-либо, кроме нескольких друзей, но этот приобретенный опыт значил для меня гораздо больше, чем когда-либо, потому что я сделал это, и оно заработало. Программа. Я был реальным программистом!

* * *
Единственное, что объединяло Garstly Grange с адвентюрами Scott Addams — это разделенный экран, каждый со своим скроллингом и эффект набора, которые я подсмотрел из какого-то журнала. Конечно, это был машинный код, но я понятия не имел, что там делается и тем более как, я просто набрал цифры, а затем через магическую команду TRS-80 VARPTR половина экрана стояла на месте, пока другая продолжала прокручиваться. Я купил несколько книг по машинному коду в дни праздного шатания по магазинам и даже пытался их читать, но быстро сдавался всего через несколько страниц, все это просто не доходило до меня. Там не было синтаксического или логического объяснения за командами, которые я мог бы изучить, а скорее полная идея данного машинного кода на языке Ассемблер, Отладчики, Мониторы, PEEKs и POKEs — что все это значило!? Возможно, я слишком легко сдался, или, может быть, завершив программу, мне уже нечего было доказывать самому себе, но это все, что я сделал на TRS-80 за следующие четыре-пять лет (прямо скажем, не густо). После увольнения из Mettoys я перемещался по стране как оператор компьютера со своим TRS-80, но никогда не испытывал желания сесть за компьютер и позаниматься творчеством. Я все еще покупал игры и утилиты и пользовался компьютером, но писал только небольшие программы на интерпретаторе BASIC'а на стационарных ЭВМ на работе. Я не знаю, что за ICL (International Computers Limited, имеется ввиду мощность) была заложена в этих машинах, но на ЭВМ 2980 мне пришлось поставить проверку времени в одну из своих написанных текстовых адвентюр, так чтобы она запускалась только после 18.00, иначе это могло подвесить всю систему. А это был лишь простой цикл на BASIC'е!

Я забросил свой TRS-80 после своего очередного проекта. Разрабатывая Traveller RPG, я решил ни много ни мало, что 16K TRS-80 может легко поддерживать многопользовательскую игру по почте в части торговли. Я, конечно, повзрослел, но не избавился от своей наивности, которая зашла так далеко, что я стал набирать название планет и описание товаров, до того, как я осознал, что здесь это никогда не будет работать. Позднее эту задачу David Bell и Ian Braben довольно элегантно решили в Elite.

Я впервые наткнулся на язык программирования FORTH на страницах компьютерных журналов, где упоминалась целая концепция создания пользовательских команд и ключевых слов, которые бы делали именно то, что вы от них хотите, что привлекло меня. Больше никакой борьбы с ограничением интерпретатора языка BASIC: если команды не делали то, что вы хотели, тогда просто напишите новую. Лучшего способа выучить этот язык, как на специальной машине, посвященной FORTH, не было. Jupiter Ace возможно была самой глупой реализованной идей на ранней сцене домашних компьютеров (смотрите мою первую статью!). Да, в домашний компьютер был встроен компилятор/декомпилятор FORTH, что приводило к быстрым и компактным программам, способным мгновенно захватить рынок, но корпус (кроме всего прочего), казалось, был сделан из пластического материала, похожего на бутылку от йогурта, а резиновая клавиатура сделана из поношенных остатков от ZX Spectrum'а (у него также была резиновая клавиатура), это еще мягко выражаясь.

Я могу продолжить, упоминая крошечный 1К памяти, черно-белый текстовый дисплей, тревожное скрипение и прогибание машины, когда вы с трудом нажимаете на клавишу, необходимость купить модуль расширения памяти перед тем, как сделать хоть что-то отдаленно интересное со всем этим (какие интересные подробности!). Но, несмотря на все недостатки, это был действительно отличный способ, чтобы выучить FORTH, как только компьютер стоимостью £90 появился в моем местном магазине Debenhams, я довольно быстро его приобрел и начал кодировать игры для этой машины. Фактически, создание своих собственных игр было единственным возможным занятием, так как машина