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 a 28 évvel 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á.