Dober dan!

Hitre povezave
Moje naročnineNaročila
Znanoteh

Genialni labirint alkoholnega delirija

Zvijače, ki so jih uporabljali pionirski programerji na zelo podhranjenih računalnikih.
Igralna konzola atari 2600 je prišla na trg leta 1977. Foto Atari
Igralna konzola atari 2600 je prišla na trg leta 1977. Foto Atari
Dare Hriberšek
12. 4. 2020 | 06:00
12. 4. 2020 | 09:30
8:33
Igre, eno od pomembnih področij digitalne zabave, so med nami že skoraj pol stoletja. Težko je spregledati, kako zelo so v tem času napredovale, zlasti se jim to pozna na zunanji podobi. Druga razlika je v njihovem nastajanju: takrat, pred desetletji, so to množično počeli v domačih garažah, danes za igrami stoji milijardna industrija. A kot kaže, se je mogoče tudi še danes, v času umetne inteligence, virtualne resničnosti, kaj naučiti od pionirskih zanesenjakov. Arheologija iger, torej.

Nekaj desetletij stare igre ne skrivajo samo debelih kosmov nostalgije za tiste, ki so nekoč ob njih prebedeli kako noč. Skrivajo tudi povsem drugačne principe programiranja, kot jih ubirajo sodobni razvijalci. Nekoč, ko so računalniki imeli kak promil današnjih zmogljivosti, je bilo precej odvisno od iznajdljivosti. Poenostavljanja. Iskanja obvodnih poti. Namen raziskovanja arheologov iger je torej na novo odkriti te obrtniške skrivnosti in s tem morda pomagati današnjim programerjem, ki se utegnejo spet kdaj znajti pred podobnimi izzivi.


 

Igra entombed je bila shranjena na zunanji spominski enoti, ki je premogla cele štiri kilobajte spomina. Foto Atari
Igra entombed je bila shranjena na zunanji spominski enoti, ki je premogla cele štiri kilobajte spomina. Foto Atari
Entombed


Raziskovalca z univerze v Calgaryju sta se lotila obdukcije leta 1982 za atari 2600 izdane igre entombed. Šlo je za blodenje po katakombah, nekakšnem dvodimenzionalnem labirintu, v katerem se je moral igralec izogibati zombijem. Labirinti so bili v tistih časih priljubljena tematika, toda entombed se ni izkazal ravno za uspešnico. Je pa v sebi skrival skrivnost, zaradi katere sta digitalna arheologa sklenila pregledati programsko kodo in njeno delovanje.

Igralna konzola atari 2600, ki je prišla na trg leta 1977, je imela procesor s frekvenco 1,19 MHz in 128 bajtov (!) delovnega pomnilnika. Pomnilniške kartice, na katerih je bila shranjena igra, pa so imele 4 kilobajte uporabnega prostora. Da, prav ste prebrali. Za primerjavo: datoteka današnjega urejevalnika word, v katero ste zapisali eno samo črko, bo po shranjevanju velika dobrih 11 kilobajtov.

Prav zato igra ni mogla biti zasnovana s številnimi, vnaprej pripravljenimi labirinti, za kaj takega preprosto ni bilo prostora. Po drugi strani pa je igra za igralca lahko zanimiva le, če mu ni treba vedno znova preigravati enakega scenarija. Avtorji so entombed zato zasnovali tako, da se je labirint vsakič znova sproti izračunaval in izrisoval na zaslon. Da jim je to uspelo, so morali biti vražje domiselni. Zdi se, da je morala biti taka kar celotna generacija takratnih programerjev. Takšne pionirje iger imamo tudi v Sloveniji.


 

Kontrabant, slovenska igra za spectrum, je izšla le dve leti po predstavitvi tega osebnega računalnika.
Kontrabant, slovenska igra za spectrum, je izšla le dve leti po predstavitvi tega osebnega računalnika.


Iznajdljivost, varčnost in kolonjska voda


Matevž Kmet, danes uspešen poslovnež, je leta 1984 z Žigo Turkom, nekdanjim ministrom, za računalnik ZX spectrum izdelal prvo slovensko komercialno igro kontrabant, ki je kmalu postala pravi mali hit. Tekstovna pustolovščina s humorno zgodbo je povzela tedaj tipičen način nakupa strojne opreme: tihotapljenje čez mejo. Kaj torej pravi o pisanju iger nekoč in danes?

