Writing BASIC Adventure Programs

dacosta_adventure_trs80Nemrégiben sikerült beszereznem egy amerikai antikváriumból Frank Dacosta Writing BASIC Adventure Programs for the TRS-80 című könyvét. A mű 1986-ban magyarul is megjelent, a címe pedig A kalandprogram írásának rejtelmei, Hogyan írjunk az iskola-számítógépre kalandprogramot volt. Ez annak idején a kedvenc számítástechnikai olvasmányaim közé tartozott, és amikor megláttam, hogy pár dollárért angolul is beszerezhető az Amazonon, nem haboztam, és nyomban meg is rendeltem. Hamarosan meg is érkezett; kiderült, hogy egy egykori könyvtári példány boldog tulajdonosa lettem. Régebben a Georgia-beli Ocilla egyik könyvtárának polcain hevert egy ideig; egy 1994-es és egy 2002-es dátumot találtam bebélyegezve.

A magyar verzióról régebben már írtam egy bejegyzést, ezért most csak pár érdekességet említenék meg, ami a könyv lapozgatása során feltűnt. Először is F. Dacosta-ról végre kiderült, hogy teljes nevén Frank Dacosta-nak hívják 🙂 A Kardhalak és kincsek példajáték címe angolul Basements and Beasties, a Szörnyek az útvesztőben pedig Mazies and Crazies volt. Megtudtam azt is, hogy a Nevesincs borzalom nevű szörny eredetileg a Nameless Terror névre hallgatott.

Annak idején sehogy nem értettem, hogy egy föld alatti barlang mélyén játszódó programban hogyan lehet a fő ellenfél, a kitartó ellenség egy – a magyar kiadás borítóján is látható – kardhal, aki ráadásul egy fekete görbe karddal üldöz minket. A program listáját átfutva megtudtam, hogy eredetileg szó sem volt kardhalról, bátor ellenfelünk egy Angry Orc volt 🙂 Lehet, hogy a fordító azt gondolta, hogy a magyar olvasók többsége számára ismeretlen lény az ork, de hogy végül mi késztette arra, hogy ork helyett kardhalat válasszon, azt nem tudom… Talán a kardszárnyú delfinnel, az orkával keverte össze? (Ez persze összességében nem von le a fordítás értékéből, szerintem nagyon jól sikerült a magyar verzió is.)

A kalandprogram írásának rejtelmei

Nemrég olvastam el F.DaCosta A kalandprogram írásnak rejtelmei (Writing BASIC Adventure programs for the TRS-80) című 1982-es könyvét, melyet az Antikvarium.hu-n szereztem be. A könyv két BASIC játékprogram fejlesztését ismerteti részletesen egy TRS-80 (vagy magyarországi megfelelője, a HT-1080Z) számítógépre. Az egyik játék a Kardhalak és kincsek, amely egy szöveges kalandjáték, a másik pedig a Szörnyek az útvesztőben, amely már kihasználja a TRS-80 grafikai lehetőségeit.

Programozóként érdekes volt sok év után újra elolvasni az évtizedekkel ezelőtt írt könyvet, amelyben DaCosta – teljesen jogosan – a kevés, mindössze 16 KB memóriára panaszkodik, melybe elég kevés adat fér el. Manapság már egy otthoni gépben sem számít soknak a 4 GB memória, akkoriban viszont be kellett érni ennyivel. Ennek következményeként az elkészült program sem épp áttekinthető, a helytakarékosság miatt a REM, azaz megjegyzés sorok is hiányoznak belőle.

Példaként nézzük meg az IMOVE kezelő forráskódját a Kardhalak és kincsekből:

220 IFTX$(3)=””THEND=11:GOSUB1120:N=A*100+10101:GOTO108:ELSEA$=TX$(3):GOTO106

Érthető, ugye?

Érdekes volt arra visszagondolni, hogy a 80-as években általános, majd középiskolai diákként mennyire természetesnek találtam a BASIC nyelv mikrogépes szörnyűségeinek a használatát. Sorszámozás, csak globális változók, SYS, PEEK és POKE és persze a legnagyszerűbb dolog, a GOTO. A strukturáltság csúcsát a GOSUB jelentette. Egy mai C#-programozó rosszul lenne, ha ilyeneket kellene írnia. 🙂

Ennek az időnek már szerencsére vége. Ettől függetlenül a 80-as években sokak első találkozásukat élték meg a számítógépes játékokkal, amelyekből a mostani játék-nagyipar kinőtte magát, úgyhogy nem elfelejtendő korszakról van szó, hanem a hőskorról, amely megérdemli, hogy emlékezzünk rá.