Она позади тебя - страница 4
Но, конечно, чтение не сравнится с практикой, и в конце концов я по железной дороге отправился в путь. Проехав поездом по Northern Line до High Barnet, я совершил долгую прогулку до маленького компьютерного магазина на окраине Лондона, который продавал хитроумно модифицированную версию TRS-80 16K компьютера со встроенным модулятором, позволяющим использовать любой телевизор вместо обязательно дорогого монитора, становясь на несколько сотен фунтов дешевле, чем официальный 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 за следующие четыре-пять лет (