»Težko je primerjati. Takrat smo bili z resursi tako zelo omejeni, da smo večino truda usmerili v iskanje dobrih idej, izvedba pa je bila docela podrejena možnostim tehnike. Danes se dela precej drugače. Včasih smo bili s programiranjem nekako bližje strojni opremi in to nam je omogočilo, da smo iz nje lahko iztisnili zares vse. Zdaj se programira tako, da ti nekdo že prej pripravi osnovo, njemu jo je nekdo drug in tako naprej. Nekdo izdela operacijski sistem, spet drugi platforme, orodja in drugo. Teh vmesnih plasti je toliko, da nihče več ne more obvladati vseh. Nekdo, ki izdeluje 3D-objekte, najverjetneje sploh ne ve, kako je narejeno orodje, s katerim dela.«

Danes se Kmet z nostalgijo spominja tehnoloških ovir, ki so jih spremljale pri nastajanju kontrabanta. Zlasti njegovega nadaljevanja, ki so ga v nasprotju z enico krasile tudi slike. Robato kockaste in mučno počasi se izrisujoče, a vendarle slike. Turk je sam razvil urejevalnik, ki je omogočal njihovo prikazovanje, imenoval se je Pixasso in pozneje so ga s pridom uporabljali drugi snovalci iger, tudi onkraj naših meja. Program je deloval vektorsko, šlo je torej za nekakšno sosledje ukazov za izrisovanje. ZX spectrum je imel namreč 48 kilobajtov pomnilnika, in če bi podobe shranjevali kot slike, bi jih igra lahko imela vsega skupaj šest. Problem je bil torej v bližnjem sorodstvu s problemom raznolikosti labirintov v igri entombed.

ZX spectrum, predstavljen leta 1982, je eden najbolj kultnih predmetov, ki so spremenili družbo. Foto wikipedija
ZX spectrum, predstavljen leta 1982, je eden najbolj kultnih predmetov, ki so spremenili družbo. Foto wikipedija


»Morali smo zelo dobro razmisliti, kako jih narisati s čim manj potezami. Pa je igra kljub temu prenesla le 35 slik. V teh 48 kilobajtov smo morali stlačiti pogon za igro, pogon za slike, pa font pisave, ker smo hoteli svojega, potem je bila tu še vsa logika igre in slike. Zato smo morali pri slikah pogosto žrtvovati kakšno črto, da smo tako prihranili dva bajta,« se spomina Kmet. »Zaslon igre je bil velik 60 krat 25 kvadratkov, vsak od njih je lahko prikazoval le dve barvi. Precej časa smo morali razmišljati, kako prikazati oranžno barvo sončnega zahoda. Žiga se je sicer bolj posvečal tehnični plati, jaz pa vsebinski in vizualni. Slike sem izdeloval v vojski, s flomastrom sem si jih najprej skiciral na ekran starega televizorja, in soba je zelo zaudarjala po vodici za britje pino silvestre, ki sem jo uporabljal za brisanje.«


 

Zagonetna tabela iz delirija


Vrnimo se k atarijevim katakombam. Ključni problem generiranih labirintov je bil, da so morali biti rešljivi. Zato je algoritem vsakič, preden je izrisal nov delček prostora, najprej izračunal, ali naj bo to stena ali prazen prostor oziroma 0 ali 1, povedano v bitih. Logika, ki je določala, kaj se bo izrisalo, pa se je skrivala v posebni tabeli možnih vrednosti, ki je bila del programske kode. Težava je le, da danes nihče več ne zna razvozlati, kako ta tabela deluje, še manj pa, kako je nastala.

Raziskovalci so poskušali na več načinov, denimo z vzvratnim inženirstvom, pa iskanjem morebitnih vzorcev v njenih vrednostih. Zaman. Če so vrednosti samo malo prilagodili, so za rezultat dobili nerešljiv labirint. Nazadnje so se obrnili na enega od programerjev igre entombed. Ta se je dobro spomnil zagonetne tabele, ki je tudi sam ni nikoli razumel. Se je pa spomnil, da jo je izdelal eden od njegovih takratnih kolegov, in to, zanimivo, pod močnim vplivom alkohola.



Tabela in njene vrednosti za zdaj ostajajo skrivnost, ena od možnih razlag je, da so jih optimizirali s poskušanjem. Kdove koliko takih skrivnosti še skrivajo prastare igre in kako bi lahko pomagale današnjim razvijalcem, ki se zadnja leta spet pogosteje zaletijo v mejo zmogljivosti. Denimo pri ustvarjanju iger v virtualni resničnosti, vključevanju umetne inteligence in drugih tehnologij, ki izboljšujejo igralsko izkušnjo.

Hvala, ker berete Delo že 65 let.

Aktualne in poglobljene vsebine, ki vam pomagajo razumeti svet – za 14,99 EUR na mesec!
NAROČITE  

Obstoječi naročnik?Prijavite se

Komentarji

VEČ NOVIC
Predstavitvene vsebine