PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Specijalni dodatak Specijalni dodatak
PC #42 : Januar 1999 TehnoGuru

 Naslovna  Sadržaj 
Milan Bašić  

S druge strane Office-a

Svaki korisnik računara se susretne sa igrama - neko se kratko zadrži na njima, a neko ih zavoli za čitav život. Moglo bi se čak reći da je svaki period razvoja računara bio obeležen nekom igrom. Zato smo sakupili 14 priča: Eliša Kabiljo piše o danima kada je skidao zaštite, Milan Bašić o Spektrumu koji je hlađen u zamrzivaču, Pavle Peković o rešavanju igara i štampanju gigantskih mapa, Dejan Ristanović o jedinoj akcionoj igri za TI-59, Nenad Veljković o pokušaju da pretvori BBC u mobilnu igračku, Voja Antonić o kockarskim automatima, Milan Jakovljević o prvim modemskim igrama, Sava Zdravković o igrama u računskim centrima, Jelica Protić i Đorđe Grujić o igrama popularnim u velikim firmama, Aleksandar Veljković o Flight Simulator-u, Bojan Stojanović o šahovskim programima, Dragan Nedeljković o programu za pasijans koji godinama piše a Darko Staničić o mrežnom Quake-u. Ukratko, štivo uz koje ćete se zabaviti tokom prazničnih dana.

Od kada je sveta i veka, ljudi se igraju. Da, dobro ste pročitali, ljudi. Za decu je igra sastavni deo odrastanja, neophodna da bi se život razumeo na pravi način, ali šta će odraslima igre? Psiholozi i njima slični stručnjaci znaju pravi odgovor na to pitanje, mi smo laici i možemo vam odgovoriti samo na osnovu ličnog iskustva koje, ako govorimo o računarskim igrama, nije malo.

Dakle, odrasli se igraju da bi se oslobodili napetosti, razvili određene motoričke sposobnosti (naročito za tri prsta na desnoj ruci), da bi spoznali performanse hardvera i, najčešće, da bi se razonodili. Uostalom, zar svako od nas ponekad ne poželi da bude bezbrižno dete?

Industrija računarskih igara je moćna, kažu jedna od najvećih na svetu. To je samo još jedan dokaz da nama sličnih na svim meridijanima ima na pretek, a svako ko kaže da se ne igra teško da govori istinu – uostalom, primetićete da većina priča naših saradnika počinje sa „ja se ne igram“, a onda sledi jedno „ali“... Razlika je samo u tome koju igru je ko izabrao.

Nama ne smeta što vreme za računarom provodimo i u besposlici. Da je sve ozbiljno i da radimo samo korisne stvari, život bi bio tako dosadan. I zato, želimo vam srećno igranje u budućnosti, baš kao što je bilo srećno u godinama koje opisuju priče koje slede...

Bio jednom jedan haker

Da li je petnaestak godina, pre koliko se ova priča dešavala, dug ili kratak vremenski period i koliko se promena desilo za to vreme? Svako ima neki svoj odgovor. Što se tiče mene i moje veze sa računarima i računarskim igrama, neke stvari su ostale iste, a neke su se potpuno promenile. I tada sam se profesionalno bavio računarima, a i sada se profesionalno bavim. I tada sam se bavio računarima kao hobijem, kao i sada. I tada sam voleo računarske igre, a i sada ih volim. Na prvi pogled, ništa bitno se nije promenilo, ali tada sam imao mnogo manje obaveza i nisam imao porodicu o kojoj treba da brinem, a sada imam ženu i troje dece. Pored svega lepog što ta promena donosi, ona neminovno znači da sada imam mnogo manje slobodnog vremena koje mogu da posvetim računarskim igrama. I dalje se povremeno igram, ali uvek osećam grižu savesti što „gubim vreme“ umesto da radim nešto korisno.

Za petnaest godina računarske igre su se gotovo u neverovatnoj meri promenile. Današnje igre su prava „čudovišta“ koja zauzimaju na stotine megabajta i zahtevaju najbrže procesore sa najnovijim hardverom. Mnogo se polaže na realističnost prikaza, sve se odvija u tri dimenzije, bez i najmanje greške u prikazu detalja i sa savršenim zvukom koji sve to prati. Ali da li su igre zbog svega toga zanimljivije? Odgovor, naravno, opet zavisi od ličnog ukusa, ali ja sam uvek više voleo jednostavne igre sa manje komandi, za koje nije neophodno čitanje debelog uputstva. Mislim da će sav šareniš novih igara teško nadoknaditi uživanje koje su pružali Tetris ili Freecell.

Ali da se vratim na početak. Sa računarskim igrama sam se sreo odmah pošto sam počeo da radim na velikim računarima kao što su Interdata ili PDP – i na njima su postojale igre. Među prvima su bile „Zvezdane staze“, gde je na osnovu mape svemira koja se prikazivala na običnom alfanumeričkom terminalu trebalo, pomoću tekstualnih komandi, ubijati Klingonce, kao i „Sletanje na Mesec“, gde je, zadavanjem jačine i pravca delovanja motora, trebalo sleteti a da se brod ne razbije; sve to u tekstualnom modu. Pa onda igra potapanja podmornica koja se igrala na dva terminala i koju sam ja napravio (naravno, ubacio sam tajnu komandu da mogu da vidim raspored protivničkih brodova). Onda je došao Dungeon, tekstualna avantura u kojoj je trebalo tražiti razne predmete i iskoristiti ih na pravom mestu, ali koju nažalost nikada nisam završio. I najzad „prava“ grafička igra QIX, u kojoj je, opet na alfanumeričkom terminalu, trebalo ograditi što veći segment ekrana.

A onda sam kupio Spektrum... Posle crno-belih slova i brojeva, njegova šarena grafika je izgledala prosto neverovatno, a imao je čak i zvuk. Uvek me je fasciniralo kakvi se sve zvuci i muzika mogu proizvesti pomoću njegovog bipera. Posle igre Brick, koja se dobijala uz Spektrum, nabavio sam Penetrator, Jumping Jack, Horacija, Manic Miner... Teško je setiti se svih tih imena, ali pamtim da mi je tada grafika izgledala dobro, i pored ograničenja Spektrumove video memorije. Kada sam pre nekoliko godina učitao nekoliko igara za Spektrum, bio sam iznenađen kako slika loše izgleda. Od tada više i ne pokušavam – ne treba kvariti uspomene.

Igre su postajale sve komplikovanije i teže, pa sam baš kod Manic Miner-a prvi put došao na ideju da nešto treba promeniti. Postojalo je dvadeset nivoa i uvek je moralo da se počne od prvog i da se igra redom, da bi se najzad stiglo do nekog novog nivoa, na kome se začas pogube svi životi... pa opet iz početka. Jedne večeri me je pozvao prijatelj i, iznerviran, pitao šta da radi sa Manic Miner-om. Više u šali sam mu odgovorio da potraži u programu instrukciju kojom se umanjuje broj života i da je ukloni, pa neće morati stalno da igra iz početka. Kada smo završili razgovor, ideja mi više nije izgledala tako smešno, pa sam i sam probao da je realizujem.

To nije bio brz niti lak posao: najpre je trebalo učitati dibager na lokaciju u memoriji gde se program ne učitava, pa onda učitati sam program bez automatskog startovanja, potražiti instrukcije koje bi mogle predstavljati umanjivanje broja života, izbaciti ih, startovati sam program i videti efekat. Ako to nisu bile prave instrukcije, operaciju je trebalo ponoviti. Imajući u vidu da su se programi učitavali sa kasetofona, svaki ciklus je trajao najmanje desetak minuta ali sam uz malo veštine, puno strpljenja i još više sreće, iste večeri uspeo da nađem željenu instrukciju i tako dobijem beskonačno života. Kasnije sam saznao da je u Manic Miner-u postojala tajna šifra koja je omogućavala upravo to, ali nije bitno... Bitno je da sam se te večeri upustio u „poboljšavanje“ programa i da sam se tim kasnije mnogo bavio. Postao sam haker...

Posle traženja „besmrtnosti“, prešao sam i na skidanje zaštita sa programa. To mi je dobro išlo, pa su mnogi programi koji su stizali u Beograd najpre prolazili kroz moju „obradu“, pa se tek onda širili po gradu. Nikada se nisam bavio prodajom takvih programa, jer sam uvek smatrao da to nije u redu, a takođe nisam uklanjao zaštite sa programa domaćih autora. Kasnije sam o zaštitama programa na Spektrumu pisao u rubrici „Hakerski bukvar“ časopisa „Svet kompjutera“ – kao ilustraciju moguće složenosti neke zaštite, navodim deo iz prvog nastavka te serije tekstova.

Pravljenje zaštite treba shvatiti kao misaonu borbu s hakerom koji će je rešavati. Ali, dobru zaštitu je teško napraviti: koliko god trikova ubacili u neki program, ako se oni uklapaju u logiku hakera koji je rešava, on neće imati većih problema. Zato treba poznavati njegov način razmišljanja i napraviti zaštitu koja se ne uklapa u kliše.

U principu postoje dva tipa zaštite programa koji se često prepliću: zaštita od analize i zaštita od kopiranja. Prvi tip zaštite koristite kada treba sprečiti da neko pregleda program, promeni ga ili koristi neki njegov segment u sopstvenim programima. Ovu zaštitu je obično lako ostvariti, jer se programi pišu u mašinskom jeziku, pa su po prirodi stvari teški za analizu.

Zaštita od kopiranja je potrebna ako želimo da plasiramo program na tržištu i sprečimo njegovu neovlašćenu prodaju. Ovu zaštitu je teško ostvariti iz više razloga. Kao prvo, kod nas postoji niz gotovih programa koji omogućavaju kopiranje svih programa koji koriste standardnu rutinu za učitavanje iz ROM-a. Zato za dobru zaštitu treba napisati vlastitu rutinu za snimanje i učitavanje programa, ali za unošenje takvog programa u računar najpre treba učitati rutinu koja će zatim učitati sam program snimljen na specijalni način. Analizom rutine za učitavanje može se otkriti način snimanja, uneti program u računar i snimiti na uobičajen način. Tako „provaljen“ program se kasnije duplicira bez ikakvih problema.

Glavni problem je, dakle, što kvalitetnije „maskiranje“ rutine za učitavanje. Kombinovanjem raznih tipova zaštite može se postići da veoma mali broj hakera stigne do programa. Nažalost, dovoljno je da samo jedan od njih reši problem i prepravi program, pa će početi njegovo nekontrolisano širenje. Zato bi najbolji metod zaštite bio da se najsposobniji hakeri angažuju na nekom kreativnijem i korisnijem poslu. To je, nažalost, nemoguće izvesti, jer je za većinu hakera najveći izazov da reše problem koji je neko drugi postavio – na tom poslu će, bez razmišljanja i bez materijalne koristi, provesti dane i noći. Sve ovo znam iz ličnog iskustva: i sâm sam proveo mnogo vremena rešavajući razne zaštite.

U početku (1983. godine) bilo je lako presnimiti program, jer su zaštite bile jednostavne. Tada je, recimo, pojava programa koji su imali segment bez hedera predstavljala iznenađenje i veliki problem za kopiranje. Ipak, sve tadašnje zaštite mogle su se rešiti standardnim putem pa je, kako na stranom tako i na domaćem tržištu, nastao čitav niz programa za automatsko kopiranje; treba reći da su naši programi bili bolji od stranih. Jednu seriju programa te vrste (pod nazivom COPY) napisao sam i ja, dodajući nove opcije čim bi se pojavio novi tip zaštite.

Sredinom 1984. počinju da se pojavljuju programi snimani specijalnim rutinama. Kao osnova je uglavnom korišćena Spektrumova rutina iz ROM-a, ali je menjana brzina snimanja. Pošto je praktično nemoguće napisati rutinu koja bi prepoznala brzinu kojom je kaseta snimljena (ima nekoliko parametara koji se mogu nezavisno menjati), ne može se napraviti program koji bi automatski kopirao ovako zaštićene programe. Zato je za svaki program trebalo ustanoviti kojom je brzinom snimljen, ali ne i snimiti ga na drugu kasetu istom brzinom: kasnije bi uz svaki program trebalo davati i rutinu za presnimavanje, što je nepraktično. Bolje je analizirati rutinu za učitavanje, učitati program i snimiti ga standardno. Ali, doći do rutine za učitavanje nije lako, jer je ona skrivena u nizu nepotrebnih podataka, odakle se dobija posebnom transformacijom.

Jedna od najveštije napravljenih zaštita koju sam rešavao bila je u igri Skool Daze. Program se sastojao od malo većeg bejzika i jednog veoma dugog dela snimljenog većom brzinom. Bejzik je, naravno, bio otporan na Break i Merge, ali se to lako rešavalo snimanjem bez auto starta. Kada se presnimljeni bejzik učitao, u njemu na prvi pogled nije moglo da se vidi ništa smisleno. Uz pomoć MONS-a lako sam shvatio da se program sastoji od niza POKE-ova, pri čemu su samo dve instrukcije bitne. One na adresu na koju ukazuje sistemska promenljiva ERR-SP (gde će se skočiti u slučaju greške) stavljaju adresu početka bejzik promenljivih (VARS), a zatim se generiše greška i tako startuje mašinac skriven u bejzik varijablama (ovakav način startovanja programa bio je veoma rasprostranjen u to vreme).

Mašinac je sadržao niz skokova na razna mesta u memoriji (na primer, na deo neke rutine u ROM-u ili među sistemske promenljive), niz modifikacija samog sebe pomoću XOR instrukcija, razne trikove sa stekom i RET instrukcijom i niz kopiranja jednog segmenta memorije na drugo mesto. Rešavanjem svih tih zamki dobio sam rutinu za učitavanje smeštenu na sredini memorije, tj. na adresi 32768. Analizom sam ustanovio da je u pitanju sasvim standardna rutina, s tim što je brzina povećana na nešto preko 2000 bauda. Program se učitavao od početka ekranske memorije, u dužini od 48 KB (pun RAM).

Zadovoljan rezultatom, pokušao sam da učitam program većom brzinom, „isečem“ ga na dva dela (radi kasnijeg lakšeg presnimavanja) i snimim normalnom brzinom. Pošto sam taj postupak ranije ponavljao mnogo puta kod raznih igara, pomislio sam da je problem rešen i da je ostao samo rutinski deo posla. Međutim, posle nekoliko bezuspešnih pokušaja zaključio sam da nešto nije kao obično. Posumnjao sam na dužinu programa, pošto je merenje pokazalo da ona iznosi 80 KB. To već nisu bila čista posla, jer je u rutini za učitavanje lepo pisalo da se unosi samo 48 KB. Trebalo je setiti se da se program učitava preko same rutine za učitavanje, pa je moguće da se ona u tom trenutku menja. Pokazalo se da je ova pretpostavka opravdana.

Posle detaljne analize, ustanovio sam da je postupak sledeći: najpre se, pomoću prve rutine, učitava oko 16 KB programa, počevši od zone ekrana naviše. Kod koji se učitava preko te rutine promeni njen tok, tako da se bajtovi ne učitavaju u sukcesivne lokacije (što se standardno radi instrukcijom INC IX), već na svaku 23. lokaciju pomoću instrukcije ADD IX, BC, pri čemu je prethodno u BC stavljen broj 23, što takođe nije bilo lako otkriti. Ovako prepravljena rutina nije ni na koji način testirala kraj učitavanja, pa sam pretpostavio da će biti promenjena još jednom. Zaista, nakon učitavanja sledećih 64 KB rutina je, učitavajući svaki 23 bajt, „prekrila“ čitavu memoriju, uključujući ROM i skrin, pa promenila samu sebe tako da skoči na početak programa.

Kada sam sve to ustanovio, trebalo je „samo“ još da presnimim program, što takođe nije bilo lako s obzirom na to da je on imao 80 KB. Problem sam rešio koristeći mikrodrajv, na koji sam preneo kod podeljen na dva dela, učitavao iz njih svaki 23 bajt i formirao ispravan program.

Za čitav ovaj posao bilo je potrebno oko sedam dana, što nije malo. Zato sam smatrao da je OK ako ostavim neki trag: izbacio sam dve reklamne poruke koje se ispisuju na školskoj tabli i umesto njih ubacio dve lične poruke, koje verovatno znaju svi koji su igrali ovu igru. Najzad sam dodao nekoliko sopstvenih zaštita od analize programa, kako bih sprečio druge hakere da izbace ove poruke. Zaštite su, izgleda, bile dosta uspešne, jer je većina kopija koje su kružile po Jugoslaviji nosila moj potpis.

Koju godinu kasnije pojavio se novi dodatak za Spektrum – Multiface One. Kačio se na Spektrumov konektor i, pored ostalog, omogućavao da se pritiskom na dugme i sa zadavanjem nekoliko komandi na kaseti dobije verna kopija sadržaja memorije. Tako je svako mogao da iskopira bilo koji program. A što se traženja bezbroj života tiče, u naše krajeve je počelo da stiže sve više stranih časopisa u kojima su mogli da se nađu „poke-ovi“ za različite igre, koje su i domaći časopisi počeli da objavljuju. I tako sam ja postepeno prestao da se bavim hakerskim poslom, a onda sam napustio Spektrum i prešao na PC računare.

Stari Spektrum i dalje čuvam (imam ih tri komada), nisam imao srca da za male pare prodam deo svoje prošlosti. Zahvaljujući njemu sam se čak i upoznao sa suprugom, kada je došla da joj pomognem oko presnimavanja programa... Za presnimavanje današnjih programa se brine bezbroj CD klubova po gradu, varanja za skoro sve igre se mogu naći na Internetu a ponekad, kada mi baš zatreba, koristim program Game Wizard koji je zaista genijalno jednostavan za traženje života i slične trikove, ali samo za svoje potrebe... i potrebe svoje dece. Prosto mi je žao što takav program nije postojao u doba Spektruma.

Uostalom, moje vreme igranja prolazi – iako sam uvek bio dobar u mnogim igrama (čak sam pre oko godinu dana na Internetu dobio nagradu za igranje FreeCell-a – 176 rešenih partija zaredom), tamo gde je potrebna brzina polako zaostajem. Moj dvanaestogodišnji sin već počinje da me prestiže, iako mu ja to ne priznajem. Na primer, u igranju Z na dva računara vodi sa priličnom razlikom. Naravno da se ne žalim, to je normalno. Uvek stižu „neki novi klinci“...

Dugo toplo leto

Te godine leto je bilo skoro bez daška vetra i kapi kiše, idealno da se provede na plaži, u beskrajnom sunčanju i kupanju. Avaj, nisam bio te sreće, jer se upravo završila prva godina studija, pa je trebalo spremati ispite. Svi koji su ikada u životu preživeli predispitnu groznicu sećaju se koliko je prvi put sve teško: em ne znaš kako se uči, em tako debele knjige nikada nisi ni pokušao da savladaš, em stalno slušaš priče o profesorima (često preuveličane, ali ponekad i istinite) od kojih naprave monstrume koji za doručak jedu male, nevine studente...

Bilo kako bilo, tog leta smo, okupljeni u grupe, spremali ispite. Moji saborci, sapatnici i novopečeni drugari sa fakulteta bili su Igor, Saša i Zoran. Da stvar bude lepša, Saša je imao prazan stan, pa smo se „uselili“ kod njega. Učenje je bilo žestoko – radilo se svaki dan od 9 ujutro do 6 popodne, sa pauzom za ručak koja nije bila duža od pola sata. Posle rada trebalo se i odmoriti, a tu su nam u pomoć priskakali dva Dejana i Cvele.

Kako bismo olakšali sparinu, brže-bolje bismo se organizovali, istresli sitninu iz džepova i – trk po hladno osveženje u samoposlugu. Dok je jedna ekipa bila u radnji, druga je rasčišćavala sto u sobi i dobro mešala karte za partiju vista. Primetićete da u toj igri ima mesta za četiri igrača, a nas je bilo sedam – jedan nedostaje za turnir, pa smo odlučili da pobednik iz prve partije ostaje za stolom, a „uleću“ nova tri igrača. Sve bi bilo dobro da već prva partija nije počela da liči na kalemegdanski šah: kibiceri su u transu i ne mogu se suzdržati od komentara, pa igračima za stolom nije ostalo drugo nego da odlože karte i uključe se u „stručnu“ raspravu o tome koji je potez bio najbolji. Već posle nekoliko dana postalo je jasno da se nešto u toj koncepciji zabave mora promeniti. Srećom, stigao je spas u pravi čas...

Dejan (jedan od dvojice prisutnih) je imao Spektrum i to „frizirani“, sa boljim kućištem i „pravom“ tastaturom (verujem da među čitaocima ima i onih koji ga se sećaju). Odlučio je da od sledećeg dana računar postane naš redovni gost, kako bi kibiceri imali čime da se zanimaju. Iz trpezarije smo uzeli veliki RIZ-ov televizor sa ekranom od 60 i kusur centimetara, preneli ga u Sašinu sobu i postavili na radni sto udaljen tek nekih pola metra od kreveta. Kasetofon neophodan za učitavanje igara je našao mesto na podu, a Spektruma je igrač morao da drži u krilu. Nije baš udobno, ali ko je još mario...

Teško mi je da, petnaestak godina kasnije, pobrojim koje su se tu igre igrale – svako je imao omiljenu, a postojala su i pravila: odlučili smo da se na 30 minuta menja igrač, pa je svako imao šansu da se iskaže u umeću baratanja računarom. Uskoro smo na vist i zaboravili – umesto da se zabavljamo u velikoj dnevnoj sobi, svi smo se „spakovali“ u malu, tako da su tople noći postale još toplije: što od gužve koja se može meriti sa onom u autobusima gradskog saobraćaja, što od vreline koja je ulazilila kroz širom otvorene prozore. Bilo je važno što pre završiti igru, a noć i nije tako duga. Na svu sreću, nismo se igrali baš po celu noć: vreme za počinak je određivao Spektrum koji se, bez obzira na bolje kućište i „pravu“ tastaturu, pregrevao pre nas. Čim se to desi, mogli smo samo da ga isključimo i raziđemo se... do sledeće večeri.

Sve bi bilo u redu da nemirni duh nije tražio rešenje kojim bismo mogli da produžimo igru barem za neki sat. Sasvim slučajno, stigli smo na genijalnu ideju: koka-kolu smo hladili u zamrzivaču, pa je nekome pala na pamet ideja da, kad već ta sprava dovodi naše omiljeno piće na razumnu temperaturu, isti tretman može da pomogne i Spektrumu. Vispreni duh budućih inženjera dosetio se da je najveći problem mogućnost prodora vlage u računar, što bi ga trajno oštetilo. Zato smo osmislili hermetičko polarno odelo za Spektrum, pa je trebalo još samo vlasniku dokazati da je ono apsolutno sigurno. Njuškajući po ostavi, pronašli smo aparat za zavarivanje kesa i paket dovoljno velikih kesa u koje bi stao računar. Posle nekoliko neuspešnih pokušaja (poslu pakovanja zimnice, tražiranih polutki kupljenih preko sindikata i ostalim domaćinskim zanimacijama nismo bili vični), napravili smo paket koji nam se činio dovoljno sigurnim da ga stavimo u zamrzivač. U njemu, naravno, nije bio računar, već ogledni zamorčić: knjiga iz koje smo spremali ispit i par cigareta, za koje smo zaključili da će najlakše otkriti prisustvo vlage.

Konzilijum se spremio da, u kontrolisanim i objektivnim uslovima, izvede eksperiment, pa se paket za tili čas našao na ledu. Uzbuđeni, mi zbog realne mogućnosti da će eksperiment produžiti igranje, a Dejan jer postoji realna opasnost da ogled bude uspešan (kako posle reći drugovima da se i dalje ne slaže sa ponuđenim rešenjem?) vratili smo se u sobu i nastavili da rešavamo omiljenu avanturu. Tek nekome pade na pamet da upita: kada ćemo da izvadimo paket iz zamrzivača? Igor, najbolji matematičar među nama uzeo je olovku i brže-bolje počeo da računa, „ako je temperatura pregrevanja tolika i ako je gradijent promene temperature toliki...“

„Ma daj Igore, okani se toga“, povikali smo svi u glas i posle kratke diskusije, odlučili da je sat vremena sasvim dovoljno. Više niko nije ni pomišljao na igru i svi smo čekali da velika kazaljka obiđe puni krug. U tišini smo prišli zamrzivaču i polako otvorili vrata. Sa gornje police smo uzeli potpuno hladan paket koji je u dodiru sa vrelim vazduhom odmah počeo da se znoji. „Vlaga, vlaga...“ začuo se panični Dejanov glas. Jedva smo ga smirili i ubedili da se radi o spoljnoj kondenzaciji što je prirodni proces, uostalom nek pogleda svoju čašu koka-kole u koju je netom sipana čarobna tečnost – i ona se orosila.

Bilo kako bilo, vlasnik računara je ostao neumoljiv: vlaga se pojavila, makar i spolja, pa od smrzavanja Spektruma nema ništa. Sve do jednog dana kada je avgust odmakao, a s njime se i naše učenje približavalo kraju. Osim toga, u avanturi koja nas je okupirala bili smo nadomak rešenja i baš kada je trebalo da damo završni udarac igri, Spektrum je, sav vreo, počeo da otkazuje. Dejan u igračkom žaru, rešen da pre zore stavi tačku na „i“ povika: „Vadi kese i zavarivač!“ Tajac, niko ni da se pomeri, da li smo to čuli od vlasnika računara koji se protivio našem rešenju od pre skoro dva meseca?

Nije trebalo mnogo pa da se osvestimo i za tren oka pripremimo aparaturu. Spektrum se našao u kesi, više puta je provereno da li je sve hermetički zatvoreno i... pravac zamrzivač. Otkako smo računar stavili na led, vreme kao da je sporije teklo, a hrabrost smo počeli da zamenjujemo sumnjom: šta ako kesa popusti? Posle petnaestak minuta smo jednoglasno doneli odluku da se računar izvadi. Na Dejanovim dlanovima našao se dobro zapakovani i ohlađeni Spektrum, koji je još i radio. Začas smo povezali sve kablove, zadali završni udarac igri i razišli se na spavanje. Više nikada nisam pokušao ništa slično, ali ove priče se setim kad god počnem da montiram hladnjak na procesor...

Igre, mape i još po nešto

Sada već (barem računarski gledano) davne 1985. „prerastao“ sam Spektruma, sa koga je svakodnevna upotreba obrisala skoro sve oznake. Oni sa Komodorom 64 su sanjali da kupe C 128, a mi Spektrumovci smo čeznuli za Amstradom CPC, ako ni zbog čega drugog, ono da bi vlasnici C-64 prestali da nas potcenjuju zbog poznatog Spektrumovog ograničenja od dve boje po karakteru. Zbog toga su autori igara za Spektrum i morali da pokažu posebne veštine...

Novi računar, Amstrad CPC 6128 (to je onaj sa dvostranom 3-inčnom disketom od 170 KB) bio je podsticaj da, pored igranja i pisanja potpuno beskorisnih domaćih igara tipa „Ko nabije taj dobije“ (nabacivanje kolutova na štapove), počnem da radim nešto što mi se u to vreme činilo naročito korisnim: da pronalazim poke-ove za besmrtnost. Glavni disasembler na Amstradu, kao i na Spektrumu, bio je popularni MONS. Dok su CPC igre bile male, nije bilo problema, jer je i za MONS i za igrice bilo dovoljno mesta u memoriji. Iako je CPC imao 128 KB memorije (wow!), direktno se koristilo samo 64 KB, s tim što je 16 KB odlazilo na video memoriju, a još nekoliko kilobajta za sistemske vektore i razne bafere; za programe je ostajalo nešto više od 40 KB.

Kada su se pojavile nove, bolje igre, nastao je problem: u 40 KB nije mogla da stane i igra i MONS. Zato sam najpre učitavao igru, a onda nasumice MONS, u neki segment memorije daleko od ulazne adrese same igre. Onda sam izvršavao program korak po korak, pa ako tok odvede igru u segment memorije gde je učitan MONS, ponavljao postupak, učitavajući MONS na neko drugo mesto. Zabavno, nema šta!

Kasnije sam se dosetio trika, koji sam objavio u slovenačkom časopisu „Moj mikro“: učitam igru, a onda segment od 16 KB u koji ću učitati MONS prebacim u gornji deo memorije (gornjih 64 KB), pa kada je taj deo potreban, MONS prebacim „gore“, vratim 16 KB, pošaljem „gore“ novih 16 KB i konačno postavim MONS na novu lokaciju. Deluje komplikovano, ali da samo znate koliko je vremena uštedelo...

Ipak, ni to nije bilo finalno rešenje. Negde pred kraj 1986. nemačka firma Vortex predstavila je eksterni flopi disk drajv za CPC koji prima 5.25“ diskete, na koje se može snimiti čak 708 KB podataka. Čudo! Glavno čudo je, međutim, bilo u kertridžu koji je stizao uz Vortex i sadržao novi disk operativni sistem za Vortex drajv, ali i mali disasembler koji, pošto je već bio u ROM-u, nije trošio ni bajta dragocene memorije. Novi sistem rada je bio toliko udoban da mi nisu smetale čak ni poruke na nemačkom jeziku.

Sve ovo mi je otvorilo put za nove „igračke“ pobede. Nekako u to vreme je postalo naročito popularno opisivanje igara, uz koje će biti dato rešenje i, što je najvažnije, mapa za igru. Pošto nikada nisam imao strpljenja da prelazim igre koje su imale sve više i više soba, krenuo sam u „posao“ sa drugarom Duletom Kaličaninom, sada popularnim Techno VJ-em. On je prelazio igre i pisao rešenja, a ja pravio mape. Trebalo je napraviti program za štampanje sadržaja ekrana, a onda se takav program učitavao negde u „visoku“ memoriju (ne mislite valjda da se hi-mem pojavila tek sa PC računarima). Konačno, pokazivač na sistemsku rutinu za obradu pritisaka na tastere se preusmeravao na moj program koji je, u slučaju da je pritisnuta odgovarajuća kombinacija, štampao ekran. Dakle, Dule igra i čim uđe u novu sobu, pritisne odgovarajuću kombinaciju tastera i tako odštampa ekran. Slike ekrana smo slagali i lepili na hamer, pa onda nosili najpre u „Svet kompjutera“, a kasnije i u „Računare“.

Kako je vreme proticalo, igre su postajale sve komplikovanije, pa su autori počeli da zaobilaze sistemske rutine za rad sa tastaturom. Zbog toga sam opet morao da angažujem Vortex i pronađem mesta u programu gde se ispituje da li je pritisnut neki taster, pa da odatle „skočim“ na moju rutinu za štampanje ekrana.

I danas se sa zadovoljstvom sećam tih dana i čudim se koliko sam imao strpljenja da, kako bih našao POKE za neku igru, učitavam i resetujem igru i MONS na stotine puta. Ipak, vrhunac uzaludnog posla je bila igra koju sam pomenuo na početku – „Ko nabije taj dobije“. Nju sam izvorno napisao na Spektrumu, ali je naročitu popularnost stekla na Sajmu tehnike gde sam je, sedeći na štandu sa računarima „galaksija“, preradio za ovaj računar. Onda su me neki klinci ljubazno pitali da li ta igra radi i na drugoj „galaksiji“ pa sam je, u nedostatku kasetofona, otkucao i tamo. Onda na trećem računaru, pa na četvrtom...

Nedelju dana kasnije, u prostorijama firme „Lola računari“, gde sam bio na praksi, istu igru sam preradio za računar Lola 8. Dodao sam nivoe, sistem bodovanja i još mnogo drugih stvari. Nažalost, dotična Lola 8 je bila poluispravna, tj. nije komunicirala sa kasetofonom, pa igru nisam mogao da snimim. Posle nekoliko sati igranja, ljudi koji su radili u firmi su se setili kako da spreče gubitak dragocenog programa: našli su veliku kartonsku kutiju, napisali na njoj „ne gasi“ i stavili je preko računara. Posle je sve bilo u redu nekoliko dana, dok nije nestalo struje. A onda... pogađate, kucao sam igru iz početka, ali ovoga puta na Loli koja je imala kasetofon. Da ne pomislite da sam to radio iz mazohizma, bio sam „ucenjen“ od strane lokalnih inženjera da mi neće potpisati papire sa prakse ako opet ne budu imali „onu“ igru.

Onda je jednog dana na moj sto stigao prvi PC sa kojim smo, kobajagi, postali ozbiljni. Desetak godina kasnije, na PC-ju su procvetale igre – možda nije trebalo ni da prestajemo. Zato odoh da pokrenem Spektrum emulator i sa zadovoljstvom odigram Manic Miner-a...

Jedina akciona igra za TI-59

Navikli smo da za neki računar budu napisane stotine akcionih igara, a može se zamisliti i računar za koji uopšte nisu pisane akcione igre. Broj jedan zvuči prilično neobično ali je, sticajem okolnosti, upravo tako ispalo. Tek pišući ovaj tekst saznao sam zašto...

TI-59 je predstavljao vrh razvoja koji je firma Texas Instruments započela 1967. godine, osmislivši prvi džepni kalkulator na svetu. Već 1975. se pojavio SR-52, koji je omogućavao snimanje programa na magnetne kartice, da bi 1977. godine bio promovisan TI-59, sa (skoro) čitavim kilobajtom memorije i mogućnošću umetanja ROM modula sa programima dužine 5 KB. Programirao se na neobičnom simboličkom jeziku, koji je efikasno koristio memoriju, pa su u kilobajt mogli da stanu prilično složeni programi. Mnogi od njih su bile igre: od mastermajnda i nima, preko pokera i „čoveče ne ljuti se“ do, verovali ili ne, šaha. Dobro napisane igre primane su u oficijelnu biblioteku PPX (Professional Program Exchange) koju je vodio sam Texas Instruments, u nezavisnu biblioteku TI Software Exchange koju je u Belgiji vodio Thomas Coppens ili objavljivani u američkom časopisu TI PPC Notes, švedskom časopisu Programbiten, nemačkom časopisu Plewnia...

Igre su bile logičke, uz poneki pokušaj pisanja igara-avantura, čiju je karijeru ugrožavala činjenica da TI-59 na ekranu nije mogao da ispisuje slova. Akcionih igara nije bilo, i to iz opravdanih razloga: TI-59 u svakom trenutku može ili da izvršava program ili da čeka na korisnika – nema kombinacije ta dva. Ne postoji, dakle, ni najelementarnija forma multitaskinga: ako se program izvršava, na tastaturi možete da radite šta god hoćete ali program to neće konstatovati, osim u slučaju da pritisnete taster R/S (run/stop), koji surovo prekida izvršavanje. Ako se pak program ne izvršava, on ne može da meri brzinu vaše reakcije na nešto što se događa, a nedostatak časovnika koji bi bio dostupan programeru onemogućava uvođenje pojma vremena u igru. Sve u svemu, nema osnovnih uslova da se napiše igra koja zahteva brzo odlučivanje i delovanje, pa takve igre nije ni bilo...

Ideja da ne mora biti tako sinula mi je dok sam čitao tekst koji je novembra 1980. godine objavljen u časopisu TI PPC Notes (v5n7p11). Autor teksta, Martin Neef, izložio je neobično ponašanje pomenutog tastera R/S nakon što program korisnika pozove potprogram iz ROM-a. Recimo da se u programu nalazi sekvenca PGM 19 SBR 562, koje poziva 562. instrukcija potprogram broj 19 iz ROM-a i recimo da se tamo nalazi instrukcija RTN, koja odmah vraća kontrolu korisničkom programu. Ako se posle toga izvrši naoko besmislena sekvenca PGM 19 BST (BST je taster koji u programu nema funkciju, koristi se za listanje instrukcija u memoriji), kalkulator će zapasti u neobično stanje u kome pritisak na R/S neće prekinuti korisnički program, već započeti izvršavanje programa u ROM-u počev od sledeće (u datom primeru 563.) instrukcije.

Martin Neef je čitavu ovu analizu izložio pre svega kao neobično ponašanje kalkulatora, ali se pred mojim očima složila zgodna primena. Recimo da pronađem segment u ROM-u koji će počinjati naredbom RTN, iza koje će slediti niz instrukcija koje menjaju nešto što se kasnije može testirati i tek onda vraćaju kontrolu programu u RAM-u. Taj program bi mogao da se vrti u „beskonačnoj“ petlji mereći vreme, s tim da iz petlje izađe čim korisnik pritisne R/S. Eto načina da program primi barem jedan bit informacija od korisnika, a da se izvršavanje samog programa ne prekine. To bi moralo da bude dovoljno za neku moćnu akcionu igru, zar ne?

Traženje pogodne sekvence u ROM-u predstavljalo je veoma ozbiljan posao. Martinovo PGM 19 SBR 562 nije bilo upotrebljivo, jer se između instrukcije RTN i sledećeg povratka u glavni program nalazilo svega nekoliko naredbi. Zato je bilo gotovo nemoguće pritisnuti R/S dovoljno dugo da to kalkulator primeti, a opet dovoljno kratko da ga ne primeti još jednom, po povratku u glavni program, što bi izazvalo prekid njegovog izvršavanja. Zato sam počeo da analiziram programe iz ROM-a redom, jedan za drugim. Tražio sam RTN instrukcije, gledao sekvence iza njih, procenjivao dužinu, vreme izvršavanja, mogućnost povratka u glavni program... Ovaj poslednji uslov bio je najsloženiji: programi iz ROM-a su vrlo retko pozivali potprograme iz RAM-a ili ostavljali neke „tragove“ svog izvršavanja. Najzad, od dobrog potprograma se i ne očekuje da barata podacima ili flegovima koji su „vlasništvo“ glavnog programa.

Potraga je potrajala preko tri meseca (kako bi bilo lepo opet imati vremena za istraživanja zanimljivosti!), ali me za sve to vreme nije ostavljala nada da ću naći pogodnu sekvencu i napisati prvu akcionu igru za TI-59. Kockice su se najzad složile u martu 1981, a šifra je glasila PGM 09 SBR 058. Program broj 9 je računao vrednost određenog integrala, s tim što je korisnik zadavao funkciju koja se integrali u vidu kratkog programa. Na lokaciji 058 nalazila se instrukcija RTN, iza koje je sledio poziv nekog internog potprograma i onda naredba PGM 00 A’, koja poziva program A’ u RAM-u. Lepota je bila u onom internom potprogramu: poziv potprograma, desetak instrukcija koje su ga sačinjavale i povratak iz njega trajali su više nego dovoljna dva sekunda, pa nije bilo opasnosti da se pritisnuti R/S detektuje dva puta. Eto kako je povremeno korisno što je računar spor.

Prosto ne verujući u svoju sreću, odmah sam počeo da pišem program koji sam nazvao 5/10 Start. Bila je u pitanju igra u kojoj karte (dobro, brojevi) doleću u grupama – treba ih brzo primati ili odbacivati, tako da se dostigne tražena suma. Igra je, barem za moje standarde, bila veoma teška – tražila je brze reakcije, još brže sabiranje i solidnu taktiku, tako da sam postizao sasvim skroman skor; uostalom, nisam se preterano ni trudio da vežbam. U Klubu programera je primljena jako dobro, a neki maheri su postizali rezultate kojima sam se čudio, kao što se sada čudim kad neko otvori Minesweeper na Expert nivou za 90 sekundi (da nisam video svojim očima, ne bih poverovao). 5/10 Start je primljen u PPX i TI Soft biblioteke i čak je dobio nagradu za program meseca, a njegova pojednostavljena verzija je decembra 1981. objavljena u američkom časopisu TI PPC Notes (v6n9/10p31).

Uzalud sam se nadao da će se nakon ovog otkrića pojaviti niz akcionih igara za TI-59: tekst i program nisu izazvali baš nikakav odjek među programerima, a PGM 09 SBR 058 trik je korišćen još samo u mom programu TI-59 Supertest, koji je procenjivao koliko „igrač“ poznaje skrivene tajne svog računara (TI PPC Notes v7n9p8-11, septembar 1982). Nisam znao u čemu je problem: možda je moje objašnjenje bilo nejasno, ili tehnika nije delovala zanimljivo, ili je TI-59 već imao nepokolebljivu reputaciju „ozbiljnog“ računara... tek, akcionih igara nije bilo.

Epilog Pripremajući ovaj tekst, uverio sam se da je „PGM 09 SBR 058 pronalasku“ suđeno da bude ubistven po moje slobodno vreme. Posle skoro 20 godina, sećao sam se ideje, ali sam naravno zaboravio detalje. Ponovno čitanje teksta iz časopisa TI PPC Notes i pregled objavljenog programa samo su povećali zbrku: ni posle više sati analize, uz pozivanje svih sećanja o simboličkom jeziku TI-59 iz interne i eksterne memorije, nisam mogao da shvatim kako bi opisana sekvenca mogla da radi to što radi. Čak sam po Internetu tražio ime Martin Neef, nadajući se da ću naći sagovornika koji će se sećati ove teme; Martina sam najzad pronašao, danas je profesor na Univerzitetu u Kelnu (www.uni-koeln.de), ali njegova sećanja nažalost nisu bila od velike pomoći.

Otkrovenje je nastupilo narednih dana pošto sam, osećajući se kao da izlazim iz vremeplova, sklopio i aktivirao stari TI-59. Baterije su, naravno, odavno „pokojne“, ali sam se setio da se kalkulator može napajati i kroz štampač. Perfektno je funkcionisao, čak je i čitao magnetne kartice, ali se nije bilo lako setiti naredbe kojom se program iz ROM-a kopira u RAM (komanda je OP 09 – uh!). Posle toga sam za trenutak shvatio u čemu je stvar – urednik časopisa TI PPC Notes nije dobro razumeo tehniku, pa je u pratećem tekstu istakao pogrešnu sekvencu PGM 01 SBR 012, koja zaista postoji u programu, ali radi sasvim drugu stvar (briše niz sukcesivnih registara) – prava „čarobna“ sekvenca u tekstu uopšte nije ni pomenuta, što nažalost nisam primetio sve do danas. Tako sam, 17 godina kasnije, saznao pravi razlog zbog koga je lista akcionih igara za TI-59 ostala samo na jednom slovu...

Igre na mobilnom hardveru

Bilo jednom jedno vreme kada su računari predstavljali čudo i kada čak ni igre nisu uspevale da nas odvoje od dubljeg upoznavanja računarskih prostranstava koja su se, tako iznenada, mučki i bez najave, pojavljivala negde sa strane. „Atomski s desna“ zbrisao je naše ranije hobije, zagolicao maštu i napravio od nas zavisnike koji su, opuštene brade, krenuli za novom „malom iz inostranstva“. Kao i svaka ljubav, i ova je ozbiljno udarala na budžet – što planirano, što neplanirano...

Imao sam sreće da za prvi računar izaberem Acorn BBC, tada ne naročito rasprostranjen kod nas. Bila je to lepa mašina sa 32 KB RAM-a, mogućnošću jednostavnog dodavanja diskova i priključenja na RGB monitor. Tako sam vrlo brzo preskočio period neprikosnovenog kasetofona i osetio prednosti novih medija – diskete i boje. Odmah je počelo „bibliotekarenje“: skupljalo se i razmenjivalo sve i svašta, a posebno igre koje su najbolje prezentovale prednosti BBC-ja, dakle jarke boje i dobar zvuk. Diskete od 2×200 KB, ukrašene raznobojnim nalepnicama, samo su se množile. Kako Interneta tada nije bilo, kontakte smo uspostavljali dopisujući se klasičnom poštom sa istomišljenicima u svetu (naročito je dobro radio „kanal“ sa Maltom) i tragajući za domaćim BBC-jevcima posredstvom časopisa „Računari“. Za mnoge igre se moralo posegnuti u novčanik, odnosno uplatiti odgovarajuća suma, pa posle čekati paket na pošti 6, izbegavajući nesiguran i podozriv pogled carinika.

Moje najomiljenije igre bile su Chuckie Egg, Repton i Elite – sve tri su dobro demonstrirale kvalitetan softver tog vremena (nedavno sam naišao i na PC verziju Chuckie Egg-a, koja me je veoma obradovala, bez obzira na Quake eru u kojoj trenutno živim). Iako današnji prikazi u retrovizorima izgledaju bolje od čitavih nekadašnjih igara, osamdesetih godina su i neobojeni žičani 3D modeli brodova bili impresivni. Primereno tadašnjim mogućnostima, fokus nije bio samo na akciji, već i na trgovini sa drugim galaksijama. Nekako u to vreme stigao je i Aviator, čuveni simulator letenja za BBC. Bio je to prvi program koji je kupljen na disketi, pa je bilo povuci-potegni da se naprave „backup“ kopije, ali je posle višednevnog rada i taj „problemčić“ savladan, pa sam bio u prilici da vozim ovako potpuni simulator čak i pre Zorana Modlija (istina, znatno lošije), pa čak da se i usudim na finalnu avanturu, prolet ispod mosta. Kako sam igru kupio, imao sam i pilotsku kartu koja je letu davala poseban štimung i značaj.

Iako Aviator nije postigao slavu Elite, pomama za njim se u krugu mojih prijatelja širila veoma brzo. Nabavljali su se novi BBC računari i Electron-i (slabija verzija BBC-ja), dok su „letovi“ organizovani u probranom društvu; dok bi neko savladavao duge deonice i tragao za mostom, ostali su prekraćivali vreme pričom, zanovetanjem, roštiljem na terasi ili „pomfritom ala Balinda“. Pojavile su se i prve igre za dva igrača na istoj mašini, recimo borba aviona-dvokrilaca i Civil War, daleka preteča današnje „Civilizacije“, u kojoj su prvo jedan, pa zatim drugi igrač raspoređivali svoje armije po terenu, da bi nakon toga počinjao okršaj koji je vodio uništenju protivničke tvrđave. Ne treba ni spominjati šta je kasnije umrežavanje RS-423 kablom donelo našoj kolektivnoj zanesenosti i noćnim seansama. Postojao je samo jedan problem: trebalo je na isto mesto doneti dva BBC-ja.

Noćni život i prenos opreme nesigurnim taksi vozilima zahtevao je mobilnost koja tada nije bila baš uobičajena. Da bi stvar bila komplikovanija, upravo sam u bratskoj razmeni dobio novi radni sto sa rolo poklopcem; nekada su takav nameštaj koristile dokone frajlice kako bi pečatile ljubavna pisama, a meni su gornja ploča i bezbroj pregrada poslužile za mali TV prijemnik, literaturu i diskete. Nevolja je bila u kablovima koje je trebalo provlačiti kroz „leđa“ stola, do razvodnika na zidu. Iako je stilski sto ubrzo dobio upadljivu rupu na poleđini, čime su kablovi delimično skriveni od pogleda, prenošenje računara je zahtevalo pomeranje stola, a kasnije ponovno sklapanje sistema i beskonačno provlačenje žica. Tako sam i odlučio da kabasti BBC pretvorim u mobilni računar, sasvim u skladu sa tehnomanskom željom da sve vrvi od elektronike.

Zadatak sam, pogađate, poverio glavnom inženjeru bez portfelja – sebi. Projekat sam počeo da razrađujem na papiru, paralelno prikupljajući potrebne delove. Isplanirao sam da se sa prednje strane „leđa“ stola, dakle okrenuta korisniku, nađe kutija sa kontaktima u koje bi se uključivalo napajanje kompjutera, napajanje dva Cumana flopi diska, koaksijalni kabl za vezu sa televizorom kao i napajanje Epson RX matričnog štampača. Epson, istini za volju, nije morao da bude mobilan (mogli smo se sasvim lepo igrati i bez njega), ali je prevagnula želja da projekat bude sveobuhvatan, čime je dobijao na značaju i trud koji sam bio spreman da uložim. Sa druge strane „leđa“ stola (prema zidu) nalazila bi se slična kutija, spojena sa prvom odgovarajućim kontaktima, a kabl iz nje bi vodio do utičnice na zidu. Konstrukcija je dodatno opterećena potrebom za provođenjem kontakta niskog napona (za telefonsku liniju), kao posledica fiks-ideje drugog genijalca (kolege) koji je radio na projektu primitivnog modema.

Tako su kompjuterske igre, barem što se nas dvojice tiče, potisnute u drugi plan, a hobistički đavolak je počeo svoju igru. Ubrzo se, kao bočna grana računarstva u povoju, pojavilo metalostrugarstvo (pravljenje kostura kutijica), zavarivanje, bušenje i, naravno, kabliranje. Umalo da zaboravim „nebitni“ podatak da se elektronikom do tada nisam bavio – zamena osigurača licnom i čišćenje glave kasetofona bilo je vrhunac mog iskustva. Ipak, volje i želje da sebi priuštim kakav-takav komfor bilo je i previše.

Tokom rada na projektu ovog transparentnog „provodnika“ rađale su se brojne ideje. Zbog bržeg priključivanja i rasklapanja kontakti su izvedeni uz pomoć jednopolnih banana utikača, dok su na ženskoj strani (na kutiji) postavljene buksne, pa je uspostavljanje kontakta ličilo na rad operatera na starim telefonskim centralama. Izbor utikača je bio prilagođen i običnim zidnim utičnicama prijatelja koji nisu imali u planu ovakav docking station. Nešto novo se moralo primeniti i kod povezivanja koaksijalnog kabla na televizoru: smatrao sam da će biti lepše ako obične antenske džekove zamene BNC konektori, a modemski (telefonski) kabl završio je u koaksijalnom džeku, koji se obično koristi na slušalicama.

Posao je odmicao sporo, jer je zbog brojnih i malih komponenti bilo dosta lemljenja. Ipak, ni jednog trenutka nisam pomislio da ovako jednostavna zamisao može proizvesti neki problem – najzad, samo provlačim žicu kroz dasku... uz poneku komplikaciju. Ipak, pošto je deo prednje ploče na kutiji ostao neiskorišćen, uveo sam peščani osigurač sa kućištem oblika poklopca na penkalu, tek da popuni rupu. Provodljivost kontakata sam proveravao glimericom, dok je izolaciju prema gvozdenom kućištu garantovao dovoljan broj kružića od žutog voštanog kartona, koji su pojedini delovi već imali na sebi.

Došlo je i vreme za generalnu probu uređaja. Posle toliko umovanja i nestrpljenja da se posao privede kraju, nisam ni razmišljao o logičnom redosledu puštanja u rad, pa sam najpre priključio kompjuter, diskove i antenu (sa prednje strane) a onda, sa zadnje strane, utakao utičnicu u zid. Prigušen zvuk i malo dima koji se ubrzo pojavio nisu odgovarali ovako velikoj zamisli. Nažalost, više nisu odgovarali ni Cumana diskovi, kao ni sam BBC (srećom, Epson u prvoj turi nisam priključio jer me je mrzelo da ga nosim do stola). Nakon povratka kablova u pređašnje stanje, zebnje su se potvrdile: kompjuter i diskovi se nisu odazivali, a ni televizor nije funkcionisao. Očigledno je neki kratak spoj, preskočivši „znalački postavljen“ osigurač, uradio svoje. Kasniji pregled „crne kutije“ nije mnogo pomogao, jer su prekinute žice i istopljena plastika onemogućili stručnu „obdukciju“.

Serviser me je „utešio“ činjenicom da je iste te 1986. godine došlo do velike havarije nuklearne centrale u Černobilju i eksplozije najsigurnije rakete „Delta“, koja je uništila Spejs Šatl, tj. da i „veći igrači“ od mene umeju da pogreše kada se radi o hardveru. Onda je prionuo na posao: uspeo je da spase samo jedan disk, a drugi mu je ostavljen kao izvor rezervnih delova, dok je TV aparat, verovatno zahvaljujući dobro postavljenom internom osiguraču, ipak popravljen. Nekako je „zalečen“ i kompjuter, ali sam ga brzo prodao, sa kompletnom dokumentacijom i softverom – tadašnji fetiš prema hardveru nije dozvoljavao posedovanje opreme koja je u bilo kom smislu felerična.

Avantura koja je na neko vreme onesposobila moj računar doprinela je „odsustvovanju sa terena“, a onda i prestanku aktivnog igranja. Na „igračkim seansama“ sam se dugo pojavljivao samo kao posmatrač, da bih posle nekoliko meseci, sa novim entuzijazmom, krenuo u PC svet, čuvajući običaj „trezvenog“ spajanja noći i dana. Žao mi je što nisam zadržao BBC koji bi kasnije dobro došao i mojoj deci. Na to sam pomišljao kad god bih, odlazeći sa njima kod kuma, obezbeđivao pola sata mira i uspomena, a deci vremeplov igara, puštajući ih da „šetaju Reptona“ po ekranu BBC računara.

Što se mene tiče, PC igre me nekako nisu privukle. Ponekad se dohvatim onih jednostavnijih kao što je Tetris, a rado se pridružujem i razuzdanim Quake-ovcima u mrežnoj igri moje Redakcije. Majstorijama, srećom, ne moram da se bavim, jer je kompjuterska konfekcija preplavila naše prodavnice. Dobro je što je tako, jer ko zna kakva bi havarija nastala kada bih poželeo da svoj PC pretvorim u notebook...

Kockale se delije...

Jedva da su prošle tri godine otkad smo se razmileli po Internetu, a već se osećamo kao da smo oduvek živeli s njim. Uspostavljen je i privremeni bonton: neka pravila ponašanja na Mreži se već podrazumevaju, a neka zakonodavci tek treba da definišu. Recimo, treba li legalizovati prisustvo pornografije i kockanja? Prva od njih već dobija listu ograničenja, a oko druge se još uvek lome koplja...

Protivnici kocke na Mreži su izneli svoje argumente koji bi trebalo da ubede zakonodavce da zabrane korišćenje Interneta od strane kockarskih kuća. Stvar je prosta: kompjuteri varaju u igri! Dilema je postala aktuelna pojavom Interneta, ali je kod nas postojala i pre desetak godina. Radi se, pogađate, o kockarskim mašinama.

Još od pojave takozvanih „poker-automata“ kod nas, teško mi je bilo da se pomirim sa činjenicom da ljudi dolaze i kockaju se sa kompjuterom, mada dobro znaju da on „vidi karte“ koje igrač ne vidi i da je programiran tako da jedino vlasniku donosi sigurnu zaradu. Paradoks je očigledan: kompjuter vara, igrači to znaju, i opet se otimaju da bi stavili i poslednju paru na kocku!

Kad sam prvi put video kockarski automat, naivno sam verovao da niko neće pristati na takvu igru. Ubrzo sam priznao da sam pogrešio u proceni, ali ni do dan-danas nisam uspeo da proniknem u način razmišljanja čoveka koji pristaje na ovakvu vrstu kocke. Zato sam se našao u posebno konfliktnoj situaciji kada sam dobio projektni zadatak da razvijem hardver i softver za jednu takvu igru.

Najdelikatniji deo projekta bio je algoritam po kome će mašina „varati“. Najpre sam se angažovao da proniknem u način na koji to rade postojeće poker-mašine. Rezultat „istrage“ je sledeći: program najpre, u zavisnosti od stanja svoje (vlasnikove) „kase“, odlučuje da li će dati dobitak. Ako u njoj ima više novca nego što je predviđeno, uposliće generator pseudoslučajnih brojeva i eventualno se opredeliti za neki od dobitaka. Onda vrši preliminarnu proveru, pa ako utvrdi da bi taj dobitak doveo do neplaniranog pražnjenja kase, poništava odluku i ponavlja postupak. Tek kada pronađe pogodan dobitak, program odlučuje koje karte će dati igraču. Ceo postupak je, dakle naopak: karte se dodeljuju na kraju, tako da se igra svodi na iluziju.

Posebno je zanimljivo posmatrati igrače dok pokušavaju da „dupliraju“ dobitak: na ekranu se pokazuje karta okrenuta naopako, a igrač treba da pogodi da li je ona manja ili veća od sedmice; ako pogodi, udvostručiće dobitak, a u suprotnom će ga izgubiti. Igrači se koncentrišu, dodiruju ekran prstima i pokušavaju da „osete“ koja je to karta, ne znajući da ta karta još ne postoji, čak ni u registrima mikroprocesora. Postoji samo gotova odluka da li će mu se dozvoliti da duplira dobitak ili neće. Zato je potpuno svejedno da li će se opredeliti za taster „veća“ ili „manja“... od samog njegovog izbora zavisi koja će se karta pojaviti. Igrač se, kada izgubi, nervira i često uz psovku komentariše „a hteo sam da pritisnem...“ Kako da mu objasnim da bi ishod i u tom slučaju bio isti? Ne bi me ozbiljno shvatio...

Nisam mogao da se pomirim sa ovakvim pristupom, pa sam se opredelio za drugačiji metod: uređaj igra „pošteno“ sve dok time nije ugroženo stanje kase. Karte se, korišćenjem generatora preudo slučajnih brojeva, dele „iz špila“, a program, mada ih još uvek ne pokazuje, na osnovu pošteno podeljenih karata utvrđuje koji dobitak je ostvaren. Ako je stanje kase ugroženo (dobitak je previsok), sve se briše i započinje ispočetka. I dalje nije pošteno, ali je ipak bliže pravoj igri.

Učinilo mi se da će i taj algoritam biti suviše očigledan za igrača, koji bi prostim praćenjem stanja kase mogao da predvidi kada će mašina dati dobitak, pa sam odlučio da ga „umekšam“ i, u zavisnosti od stanja kase, uvedem čitavu skalu verovatnoće dodeljivanja dobitka, čak i uz opasnost da vlasnik automata uđe „u minus“. Konsultovao sam naručioca koji mi je odmah rekao da sam „precenio igrače“, ali se ipak složio: kad se već kockaju posetioci, pošteno je da se makar malo kocka i vlasnik. Jedini zahtev je bio da ne dozvolim da njegov gubitak bude previsok.

Rezultat je bio katastrofalan: „moj“ automat je, posle promotivnog postavljanja, ostvario tragičan minus. Čim mi je to javljeno telefonom, dojurio sam ubeđen da ću pasti u nemilost kod ljudi sa kojima inače nema šale. Sa vlasnicima lokala sam došao do automata, uključio ga (u međuvremenu je, iz razumljivih razloga bio isključen) i sa nevericom gledao bilans na ekranu. Mora biti da sam pri tom izgledao tragično, jer su gazde počele tako da se smeju da sam se osećao kao poslednji idiot. Izvadio sam mikroprocesorsku ploču i rekao sam da moram da je odnesem da bih video gde je greška.

Ubrzo sam zaboravio na fer-plej, preuredio algoritam i vratio prototipsku ploču u automat. Teško mi je da opišem kako sam spavao sledećih dana i kako sam se trzao na svako zvono telefona, u strahu da mi je promakao još neki bag. A bilo ih je! Još nekoliko puta su me zvali zbog „minusa“, svaki put sam valjda ispadao smešan, što je njih zabavljalo i zasmejavalo... Tek kasnije, kada smo uspostavili međusobno poverenje i slobodnije razgovarali o svemu, postalo mi je jasno zašto ih nisu pogađali gubici zbog kojih sam dobijao aritmiju. Prvi razlog je taj što je za posao dobro da povremeno neki igrač dobije dosta novca, jer se to raščuje i privuče ostale igrače. A drugi leži u prostoj činjenici da su profiti na ovim automatima (barem tada) bili takvi da se gubici kao od šale pokrivaju.

Jedan od vlasnika ovakvih automata se nešto kasnije, u danima najveće krize, rata i hiperinflacije, posebno „proslavio“ po demonstraciji svojih prihoda, ali i svog neukusa. Često bi svraćao u restoran i častio ručkom i pićem sve goste koji su se u tom trenutku zatekli za stolovima, a onda je posebno naručivao gomilu pljeskavica da bi njima počastio svakog psa-lutalicu koji bi prošao kraj restorana. Mislim da su mu najinteresantnije bile reakcije prolaznika, koji su povremeno bili gladniji od tih pasa. Uz takav način gledanja na stvari, jasno mi je zašto mu nije bilo teško da pokrije gubitak, kad je zauzvrat mogao da se zabavlja gledajući moju zbunjenu facu...

Prve daljinske igre

Počeci modemskih komunikacija se kod nas vezuju za 1989, kada je osnovan Sezam, ali je i ranije bilo pokušaja o kojima se malo zna. Ova priča vas vodi u proleće 1987, kada je situacija u zemlji i dalje bila stabilna (prva velika inflacija se tek pripremala), dok se inicijativa budila iz četrdesetogodišnjeg sna. Bio sam pripravnik u velikoj društvenoj firmi (tada drugačijih firmi nije ni bilo) koja je tragala za mogućnostima ekspanzije u domenu modernih tehnologija. Jednog dana mi je direktor, koji se upravo vratio sa studijskog putovanja po Engleskoj, naložio da ispitam mogućnost komunikacije modemom i višekorisničkih igara, koje su tada u Engleskoj bile u ekspanziji i kojima je proricana blistava budućnost. Direktor je, primećujući veliki uspeh lotoa i tombole, pomislio da bi ljudi bili spremni da kupuju kompjuterčiće za igre koje bi naša firma prodavala. Sve to je osmotrio u Engleskoj, ali mu mnogo štošta nije bilo jasno, pa mi je naložio da ispitam stvar i podnesem izveštaj.

Na mom stolu ubrzo se našao poslednji krik mode, AT sa 300 bps modemom. Posle bezbroj pokušaja ustanovio sam da taj modem uopšte ne odgovara britanskim standardima i da je neupotrebljiv, pa sam trebovao i (posle mesec dana čekanja) dobio modem sa oznakom 1200/75 – brzina prijema podataka bila je fantastičnih 1200 bita u sekundi, a slanje je teklo brzinom od samo 75 bps; eto začetka asimetričnih 56K modema. Trebalo je sve konfigurisati, instalirati moćan komunikacioni program Kermit i pobrinuti se za pristup britanskoj mreži Micronet, tj. pronaći Engleza koji će se učlaniti i plaćati dve funte za svaki sat moje igre. Ovo poslednje je predstavljalo problem – firma je imala saradnike u Britaniji, ali su oni bili dovoljno stari i dovoljno nezainteresovani da nisu uspevali da shvate šta se traži. Najzad mi je sin jednog od njih pomogao i... stiglo je korisničko ime i lozinka. Sve je, dakle, bilo spremno da se, zajedno sa mnogo iskusnijim kolegom, upustim u avanturu.

MUD (Multi User Dungeon) me je dočekao neobičnim ekranom na kome su se pojavile zagonetne dnevne novosti: pročitao sam da se severno od veštičjeg odmarališta sada nalazi puteljak koji vodi u vinski podrum, ispod koga je nekakav PSANTATER. Bilo je tu i drugih sličnih stvari koje mi nisu ništa značile, pa sam odmah izabrao opciju za uključivanje u igru. Našao sam se u sredini nekakve pustare koju je računar prilično precizno opisao, rešio neki sitan problem i pošao na sever, usput pronašavši dva zlatnika. Ispred mene se našao bunar u kome je čamio prolaznik čije je korisničko ime Kevin, čiji je status experienced i koji sa sobom nosi dva blaga, mač i 40 zlatnika (ovo su informacije koje računar ispisuje čim nekog sretnete). Kevin me je zamolio da ga izvadim iz bunara što sam, uz malo teškoća, i uradio (trebalo je otkucati come near well, give hand to Kevin, pull Kevin out). Mislite da je bio zahvalan? Taman posla – napao me je mačem, oduzeo mi ona dva zlatnika i bacio me u bunar.

To me je naučilo da nepoznata lica ostavljam u bunaru, ali mi nije pomoglo da saznam šta čovek radi kada upadne u bunar. Probao sam da se popnem (računar je rekao da nemam merdevine), da iskopam tunel (nemam ašov), da skočim (to je uspelo, ali sam opet pao u bunar) i da poletim (računar je rekao da sam quite mad). Taman sam odlučio da se izlogujem i počnem novu partiju, kada je u moj bunar upala Evelin, početnica bez para. Započeli smo laku konverzaciju pa sam ispričao šta mi je Kevin uradio i dobio kompliment da sam lud (to sam, zahvaljujući pokušaju da poletim, već znao), jer je trebalo da pronađem kamen, onesvestim Kevina i uzmem mu sve pare koje je imao. Naučio sam, osim toga, da ne treba nikome pomagati dok se sa njim ne postigne sporazum, ali mi ni do danas nije jasno kako da obezbedim da se taj sporazum i poštuje. Evelin mi je rekla da je nju u bunar „šutnuo jedan gad“ i predložila da probamo da se iskopamo napolje. Prirodno je da sam pristao, ali stvar nije bila jednostavna: solidno se snalazim sa engleskim, ali me nikada nisu naučili kako se razgovara o „lopovskim merdevinama“ i izlaženju iz bunara! Evelin je najzad shvatila da je u bunaru sa nekakvim glupim strancem, pa mi je ispričala šta treba da otkucam i tako smo se izbavili.

Moja saputnica je bila mnogo zainteresovana za Kevinove zlatnike, pa smo odlučili da pojurimo za njim. Pokazalo se da je Kevin predaleko, ali smo pronašli grad i u njemu pet-šest igrača sa kojima sam razgovarao (uglavnom sam susretao početnike – u gradu nisam naišao ni na koga ko bi imao rejting veći od experienced). Svi su mi predlagali razne vidove saradnje koje uglavnom nisam shvatao – da biste se snalazili u MUD-u, treba da upoznate mnogo lokalnih imena gradova i osoba, što je prilično teško bez knjižice koju dobijate kada uplatite pretplatu. Uspeo sam da prokljuvim da „građani“ spremaju neku komplikovanu zaveru čija bi žrtva bio jedan od komšija koji ima rejting čarobnjaka – to je, uzgred budi rečeno, najviši rejting, s tim što se igračice koje ga dosegnu zovu veštice. Docnije sam, u uvodnim „vestima“, saznao da je urota propala, pa je čarobnjak zaverenike pretvorio u razne životinje.

Na izlazu iz grada sustigao me je takozvani reset, veliki događaj koji nastupa približno jednom na sat. Naime, da biste rešili razne probleme koje igra postavlja, treba da prikupite neke objekte, ali se vrlo često dešava da su za rešenje neke zagonetke potrebna dva objekta koja ljubomorno čuvaju dva igrača. Zato s vremena na vreme igračima predmeti bivaju oduzeti i vraćeni na početna mesta. Tada nastupa trka – igrači se lome da prikupe predmete i reše zagonetke. Pošto nisam imao pojma gde će šta da padne (MUD se sastoji od 25.000 lokacija!), nisam prikupio ništa, pa mi je ostalo samo da gluvarim unaokolo. Glavni se razgovori obavljaju u baru, ali vas odatle izbacuju ako nemate para da platite piće; uspeo sam da zapodenem razgovor sa nekim „kaubojem“ koji je bio toliko zabezeknut činjenicom da sam stranac da je pristao da mi plati viski. Ljudi su uglavnom bili zagrejani za igru ali su se žalili da su iskusni igrači pokupili sve što je vredno i da danima ne mogu da pronađu nikakvo blago – igra se, kažu oni, svodi na pijuckanje u baru, čekanje reset-a i veliku trku.

U jednoj od kasnijih partija sam prisustvovao ulasku čarobnjaka u bar. Dočekan je sa velikim poštovanjem, jer igrač tolikog rejtinga ima veoma velika prava: ne samo da može da pretvori nekog drugog u životinju ili da ga privremeno parališe, već mu je omogućena i dogradnja igre. Čarobnjak, uz određeni utrošak energije, može da prokopava prolaze, gradi nove odaje ili kuće i tako menja strukturu MUD-a. Tvorci igre su se pobrinuli da čarobnjak bude destimulisan da ubija obične igrače (u protivnom bi svi začas stradali) ali i vrlo stimulisan da im prodaje svoje usluge – igrači mu daju zlatnike a on menja igru prema njihovim potrebama. Šta će čarobnjak da radi sa parama koje zaradi? Treba mu, pre svega, mnogo hrane, pošto prekopavanja MUD-a troše silnu energiju. Zlatnici se, osim toga, troše i za ratovanje sa drugim čarobnjacima; ovi su ratovi vrlo komplikovani, traju (uz prekide) danima pa čak i mesecima i pobedniku donose mnogo novca, dok poraženi može da bude degradiran.

Posetioci saluna su navalili na čarobnjaka sa raznim zahtevima, koje je on vrlo poslovno ispunjavao i naplaćivao. Saznavši da sam stranac, ponudio se da mi učini neku uslugu i to potpuno besplatno (drugačije nije moglo, jer para ionako nisam imao). Setio sam se dragog Kevina i tražio od čarobnjaka da me prebaci do njega. Zahtev je bio prilično čudan (shvatio sam da su igrači obično daleko manje osvetoljubivi) ali ga je Nemeth ispunio poklonivši mi jednu čaroliju. Našao sam se u podzemnom tunelu (40% MUD-a se događa pod zemljom) i u susednoj prostoriji pronašao neprijatelja koji se upravo borio sa trolom. Odmah sam bacio kletvu na Kevina koji je pao paralisan, dok je trol nekuda odlutao. Slabo sam prošao sa krađom njegovog blaga jer je većinu dukata potrošio, pa sam krenuo u potragu za izlazom iz podzemlja. Mimoišao sam se sa nekoliko igrača koji nisu bili raspoloženi za razgovor, borio se sa patuljkom i najzad zaključio da je vreme da završim partiju.

Isprobao sam i Shades, manju igru sa „samo“ 12.000 lokacija, kojoj istovremeno može da pristupa svega 12 igrača i to „po milosti“ časovnika: Prestel stranici 81188, koja je vodila do ove igre, moglo je da se pristupi samo posle 15 časova, ili kada sistem nije opterećen. Svaki minut igre koštao je 1.6 penija, ali mi se učinilo da Shades početniku nudi mnogo više: začas sam pronašao dva blaga i odneo ih na cilj (blago koje pronađete treba da bacite u vulkan – vrlo inventivno!), ali sam onda došao do reke koju nikako nisam uspeo da pređem. Sa druge strane su bili neki ljudi sa kojima sam pokušavao da se sporazumem, ali je računar ispisivao tek svako drugo ili treće slovo, uz komentar da su sagovornici daleko, pa ih slabo čujem. Za stranca je ovakav enigmatski engleski nepremostiv problem.

Po ugledu na MUD, Shades s vremena na vreme resetuje igru – dok sam se motao oko reke, s neba je pala čaša koju sam, naravno, pokupio. Šta biste vi radili sa čašom? Ja sam pokušao da pijem iz reke, ali mi je voda presela: računar je napisao da voda dolazi sa planete Zemlje i da je zbog toga teško zagađena, pa mi je „pripala muka“ i ubrzo sam „pušten niz rijeku“...

Malo je nedostajalo da mi ta zagađena zemaljska voda presedne i u realnom životu: sledeće dane sam proveo eksperimentišući i pišući izveštaj, a onda je došao prvi u mesecu, plata i telefonski račun. Ne sećam se koliki je račun bio, ali sam dobro zapamtio kako se čitav establišment digao na mene. Sam iznos nije bio nešto što firma ne može da plati (oprema je koštala više), ali je baš nekako u to vreme trajala redovna kampanja protiv izdajnika i zlomislitelja koji „privatizuju telefone i troše teško zarađena sredstva radnih ljudi i građana na privatne razgovore sa rodbinom u inostranstvu“, pa sam im ja zgodno „stao na penal“. Morao sam da pišem izjave, da se pravdam, pozivam na nalog direktora (koji me je, moram priznati, štitio koliko god je mogao, a da ne ugrozi sebe) i posipam pepelom, pa je najzad došla neka druga afera, a moj telefonski račun pao u zaborav. Ipak, nikome više nije padalo na pamet da razmišlja o „modemskim igrama“ i prilika je nepovratno ispuštena... ostao mi je samo opširan izveštaj koji je 12 godina čamio na nekoj disketi od 360 KB. Sada je, na moje iznenađenje, dočekao da bude objavljen kao priča. MUD mi je toliko preseo da slične avanture nikada nisam igrao, čak ni posle pojave Interneta. Ipak, mislim da one predstavljaju sjajnu ideju: nikakav generator slučajnih brojeva ne može da proizvede likove toliko pametne, glupe, dobre, podmukle i, naročito, raznovrsne kao što su ljudska bića. U višekorisničkoj avanturi možete da živite u skladu sa svojim karakterom i da postižete stvari koje vam izgledaju vredne; opšti cilj često nije propisan, a razvoj događaja zavisi kako od vas, tako i od drugih ljudi. Zvuči poznato, zar ne?

Igre u računskom centru

Nikada nisam bio pasionirani igrač na računaru, možda zbog toga što nisam nabavio svoj prvi kompjuter kad je trebalo. Kasnih osamdesetih sam, kao valjda i svi ostali zainteresovani za tehniku, često provodio dane i noći kod srećnijih prijatelja koji su za vikend imali prazan stan, Spektrum i gomilu kaseta sa igrama, a nisu imali devojku koja bi im pomogla da na bolji način iskoriste prvi deo tog bogatstva (ne kažu uzalud da devojka i računar ne idu zajedno). Nažalost, u tom takmičenju u nespavanju, slušanju tihe muzike (slušali bismo i glasnu, da nije bilo komšinica – tužibaba), pijenju vinjaka, pušenju „žute Drave“ i igranju na računaru nekako sam uvek loše prolazio: dim me je gušio, vinjak i nespavanje kod mene nisu išli zajedno, a u kompjuterskim igrama sam najčešće zauzimao prvo ili drugo mesto... ali otpozadi. Kada je jednom na žurku banuo nekakav totalni dunster za kompjutere koji je, zamislite jeresi, čak studirao društvene nauke, pa me do nogu potukao u „razbijanju zida“, zaključio sam da igre nisu za mene i počeo da ih zaboravljam...

Ipak, igračka groznica me je najzad sustigla, i to tamo gde joj mesto nije: u hramu nauke, tj. računskom centru fakulteta koji sam studirao. Fakultet se tih godina modernizovao i nabavio pravi, veliki računar (doduše zvao se miniračunar, ali to niko nije pominjao), VAX 11 firme DEC. Uz računar je instaliran i solidan broj terminala, što je bilo dovoljno za „igre bez granica“ – nije mnogo smetalo što su terminali bili tekstualni i crno-beli. Nažalost po nas studente, igre su bile rezervisane za one koji su se igrali u radno vreme, za platu, tj. za programere i operatere. Ubrzo posle instalacije računara pokrenut je sistem za „naplatu“ usluga, koji je bio organizovan tako da na početku školske godine svako dobije po nekoliko miliona tadašnjih dinara na računarskom nalogu, pa mu se onda za svaki procesorski sekund, upis na disk ili štampanje odbija po neka suma. Kada nestane para, nema pristupa računaru. Davno je to bilo pa se ne sećam detalja, ali mi je ostao utisak da smo dobijali para jedva koliko je potrebno da se urade vežbe ili semestralni radovi – za dodatak je trebalo danima obigravati upravnike, dekane, prodekane, sekretarice... Simbioza birokratije i računara je najcrnja mora dvadesetog veka.

Zaposleni u računskom centru dobijali su nula računarskih dinara, ali su imali pravo da idu u minus, što znači da im je pristup računaru bio neograničen. To je svakako bilo potrebno za posao, ali je dobro služilo i za igre, a posebno za najpopularniju VAX igru tog doba, QIX („kiks“). Kako god da pokušam da ga opišem, zvučaće trivijalno, ali je zapravo igra bila teška i veoma „zarazna“. Vodite kockicu po obodu ekrana i, kada se ukaže zgodan trenutak, krenete njom u prazan prostor sa ciljem da, pre nego što se vratite na neku od ivica, „zaokružite“ što veći prostor koji tada menja boju, tj. prelazi iz tamne u svetlu. Sve bi to bilo lako kada se po slobodnom delu ekrana ne bi šetala zmijurina koja je na početku „glupa“, a na kasnijim nivoima sve brže hita prema liniji koju povlačite; ako vas „ujede“, potrošili ste jedan život. Tako ste razapeti između ziheraštva i megalomanije: ako osvajate male površine, dobijate malo poena, a ako pokušate sa velikom površinom, možete lako da izgubite život. Velemajstori igre su ipak uspevali da, uz superiornu taktiku, „navuku“ zmiju u mali prostor i onda je zatvore, posle čega je čitav ekran završen.

Kiks ste mogli da igrate satima i danima a da vam ne dosadi, a ako bi vam i dosadio, uvek je postojao neki crvić u glavi koji vas je vukao da „samo još jednom“ odigrate, jer ste prošli put „bezveze poginuli“, a baš ste bili na pragu da se upišete na rang-listu. Da, postojala je rang-lista, na koju je prvih dana mogao da uđe svako, a posle su se izdvojila dva ili tri operatera koji su se smenjivali na vrhu, dostižući skorove od kojih se „smrtnicima“ vrtelo u glavi. Tajna tih skorova bila je pre svega u veštini, ali i u vremenu koje im je stajalo na raspolaganju za trening, pošto su igrali Kiks po vasceli dan. Studenti su, da bi igrali, morali da budu ranoranioci: od 7 do 9 ujutru bilo je dozvoljeno prijavljivanje na username IGRE i, samim tim, besplatno igranje. Takvo „radno vreme“ mi je prijalo – u domu se i tako nije moglo dugo spavati, a na fakultet sam stalno dolazio zbog predavanja i vežbi, pa sam koristio priliku. U tome nisam bio usamljen, jer je u jutarnje sate računski centar bio pun, a predavanja slabo posećena. Nažalost, zavesa se spuštala tačno u 9, pa mi se nejedanput desilo da mi skor propadne zbog ubitačne VAX-ove preciznosti.

Vežbanje kroz čitav semestar je najzad dalo rezultate, te sam počeo da se pomeram prema vrhu rang-liste, naročito otkako sam se sprijateljio sa jednim od operatera i dobio priliku da i „kiksujem“ (ili „kiksiram“?) i kada je on na dežurstvu. Naravno, nisam mogao ni da sanjam o nekom od prvih mesta, ali je peto-šesto mesto u mojim očima bilo sasvim dovoljna satisfakcija, naročito kada sam čuo da se „na vrhu“ odigrava zanimljiv „obračun“. Naime, jedan od operatera koji je smatran dobrim, ali ne i najboljim igračem, odjednom je izbio na prvo mesto. Velemajstori su se danima mučili da ga prestignu i konačno uspeli, ali je već sledećeg dana on ponovo bio prvi, sa nešto većim skorom. Još nekoliko dana napora, smena na vrhu, i sutradan ista priča...

Mnogima je u glavi počelo da „zvoni na uzbunu“, ali kako dokazati „prljavu igru“? Tabela je upisivana u fajl na disku, koji je korisnik sa odgovarajućim privilegijama mogao promeniti, ali fajl je bio u internom formatu, zaštićen kodovima, pa nije bilo lako dokazati da je na njemu intervenisano, kao ni pronaći način na koji je to urađeno: na VAX-u nije bilo programa kao što je Norton Utilities, a sam operativni sistem je destimulisao „prčkanje“ po binarnim datotekama (niste znali čak ni dužinu fajla osim približno, u blokovima). No, ne zaboravite da je to bio tehnički fakultet na kome su ljudi znali matematiku: jedan od najsposobnijih programera (a i „legalni“ šampion u QIX-u) proučio je kompletno bodovanje a onda dokazao da je skor koji se nalazi na vrhu liste matematički nemoguć. Pokazalo se da je „haker“ ipak našao načina da menja podatke u fajlu i da zatim regeneriše kontrolne sume, ali nije razmišljao o tome da li je svaki skor moguć, već se zadovoljavao time da svoje ime stavi na prvo mesto i upiše skor za nekoliko poena veći od skora prethodnog šampiona.

Samo se po sebi razume da ovoliko igranje, a onda i matematičko proveravanje skorova, nije prijalo upravi računskog centra – grdno vreme se gubilo ni na šta, a onda su, zbog nepoštene igre, stradali i međuljudski odnosi. Tako je u nekom trenutku svim operaterima i programerima ukinut neograničen i privilegovan pristup i dobili su samo sisteme menija iz kojih mogu da izvršavaju neke potrebne komande (isključivanje računara, podešavanje vremena, backup diska itd), ali ne mogu da izađu u komandni mod i igraju se. Tek tad su počele „igre“ među osobljem, koje se nadmetalo kako će zaobići te zabrane – kao posmatrač, ne znam mnogo detalja, ali se sećam da je „štos“ bio u tome što je glavni administrator trošio silno vreme da „zapuši“ rupe u softveru i „ograničenom shell-u“, dok su se operateri dosetili da noću jednostavno dignu sistem sa rezervnog diska i tako, sa svim potrebnim privilegijama, ponovo „izbuše“ menije. To me je naučilo da se bezbednosni propusti često kriju u drugoj dimenziji, koju sistem administrator uopšte ne percepira – trudite se da obezbedite softver, a zaboravite koliko je hardver izložen i obrnuto; saznanje mi je kasnije mnogo koristilo u profesionalnom radu, tako da se Kiks ipak na neki način isplatio. Sama igra je, posle „krađe“ na vrhu liste i svih pomenutih događaja, nekako izgubila na atraktivnosti, ali moram priznati da mi je nedostajala, pa sam je čak poneo na disketi kada sam krenuo put Amerike.

U kampusu univerziteta koji sam odabrao za postdiplomske studije (možda bi bilo ispravnije reći „koji je odabrao mene“, ali ovako bolje zvuči) naišao sam na, barem što se računara tiče, sasvim drugačiju situaciju. Skoro svako je imao nekakav svoj računar u sobi (bio bi potreban kolega koji računa moguće i nemoguće skorove da smisli kako se od male stipendije, uz sve troškove, mogao kupiti računar, ali svako je nekako uspevao), mreža je bila skromna (serijski kablovi) ali je omogućavala osnovni prenos podataka, a u centru je bio čitav niz mainframe i mini računara. Redovni studenti, postdiplomci pa čak i srednjoškolci koji su se često motali naokolo bili su na sve moguće načine stimulisani da koriste fakultetske računare. Nije bilo govora o tome da se pristup računaru ograničava nekakvim fiktivnim novcem, niko vam nije branio da se igrate, pa je čak tolerisano da studenti koriste univerzitetsku opremu za svoje „tezgice“. Sećam se da sam pronašao posao za lokalnu opservatoriju kojoj je bilo potrebno malo softvera i mnogo računanja, pa sam pitao mentora treba li to nekome da prijavim i platim deo fakultetu. Dobio sam odgovor: „zaboravite kolega, znam da nije lako skupiti novac za studije, a i naučićete pišući programe“.

No da se vratim igrama – bilo ih je, naravno, svih vrsta, kako na „kućnim“ računarima u sobama, tako i na velikim sistemima. Međutim, postojala je samo jedna Igra sa velikim I: Star Trek. Nekoliko američkih univerziteta spremno je da se zakune da su upravo njihovi studenti osmislili ovu igru, i verovatno su svi oni u pravu: igra je nastajala nezavisno na raznim mestima i u raznim varijantama. Od poznate TV serije je pozajmila imena kao što su Enterprise, Klingonci (glavni neprijatelji), fotonska torpeda i slično. Zapravo se radilo o nekoj vrsti igre na tabli (kompletna komunikacija sa računarom i, samim tim, drugim igračima je tekstualna), u kojoj je cilj postepeno osvajati sektore, potiskujući neprijatelje i upuštajući se u borbu kada vam to najviše odgovara, tamo gde je neprijatelj najslabiji. Često se dešavalo da nekoliko igrača sklopi savez radi ostvarenja zajedničkog cilja, ali je savez morao biti kratkog daha, jer je na kraju mogao da ostane samo jedan pobednik. To je unekoliko i mana igre – ako dovoljno dugo potraje, jedan igrač toliko ojača da mu više niko ništa ne može, pa bi najzad osvojio čitav svemir. Pošto su pravila bila tolika svetinja da ih niko nije smeo menjati, pronađeno je rešenje u tome da se igra pokreće „iz početka“ otprilike jednom mesečno, a da se igrač koji je tada bio najjači proglašava pobednikom.

Mogli ste da igrate koristeći računar u sobi ili terminal u računskom centru, pri čemu je za svaki potez bila neophodna identifikacija, tj. navođenje imena koje nosite u toj partiji i lozinke. Mnogi su koristili pseudonime, ali se uglavnom znalo ko je ko – najzad, zašto biste se trudili da pobedite u igri, ako posle time ne biste mogli da se hvalite pred zadivljenim studentkinjama? Naročito dobre rezultate postizala su dva brata Indijca, koji su mesecima zauzimali neko od prvih pet mesta, često pobeđujući. Svi su već bili skloni da ih proglase za apsolutne šampione, kad je niotkuda banuo lik koji je koristio pseudonim Bonaparte i jednostavno zbrisao kompletnu elitu, i to kroz čitav niz partija. Što je najčudnije, nije se uopšte znalo ko je to, a u vreme tadašnjih mreža bilo je teško utvrditi kojim putem potezi tačno dolaze – današnji TCP/IP je, verovali ili ne, mnogo lakši za „špijunažu“.

Neizvesnost je trajala nekoliko meseci i najzad se jedan kolega dosetio da napravi tabelu vremena kada je Bonaparta slao svoje poteze (što su javno dostupne informacije) i upari je sa rasporedom pojedinih studenata, pretpostavljajući da niko neće slati poteze onda kada ima čas. Pošto je poteza bilo na stotine, smatrao je da će tako doći do kratke liste kandidata. Nažalost, lista je ispala čak i kraća nego što je potrebno – nakon provera i uparivanja, na njoj nije ostalo nijedno ime! To je samo pojačalo radoznalost, pa su statistička istraživanja nastavljena. Jedan od Indijaca – bivših šampiona ubrzo je primetio neobičnu stvar: Bonaparta ponekad više dana nije slao poteze, što je u početku smatrano kao period kada je imao ispite, ali je Indijac pomislio da tih dana možda nije na fakultetu (tada nije bilo Interneta koji bi olakšao vezu sa drugog kraja sveta), što je pre bilo spojivo sa profesorima nego sa studentima (student po definiciji čitav život provodi u kampusu, jer nema para ni za šta drugo). Naravno, dani Bonapartinog odsustva su odmah upareni sa kongresima, konsultantskim poslovima i ostalim stavkama rokovnika naših profesora, ali nije nađena značajnija korelacija.

Najzad se neko dosetio da proba sa profesorima sa drugih odeljenja i voila – linije su se poklopile i „osumnjičen“ je jedan od profesora hemije. Zvučalo je neverovatno: u pitanju je stariji čovek veoma visokog ugleda, koji nikada nije imao kontakta sa računarima. Ipak, korelacija je bila tolika da su dva studenta otišla u posetu susednoj zgradi, osećajući se veoma glupo: profesor im se začudio i na pitanja „izokola“ rekao da računar koristi samo za pisanje radova i izveštaja, a i tada uglavnom kuca njegova sekretarica. Međutim, kada su se osmelili da mu postave direktno pitanje, široko se osmehnuo i „priznao“, interesujući se kako su ga otkrili. Najzad je prihvatio da održi predavanje na temu Star Trek-a.

Iako me Star Trek nikada nije posebno „zarazio“ (odigrao sam nekoliko partija, sa osrednjim uspehom i najzad digao ruke, pre svega zbog drugih obaveza), moram priznati da sam nestrpljivo čekao to predavanje. Dobro sam uradio što sam došao mnogo pre zakazanog termina, jer je sala bila dupke puna; ne pamtim takvu gužvu ni kada su predavali gosti – Nobelovci. Osim studenata, tu se skupio i kompletan profesorski i asistentski kadar sa odeljenja za kompjuterske nauke, kao i mnogi „slučajni prolaznici“. Bilo je jako zanimljivo: ispostavilo se da profesor hemije ima neobičan hobi, tj. da od mladosti proučava velike bitke iz prošlosti, sa posebnim osvrtom na Napoleonovu strategiju i taktiku. Čak kod kuće ima velike makete položaja armija u raznim fazama velikih bitki. Na nekoliko primera je pokazao korelaciju između poteza u Star Trek-u i pojedinih manevara u poznatim bitkama, lucidno uočavajući izomorfnost raznih naoko potpuno različitih situacija. Najzad je rekao da veoma ceni znanje i inteligenciju kolega sa računarskih nauka, ali da mora da nam kaže da bismo kao stratezi u Napoleonovo vreme prošli veoma, veoma loše. Posavetovao nas je da, osim svoje struke, povremeno proučavamo i druge nauke, a posebno istoriju iz koje svako može mnogo toga da nauči... Nikad se ne zna, rekao je, kada će vam ta znanja biti od pomoći – ne samo u kompjuterskim igrama, već i u životu!

Pripravnički staž

Ako ćemo pravo, nikad nisam volela da se igram. Čak ni kao dete. Gospođica Beka, moja prva lutka, brzo je skončala u delovima, kao žrtva okrutnog eksperimenta od kog sam očekivala da pokaže šta se krije u našoj unutrašnjosti. Kada sam ugledala bednu gumenu ljušturu u kojoj nema baš ničeg, i sama lutka je prestala da me zanima. Tako sam, valjda, rano shvatila da je za uživanje u igri neophodna podrška bujne mašte ili takmičarski izazov... uz višak vremena i manjak posla, naravno.

Svoj stav o igri sa lutaka prenela sam mnogo kasnije i na računare, pa su se moji gosti uvek čudili što na PC-ju nemam nijednu igru, koja bi makar ućutkala decu dok stariji razgovaraju, te im nije bilo jasno šta će mi uopšte to čudo u kući. Nedavno me je zaprepastio podatak da američka industrija kompjuterskih igara trenutno zarađuje više čak i od filmske industrije. Od mene sigurno nisu zaradili ništa, iako sam jednog lepog dana i ja počela da se igram, sve u sklopu pripravničkog staža...

Moje prvo radno mesto bilo je u jednom od instituta koji su, sa puno optimizma i vere u svetlu budućnost, sredinom osamdesetih razvijali specijalizovane računare. Ubistvena taktika da sve treba razviti sam, od nule, otelotvorena je u hardverskom odeljenju, u kome se svaka nova kartica pravila i testirala najpre u repovanoj varijanti, i softverskom odeljenju, gde se programiralo gotovo isključivo na asembleru. Kada bi, posle mukotrpnog pojedinačnog rada na hardveru i softveru, došlo na red testiranje sistema, „hardvarenjaci“ i „softvarenjaci“, kako su jedni druge zvali od milošte, razmenjivali su i poneku grublju reč, misleći uvek da je greška na „protivničkoj“ strani. Nesporazumi su se obično srećno okončavali: mrski bag bi najzad bio ulovljen, a akteri bi to proslavili uz pivo i kolenice u kupusu, koje behu omiljeno hardvarenjačko jelo...

Ovakav način rada uzrokovao je mnogo praznog hoda: dešavalo se da danima čekamo neki deo za razvojni sistem ili emulator koji se upravo pokvario, da na jedinoj repovanoj ploči na kojoj testiramo nešto crkne ili da nam od naručioca ne stigne specifikacija željenih funkcija sistema (obično je stizala na ruskom i zvala se „protokol“). U to zlatno doba samoupravljanja imali smo fiksno radno vreme koje je, jasno, trebalo nekako „ubiti“ dok se čeka da se steknu uslovi za neki koristan posao. Većinska populacija u našim laboratorijama behu XT mašine sa monohromatskim monitorima, razjapljenih kućišta u koja su se stalno trpale neke nove kartice, povezane grdnim žicama o koje smo se obavezno saplitali i kroz koje je Kermit prenosio naša programerska remek-dela. Kolor monitori bili su rezervisani za mašinske inženjere koji su se bavili CAD-om, a miš je imao sličan status kao prvi mobilni telefoni: korisitili su ga isključivo direktori, nabeđeni da bez upotrebe te igračke ne umeju ni da iskopiraju fajl.

U takvim uslovima, na pomenutim XT računarima, takmičeći se za titulu najkorišćenijeg programa sa neprikosnovenim Chi Writer-om, zapatila se igra na koju sam protraćila dosta vremena: Tetris. Nije moj institut bio jedina sredina zaražena opasnim virusom jednostavnog savršenstva koje je ova igra predstavljala: urbana legenda kaže da epidemija beše uzela toliko maha da je zahvatila čak i sveštena lica. Dok su u mantijama koncentrisano obrtali padajuće figurice zvane „kocka“, „štangla“ ili „visoki napon“, naiđe jedan velikodostojnik i upita ih u čudu šta to rade. Jedan od sveštenika reče kako je to neki program u kome svašta pada s neba, a oni to raspoređuju po zemlji. „Ako, deco, samo pravedno rasporedite“, beše odgovor koji je sažeo suštinu ove jednostavne zabave za tri prsta, po kojoj su A. Pajitnov i V. Gerasimov, autori Tetrisa, postali najpopularniji Rusi decenije, barem po kriterijumima vlasnika računara.

Tetris je bio zarazan kao kijavica ili grickanje kokica: nije mimoišao praktično nikoga, a najugroženiji su u akutnim fazama stizali ranije na posao ne bi li uhvatili koji sat za dovođenje svog umeća do perfekcije: sklopljeni redovi su iščezavali uz umilni zvuk, a broj poena nezadrživo je rastao i rastao, dok se jednog dana nije dogodilo čudo: skor je preskočio fantastičnih 32767 i sunovratio se na –32768! Trebalo je mnogo muke da se savlada ova jednostavna lekcija o predstavljanju celih brojeva u drugom komplementu, a vrhunskim majstorima preostalo je igranje na žici u borbi za najbolji plasman. Brzina „padanja s neba“ šest pravougaonih figurica rasla je, sa brojem sklopljenih linija, do teško kontrolabilnog devetog nivoa, a majstorstvo je bilo utoliko veće što je viši bio nivo od koga se počinje. Borba je bila prilično viteška, s obzirom na poznati metod ručnog podmetanja rezultata u rang-listu, za koji se koristio TETEDIT. Ipak, vickaste poštenjačine nisu mogle da ne napakoste konkurenciji makar promenom imena u listi u neki podsmešljivi nadimak. Tehnološki napredak proširio je prostor onima koji ne mogu da žive bez sitne prevare: XT mašine su polako izlazile iz upotrebe, a na novim AT računarima figurice su padale izdajnički brzo. Svaka bolest ima leka, pa se i ova mogla ublažiti pritiskom na turbo taster: sunovrat sa 12 na 6 MHz odmah posle startovanja igre dovoljno bi usporio Tetris da i manje vešti postignu solidan rezultat.

Tehnologija je napredovala, cene padale, pa su konačno i programeri dobili kolor monitore, a Tetris je postao šaren. Kasnije je čak napravljenja i džepna varijanta, „tetris za poneti“, a TV reklama je pozivala na zabavu u školi, na poslu, u autobusu... I u ovoj zanimaciji imali smo svoje aktivne predstavnike: Dragan Zakić i Dejan Rudić su napravili poboljšanu verziju, ZBTET. Najzad je, opet iz ruske kuhinje ali pod zvučnom firmom California Dream, stigla složenija igra sa trodimenzionim figurama pod nazivom Block Out, koja je u mom institutu takođe imala brojne pristalice. Figure su uletale u ravan paralelnu sa ekranom, uz mogućnost rotacije u sve tri ravni, pa je trebalo vremena da se sa „običnog“ Tetrisa pređe na ovu stereometrijsku varijantu. Mada je i u Block Out-u konkurencija bila žestoka, čini mi se da on nikad nije nadmašio „Tetris vulgaris“, koji je bio i ostao najmasovnija epidemija.

Sa računarima koje je razvijala, moja firma se često pojavljivala na sajmovima: Beograd, Ljubljana, Zagreb, Moskva, Brno u tadašnjoj Čehoslovačkoj bila su mesta gde sam dežurala na štandovima, objašnjavajući zainteresovanima mogućnosti sistema koje smo razvijali. Na štandu je uvek bio poneki PC, a na PC-ju nezaobilazni Tetris ili neka druga igra. Igranje u firmi još i nije bio neki problem, ali na sajmu gde toliko ljudi prolazi i posmatra nije bilo poželjno, pa je često tastatura računara na kojima se vrteo reklamni softver bila iščupana i sakrivena kod „rukovodećih kadrova“. Ipak, ponekad su se mušterije više interesovale za sam računar i za igre nego za naša dostignuća.

Jednoga dana u Moskvi, u vreme kada je PC u kući za Ruse bio misaona imenica i retka privilegija, negde pred kraj radnog vremena, srećna što sam se našla u posedu tastature, nisam mogla da odolim izazovu da na ruskoj teritoriji obrnem jedan Tetris. Posle nekog vremena, shvatila sam da mi iznad glave stoji neki čovek, koji je nepomično zurio u ekran. Postiđena svojim neposlovnim aktivnostima brzo sam ustala, nevešto se izvinila i pitala ga šta želi. „I am from Georgia“, reče on, „I want to buy this computer“. Rekoh mu da PC ne prodajemo, već da je on tu samo za potrebe demonstracije, a on procedi kroz zube: 12000 dolara u kešu i pokaza koferče koje je nosio. I dodade: sad, odmah. Izbezumljena ovom čudnom ponudom, uletela sam iza štanda, vičući da neki Amerikanac koji čudno govori hoće da kupi naš XT, valjda da bi igrao Tetris, za velike pare. Smatrajući da ovo nije posao za pripravnika, neko od starijih kolega izađe da porazgovara sa „Amerikancem“. Razgovor nije trajao ni minut, te se pregovarač pojavi sa izrazom dosade na licu i reče: „Bože, opet neki švercer iz Gruzije“. Tako sam naučila da i Rusi imaju svoju Džordžiju, a što se tiče trgovine, priznajem da i danas žalim za ponuđenom cenom...

Dok smo računare koje je razvijao moj institut uglavnom prodavali Rusima, naši glavni strani partneri u razvoju bili su Englezi. Zajednički projekti sa Englezima bili su pravi izazov, a pitanje je bilo ko će otići u London i kada će nam poseta biti uzvraćena. Mada smo Engleze zamišljali kao uštogljene tipove koji baš i neće biti zabavni, pokazalo se da nije tako. Prva grupa mladih inženjera, valjda zbog pretpostavljene važnosti ove saradnje, bila je pozvana na prijem u Britansku ambasadu. Avaj – i najozbiljniji među njima imao je dugu kosu i bradu, uz sasvim klošarski stil oblačenja, pa je jedan od naših kolega dobio „radni zadatak“ da ga odmah vodi na šišanje i pozajmi mu svoj sako za prijem. „Rokerski programer“ je odmah pokazao veliko interesovanje za naš jezik i kulturu, pa smo počeli da ga učimo reči koje je on brižljivo zapisivao na jednu cedulju: „dobar dan“, „izvinite“, „pljeskavica“, „pivo“... Cedulju je poneo i na prijem, pa se sutra hvalio kako je tamo prosuo piće nekoj ženi na haljinu, ali je srećom znao jezik, pa se učtivo izvinio sa „pljeskavica“...

Svejedno, dobro smo sarađivali, a i mi smo, u potajnoj nadi da ćemo i sami otići u London, zamenili Tetris zapadnjačkim avanturama sa tekstom na engleskom (radi vežbe, naravno!). Prva takva igra bila je Leather Goddesses of Phobos, koja je na samom početku mnogo obećavala, proveravajući punoletstvo i liberalne stavove igrača... Igra je bila uzor naivnosti u odnosu na ono što se „punoletnima“ danas pruža na Internetu, a i mi nismo baš daleko stigli, jer nas nisu na vreme slali u Englesku, na usavršavanje jezika... Najzad, jednog dana stiže i glavni šef engleske firme, sedokosi gospodin šezdesetih godina. Po Marfijevom zakonu, gost je zabasao pravo u sobu u kojoj smo se mi mučili sa pomenutom igrom, pokušavajući da smislimo šta posle rečenice But your bikini is so becoming. Sledili smo se kad smo ugledali ko dolazi ali, pokazalo se, besprotrebno: on je prišao, pažljivo pogledao ekran sa izrazom očiglednog prepoznavanja i rekao da ćemo još morati da se pomučimo dok stignemo do škakljivijih stvari...

Autori igara su predvideli ovakve vrste blamaže, pa je jedna od glavnih mogućnosti bio takozvani Boss Key, taster za zavaravanje naivnog šefa. Pritisak na isti usred igre dovodio je na ekran nerazumljive tabele i grafike, koji su nedvosmisleno pokazivali da se korisnik bavi „ozbiljnim stvarima“, što je valjda trebalo da posluži kao melem za dušu umornog šefa. Veštijima je ova mogućnost predstavljala neiscrpni izvor dečjih radosti: preuzimanje „šefovskog tastera“ i podmetanje programa koji iscrtava nešto gore od tabele obezbeđivalo je stopostotnu blamažu naivnijih igrača.

U pripravnički staž obavezno je ulazila prevara zvana JOKE – aktiviranje neke komande je uzrokovalo zvuk klokotanja, uz užasavajući tekst Water in drive C, ali se, srećom, poruka Spin dry cycle starting, uz umirujući zvuk sušenja, čula pre nego što bi naivac u panici zatražio krpu... U naletima malicioznosti, veštiji „hardvarenjaci“ su najmlađim koleginicama poturali neku od ne baš pristojnih animacija iz svog tajnog arsenala. Mada su animacije bile monohromatske i u bednoj rezoluciji, iste behu pravi test za ženske živce, pa se u ekstremnim slučajevima, u zavisnosti od reakcije, mogla zaraditi titula „histerične kokoške“ ili „počasnog muškarca“.

Ako je Leather Goddesses of Phobos bila malo dosadna zbog tekstualne komunikacije sa korisnikom, igra slične vokacije Leisure Suite Larry obogaćena je slikom i zvukom, a i „kvalifikacije“ su bile mnogo teže: sa pet zaista duhovitih pitanja na počeku se proveravalo da li ste slagali koliko imate godina. Obe igre su počinjale u baru, a karakteristike igrača određivane su na duhovit i dosetljiv način: program je, recimo, prepoznavao pol igrača na osnovu toga da li, kada se nađe u hodniku ispred dva toaleta, krene „na istok“ ili „na zapad“. Ove zanimljive opaske setila sam se kada me je, suočen sa istim problemom, jedan od čuvenih američkih profesora računarstva, koji je gostovao na simpozijumu YU INFO, upitao: „Tell me please, how can I know if I’m ‘mušžčki’, or ‘žžženššzki’?“ Eh, čovek je očigledno propustio da igra ove zanimljive igre iz CGA/EGA/Herkules vremena, ali se snašao i bez mog odgovora; ipak je, naposletku, bio naučnik...

Tako je, nešto u radu nešto u igri, tekao moj pripravnični staž. Pošto su savladali Larija i C, moje kolege su sve češće završavale ispred nekih prekomorskih ambasada, a „iskusne“ inženjere sa godinu-dve staža zamenjivali su novi i novi pripravnici. Igre su bivale sve raskošnije obojene, a život sve sivlji; na novčanicama su se gomilale nule i svi su nekako manje uživali u praznim igrama i izgubljenom vremenu. Poslednja masovno upražnjavana igra iz tog doba beše SokoBan, od milošte nazvan „Sokobanja“: smešni čovečuljak sa radničkom kacigom koji gura kovčege kroz zamršeni ružičasti lavirint, tražeći način da ih postavi na označena mesta. Vodeći čovečuljka kroz pedesetak zadatih lavirinata valjda smo i sami tražili neki izlaz, predosećajući da dolazi vreme u kome će svaka igra tražiti veći i ozbiljniji ulog. Čak smo i sami pravili nove lavirinte, jer je i to u igri bilo dozvoljeno.

Završili smo, najzad, pripravnički staž i rasuli se po svetu, u mnogo različitih firmi, na više kontinenata. Moji prijatelji, koji bi se mogli prepoznati u fragmentima ove priče, odavno su i sami postali šefovi. Njihovi pripravnici verovatno i sad u trenucima dokolice otkrivaju mine ili slažu pasijans, dok se u drugom prozoru skrivaju učeni grafici i nerazumljive formule. Priznajte sami: zar je potreban bolji razlog za prelazak na Windows 98?

Tetris i AutoCAD

Sad se vi pitate, kakve to veze ima? Mnogo! Početkom devedesetih u birou u kome sam tada radio uvođen je AutoCAD. Držao sam kurs u birou, a polaznici su bili tehničari srednjih i poznijih godina. Ljudi se nikada sa PC-jem nisu sreli, a svi znamo da je brzi rad sa sva tri tastera miša neophodan za projektovanje u AutoCAD-u. Najteže mi je bilo da im objasnim kako miš ne ujeda i da ih naučim da ga drže. Nažalost, stalno smo se vrteli u krug: pošto izuče teoriju, mnogi opet pritiskaju sva tri tastera samo kažiprstom, kao da drugi prsti ne postoje.

Radikalna mera se zvala Tetris: tasteri 7, 8 i 9 na numeričkoj tastaturi se, po priznanju mnogih „profi igrača“, najbolje i najbrže pritiskaju kažiprstom, srednjim i domalim prstom desne ruke, dakle baš onim prstima koji su potrebni za AutoCAD! I tako sam odlučio da čitava dva časa posvetim igranju Tetrisa, kako bi polaznici „razradili prste“, a da bi sve bilo zanimljivije, organizovali smo takmičenje: ko bude poslednji, kupuje i kuva kafu za sve.

Sve je lepo teklo, dok na kraju drugog časa u salu gde smo se igrali (ovaj, učili) nije ušao direktor, privučen čudnim zvucima koje Tetris pravi kada se očiste redovi. Naravno, za sve sam bio kriv ja, ali posle iscrpljujućeg objašnjenja o motorici, dinamici, produktivnosti i svemu što mi je palo na pamet, ipak nisam dobio otkaz. Jer, većina polaznika je posle kursa uspešno koristila AutoCAD, ali su tragovi ostali – i danas, kada neko igra Tetris, svi znaju da zapravo vežba prste...

Petnaestogodišnji let

Fluorescentno zelena donja polovina ekrana, a teget plava gornja, da li vas to asocira na nešto? Ako mislite da je u pitanju neka varijacija na temu test signala, grešite: tako je, davne 1983, počela istorija onoga što danas poznajemo kao MS Flight Simulator. Koliko je samo mašte onda trebalo da bismo poverovali da se tu zaista nešto „dešava“... Samo je zeleno-plava površina davala nekakve znake života u vidu tri bele crtice, koje je trebalo da zamislimo kao aerodromske piste. Da bismo se tokom leta od tačke 1 do tačke 2 ili 3 oduševljavali „lepotom pejzaža“, obezbeđeno je poveće jezero, predstavljeno plavom flekom u nepreglednom zelenilu.

I tako bismo satima gledali u jednoličnu površinu ekrana, pokušavajući da spazimo „crticu“ na koju ćemo se prizemljiti, gumičastom tastaturom Spektruma nekako simulirali komande „letelice“ (Cesne?), dok su nas familija i prijatelji posmatrali podozrivo, pitajući se da nije to besomučno gledanje u ekran na kome se ništa ne događa tajni ritual neke sekte koja nas je uzela pod svoje. Nisu ni slutili da će ta „sekta“ u narednih 15 godina prerasti u masovni pokret virtuelnih letača, koji broji milione poklonika i dizajnera-amatera, da će se osnivati virtuelne avio-kompanije sa strogo utvrđenim planom letova, koji će se po izvršenju dostavljati „sedištu kompanije“ putem Interneta...

Oni sa boljim pamćenjem setiće se da je ime opisanog programa sa početka bezbrižnih osamdesetih bilo Psion Flight; kasnije ga je preuzela firma Sublogic i razvila Flight Simulator za sve postojeće platforme. Projekat je nakon verzije 2 otkupio Microsoft, koji je kroz pet međuverzija stigao do Flight Simulator-a 98, nečega o čemu te davne 1983. nismo smeli ni da sanjamo. Naravno, simulaciji civilnog leta nije bilo lako da se izbori za „mesto pod Suncem“ u konkurenciji daleko dinamičnijih „pucačkih“ igara. Ubrzo su došle i borbene simulacije leta, koje su potisnule u drugi plan samu tehniku letenja zarad brzih, uzbudljivih vazdušnih bitaka sa „zlotvorima“. Flight Simulator-u su ostali verni samo malobrojni koji su mogli potpuno da dožive čar letenja, pojme slobodu koju ono daje i sopstvenom maštom nadomeste ogromni deo sadržaja koji u to vreme nije postojao u samom softveru.

Druga verzija Flight Simulator-a navela je mnoge spektrumovce da kupe „mrskog rivala“, Komodor 64, u luksuznoj opremi, sa flopi jedinicom – FS2 za Komodor je bio tako moćan program da nije uopšte mogao da radi sa kasete! Simulacija je po prvi put donela realne pejzaže, nazive i položaje aerodroma, doduše u simplifikovanoj vektorskoj grafici i teritorijalno ograničene, ali je i to bilo sasvim dovoljno da raspali maštu. Onda je nastupila era 16-bitnih računara, došla je Amiga i isti program na njoj – sve je bilo brže, preciznije, pa čak i (u svoj svojoj jednostavnosti) šarenije. Postojalo je pet većih oblasti u SAD, od kojih je svaka raspolagala sa po nekoliko desetina aerodroma, a tek što je postalo uzbudljivo kada je stigao pejzaž Evrope za FS2! Bez obzira na to što je omogućavao samo letove na uskom pojasu London–Pariz–Minhen, dao nam je dovoljno hrabrosti da maštamo da će jednoga dana ceo svet biti naš.

U kraćim predasima od zamišljanja kako će Flight Simulator izgledati početkom narednog veka, imali smo prilike da se pozabavimo retkim simulatorima drugih izdavača. Pravo osveženje je bio Airbus 320, koji je po prvi put doneo upravljanje modernim linijskim mlaznjakom, raskoš instrumenata komandne table i novu dimenziju letenja – 80 aerodroma koji pokrivaju glavninu zemalja Zapadne Evrope, gde je konačno bilo moguće simulirati letove na redovnim linijama poznatih avio-kompanija. Airbus 320 je doneo novi kvalitet i u domenu aerodinamike i tehnike upravljanja letelicom, tako da ga slobodno možemo smatrati prekretnicom na kojoj je ono što se radi putem tastature i miša kućnog računara zaista počelo da liči na ozbiljne simulatore na kakvima se obučavaju profesionalni piloti. Tada je poznavanje navigacije putem standardnih VOR, NDB i ILS uređaja kakvi postoje u realnom letenju već postalo i uslov uspešne navigacije i elementarne letačke „pismenosti“ u simulatorima za kućne uslove. Bili smo, dakle, na samo korak od kasnijeg Microsoft-ovog slogana sa kojim je lansiran Flight Simulator 95: As Real as it Gets.

Ubrzo je postalo jasno da postoji samo jedna računarska platforma koja garantuje budućnost ljubiteljima civilnih simulacija letenja, naprosto zato što je Microsoft jedino na njoj nastavio razvoj Flight Simulator-a – naravno, reč je o PC-ju. Verzije 3 i 4 nisu donele ništa značajno, uglavnom je bilo reči o manjim poboljšanjima prikaza (još uvek vektorski, ali sa obojenim poligonima), uvođenju vazdušnog saobraćaja (više niste bili sami na nebu) i mogućnosti modemskog povezivanja (letite zajedno sa prijateljima). Sa pojavom FS4 američka asocijacija sportskih pilota je odlučila da prizna ovaj softver kao zvanično nastavno sredstvo, što je bio definitivni signal da je Flight Simultor prerastao dimenzije igre.

Flight Simulator 5 je označio kvalitativnu prekretnicu u razvoju programa. Revolucionarni novi sistem teksturiranih površina pejzaža (u vreme kada su pucačke 3D igre još uvek rađene sa jednobojnim poligonima) i fotorealistični, takođe teksturirani kokpit aviona, a pre svega pravi, paperjasti oblaci, konačno su dočarali letenje i onima koji nisu imali volje ili strpljenja da previše angažuju maštu na popunjavanju „rupa“. FS5 je doneo i revoluciju na drugom planu, koji je dočekan sa posebnim oduševljenjem kod „okorelih“ letača: Zemlja je konačno postala okrugla! Novi (geografski egzaktan) sistem zadavanja koordinata konačno je omogućio letenje od bilo koje tačke sveta do bilo koje druge; trebalo je samo popuniti delove pejzaža koje Microsoft nije smatrao bitnim. Tako je počela era dizajniranja pejzaža (scenery-ja) za Flight Simulator, koji je do danas dostigao takve razmere da nema tačke na zemaljskoj kugli koju ne pokriva neki (uglavnom freeware) dodatak nekog dizajnera-entuzijaste.

Letači sa naših prostora su odmah pomislili kako bi bilo lepo da, umesto letova od Njujorka ili Tokija, izvode realne JAT-ove letove sa Surčina do destinacija u zemlji ili svetu, pa još ako može JAT-ovim avionima... Prvi „Surčini“ kojih smo se dokopali nisu baš ličili na svima nama dobro poznati aerodrom, ali sva sreća da imamo talentovane programere, prevashodno Žarka Gojkovića, koji nam je podario ne samo Surčin, već celu teritoriju zemlje u takvoj vernosti detalja i fotorealističnosti tekstura da se na prste mogu nabrojati aerodromi po svetu koji su tako kvalitetno izrađeni. Štaviše, stigla je kompletna JAT-ova i Aviogenex-ova flota. Fešta je mogla da počne...

Ako bih pokušao da izdvojim najuzbudljiviji trenutak u dugogodišnjem oduševljavanju novitetima na FS sceni, to je sigurno prvi let na liniji Beograd–Tivat sa novoinstaliranim Žarkovim YU pejzažom i JAT-ovim Boeing-om 727, pod tada aktuelnim Flight Simulator-om 95. Sećam se tog vedrog (virtuelnog) dana kada sam ušao u kabinu legendarne letelice parkirane na A3 gejtu Surčinskog aerodroma (dobro, u toj prvoj verziji oznake se još nisu videle, ali smo ih zamišljali) i uključio motore, prvi, drugi, treći – diskretni šum mlaznih turbina začuo se iz zvučnika (naravno, realistično postavljenih, otpozadi). Virtuelnim putnicima je naloženo da ugase cigarete i vežu pojaseve, začas se letelica odmakla od gejta, taksirala do piste 12 Surčina, zarulala i kroz nekoliko trenutaka točkovi su se odlepili od tla. Desno ispod nas ostao je terminal, levo se u daljini naziralo ušće Save u Dunav, a već za nekoliko trenutaka preleteli smo reku i Adu Ciganliju, pre nego što je započet proceduralni zaokret ka valjevskom radio faru.

Tek kad se nađete u vazduhu shvatite koliko nam je more, zapravo, blizu: Užice i Mojkovac su začas ostali ispod nas, sa visine od nekih 10000 metara čitav razuđeni reljef ove male, ali lepe zemlje delovao je tako nadohvat ruke. Sva sreća da su „meteorološke prilike“ na tom letu bile dobre – da je bilo magle ili niske oblačnosti, pokušaj sletanja na veoma nezgodni tivatski aerodrom graničio bi se sa nerazumnim. Kada se u daljini ukazalo Skadarsko jezero, bilo je vreme da se otpočne sa procedurom spuštanja. Preleteli smo Boku, na otvorenom moru napravili levi zaokret od 90 stepeni, zatim još jedan polukrug da bi se kod Budve letelica uključila u koridor za sletanje. Između strmih litica Lovćena i nezgodnih brda na levoj strani treba uhvatiti tivatski ILS indikator, koji ne navodi na pistu, već na koridor do tačke nekoliko kilometara pred aerodromom, sa koje treba napraviti levi zaokret od oko 30 stepeni i vizuelno se poravnati sa pistom.

Sve je proteklo besprekorno, letelica je klizila naniže na bezbednoj udaljenosti od moćnog Lovćena, pravovremeno su spušteni flapsovi, izvučeni točkovi. Finalni, blagi zaokret i eto piste pred nama... Manje od minuta je proteklo dok točkovi, uz uobičajenu škripu, nisu meko dotakli tivatski asfalt i letelica se posle kraćeg taksiranja zaustavila pred tivatskim terminalom. Fantastično iskustvo kome je samo još nedostajao virtuelni miris mora po „napuštanju“ aviona.

Danas je virtuelno letenje skopčano sa 3D akceleracijom i grafikom koja se opasno približava onoj na profesionalnim simulatorima, upravlja se letačkim volanima i pedalama koji često imaju i force-feedback, a vaš odgovor na Microsoft-ovo pitanje Where do you want to go today? ostavlja vam ceo svet na dlanu, po kome su rasuti aerodromi modelirani na osnovu realnih zgrada ofarbanih teksturama sa skeniranih fotografija. Na Internet servere posvećene Flight Simulator-u svakodnevno stižu stotine novih aviona, pejzaža, komandnih tabli, dodataka za pomoć u navigaciji... Bilo da vam treba neka od malih trenažnih Cesni, ili želite „kralja“ linijskog letenja, Boeing 747, pronaći ćete ga u bojama bilo koje realne ili virtuelne avio-kompanije sveta. Povezivanje sa Internet serverima da biste uronili u neku od gužvi na virtuelnom nebu, korišćenje podataka sa meteoroloških servera kako biste u simulatoru imali realne meteorološke uslove... ko bi rekao da je sve to poteklo od onog zeleno-plavo podeljenog ekrana na kome se ništa ne događa?

Digitalni velemajstori

Kada su pre petnaestak godina mikroračunari počeli da ulaze u domove običnih ljudi, često se preterivalo u procenama njihovih ozbiljnih primena – čak je čuveni Clive Sinclair izjavio da ZX-81 može da upravlja atomskom centralom! Pogled na neke poslovne pakete pisane za Spektrum, Komodor ili Amstrad danas mami osmehe, ali je to bio put kojim smo došli do današnjih „PC monstruma“, čije snage ponekad nismo ni svesni.

Kada sam ovih dana, isprobavajući emulatore za simpatične prepotopske spravice, ponovo odigrao neke od svojih omiljenih igara, činilo mi se da su one još uvek sveže, baš kao i sećanje na moje računarske početke. Lutajući Internetom pronašao sam šahovske programe za Spektrum i više nije bilo nikakve dileme – badava sam pokušao da se oduprem ulasku u „vremeplov“ i nastavim sa uobičajenim poslom...

U vremenu u kome (barem kod nas) nije bilo modemskih komunikacija, laserskih štampača, DTP-a i sličnih đakonija, računari su ipak imali magijsku privlačnost. Posebno me je oduševljavala mogućnost da mašina igra šah. Mnogo puta je superiornost u ovoj igri korišćena kao dokaz inteligencije, pročitao sam i nekoliko SF priča na tu temu, čak i u čuvenoj „Odiseji 2001“ kompjuter pobeđuje astronauta efektnom kombinacijom. Iako su moje šahovske sposobnosti daleko od toga da bih mogao da se svrstam u šahiste, ipak sam razumeo sve elemente igre. Pomisao da nešto što iziskuje toliko kreativne energije, znanja i iskustva može da se smesti u „silicijumski mozak“ delovala je omamljujuće.

Kontakt sa šahovskim programima za Spektrum pokazao je da strahu nije bilo mesta. Jedva sam dočekao da nabavim Superchess 3.5, jedan od prvih programa te vrste u kome se nije birao nivo, već se vreme razmišljanja zadavalo po želji. Sećam se da sam pozvao svoje prijatelje šahiste i da je počela seansa žestokih obračuna. To što igraju sa mašinom pružalo im je posebnu motivaciju i celom događaju davalo posebnu draž. Kako se bližilo jutro, postajalo je izvesno da je Superchess do nogu potučen, iako za protivnike nije imao preterano jake igrače. Bilo je euforičnih komentara na temu da računari nemaju šta da traže tamo gde im nije mesto i da je možda trebalo da programu daju damu fore... Osetio sam neko, za svoje današnje shvatanje čudno razočarenje – kao da sam priželjkivao pobedu mašine.

Kasnije sam i ja skoro redovno pobeđivao svoj prvi „veći“ šahovski program, a posebno su me nervirali neki njegovi glupi previdi, bezrazložne žrtve materijala i apsolutno nepoznavanje završnica. Od remija je poznavao samo pat, a čak i kada bi ostali „goli kraljevi“, nastavljao je igru. Znao sam tada da postoje jaki šahovski računari i sa uživanjem analizirao njihove partije, ali su mi zbog paprene cene oni bili nedostupni. Tadašnji vrhunski računarski šah oličen u programu za Cray već je unosio blagi nemir u šahovske krugove, ali su velemajstori i dalje bili bezbedni.

Početkom 1985. u časopisu „Moj mikro“ pročitao sam prikaz programa Psion Chess za Sinclair QL. Već tada se pričalo da je šah na 16-bitnim računarima znatno napredovao, a priložena partija u kojoj je Psion deklasirao Superchess govorila je u prilog tome. Ispostaviće se kasnije da je Richard Lang, čovek koji je napisao Psion Chess, jedna od najuticajnijih figura modernog računarskog šaha. Tada sam imao Komodor 64 i bio prilično nezadovoljan programima Sargon, Colossus Chess ili Grandmaster, od kojih sam očekivao više. I dalje mi je bilo neshvatljivo da ne znaju da matiraju kraljem i topom protiv kralja ili da često pokazuju zaprepašćujuću pasivnost u igri, ali sam morao da priznam da je središnjica mnogo interesantnija. Prosečni šahista-amater morao je da se pomuči, ali je i dalje mogao da oseti draž pobede. Da li je bolje da je ostalo tako?

Ipak, sve je išlo napred nezadrživim tokom. Pojavio se izuzetno interesantan šahovski program za Komodor koji je odskočio od konkurencije. Zvao se Chessmaster 2000, a broj je označavao procenjeni rejting koji se zaista nije mnogo razlikovao od realne snage ovog programa. Čak i na skromnom 6502 procesoru igrao je dopadljiv, napadački šah, a u brzopoteznim partijama bilo ga je veoma teško savladati. Ovo je jedan od retkih šahovskih programa koji je imao prepoznatljiv stil i izražene kombinatorne sposobnosti.

Tokom te 1988. godine dr Đorđe Vidanović, jedan od najboljih poznavalaca kompjuterskog šaha u Jugoslaviji, objavljuje u časopisu „Moj mikro“ feljton o šahovskom programiranju. Neke od korišćenih tehnika se demistifikuju, ali postaje evidentno da se zbog mnogobrojnih finesa šah ne može posmatrati kao „obična“ logička igra. Najznačajnije je ipak to što u široku javnost polako prodire saznanje da će personalni računari veoma brzo postati dostojni rivali jakim šahistima. Bravurozne kombinacije starih majstora, uz višestruke žrtve figura, čak i tadašnji programi vide sa lakoćom. Svođenje vekovne šahovske mudrosti na nekoliko desetina kilobajta za mnoge predstavlja bolno otrežnjenje, uprkos uveravanju da vrhunski šah i dalje pripada neuronima.

Otprilike u isto vreme kolega Aleksandar Veljković u „Svetu kompjutera“ prati mečeve između najpopularnijih šahovskih programa podeljenih u kategorije za osmobitne i šesnaestobitne računare. U konkurenciji su bili Amiga, Mekintoš, Atari ST, PC XT, Spektrum, Amstrad i Komodor. Na prilično ubedljiv način je demonstrirana zavisnost snage od brzine procesora, odnosno broja pozicija koje program pregleda u jedinici vremena. I narednih nekoliko godina negovan je pristup „grubom silom“, što je uslovilo stagnaciju u razvoju šahovskih programa. Trebalo im je nekako poboljšati znanje i učiniti ih selektivnijim. I tada se, kao najbolje izbalansiran program, ističe Psion Chess, sa logičnim i pozicionim stilom, bez jasno izraženih slabih tačaka.

Početkom 1992. kupujem svoj prvi PC – bio je to 286 na „ubedljivih“ 16 MHz. Prilično vremena je prošlo od kako sam izašao iz klasične igračke faze, ali me znatiželja u vezi sa računarskim šahom nije popuštala. Nabavio sam Chessmaster 3000 i priznajem da sam, poput mnogih, bio zaveden njegovim korisničkim interfejsom, izborom različitih šahovskih ličnosti, podešavanjem parametara igre, promenom oblika figura ili materijala od koga je napravljena tabla. Daleko od toga da je ovaj program slabo igrao, pokušavam samo da naglasim koliko ove kozmetičke sitnice mogu ponekad da formiraju pogrešan utisak.

U to vreme sam često posmatrao šahovske programe kako igraju sami protiv sebe, a multitasking u Windows-u 3.1 bio je idealan da se na istom računaru susretnu dva programa. Tako se ukazala zgodna prilika da instaliram Fritz, koji je čekao na nekoj zaturenoj disketi; posle samo nekoliko minuta, bio sam zapanjen neverovatnom agresivnošću ovog programa. Chessmaster je bio izložen takvom silovitom napadu da mu već posle dvadesetak poteza nije bilo spasa.

Tako sam imao dovoljno materijala da zakažem novo odmeravanje snaga sa lokalnim šahistima. Priznajem da sam u ovim trenucima istinski uživao jer je u odnosu na situaciju od pre nekoliko godina napravljen veliki napredak. Naime, više nije dolazilo u obzir nikakvo blefiranje ili pokušaji da se računar navuče na tanak led: uobičajene trikove kojima se zbunjuju početnici Fritz je odmah kažnjavao i okretao situaciju u svoju korist, realizujući prednost briljantnom tehnikom. Međutim, uz korektnu igru, prosečan prvokategornik je imao veoma dobre šanse, što su moji prijatelji brzo uvideli, tako da smo posmatrali uzbudljive i borbene partije. Računar je igrao dobro, pobeđivao je, ali se isto tako mogao i pobediti. Ipak, krug onih koji su to bili u stanju da urade se sužavao.

Ušli smo u zlatno doba nadogradnje PC računara koje još uvek traje. Ni sam ne znam koliko sam promenio matičnih ploča, kartica, monitora, ali je za priču značajan onaj trenutak kada je uobičajeni računar u našim krajevima bila jaka 386-ica. Na jednoj takvoj konfiguraciji isprobao sam Chess Genius 1.0, delo čoveka koji je napisao Psion Chess. Po prvi put sam osetio potpunu nemoć: program je, jednom rečju, igrao jako, nije mogao da mu promakne ni najmanji taktički udar, ali je dobro poznavao i finese kao što je pešačka struktura. Za ovaj primetni skok u kvalitetu nije zaslužan razvoj hardvera, već šahovsko znanje koje je program neosporno posedovao.

Da bi ova mala retrospektiva bila potpuna, pomenuću i događaj koji me je naveo da napišem svoj prvi tekst o kompjuterskom šahu. Sredinom 1994. u „Računarima“ je izlazila serija tekstova o logičkim igrama, tako da je u jednom nastavku dotaknut i šah. Na dijagramu je prikazana čuvena pozicija iz partije između Edvarda Laskera i Tomasa u kojoj je beli žrtvom dame na h7 započeo prelepu, forsiranu, matnu kombinaciju. U potpisu je, međutim, stajalo da nijednom šahovskom programu, ma koliko mu vremena dali, neće „pasti na pamet“ da žrtvuje damu za pešaka. Stvarnost je već tada govorila nešto sasvim drugo i mnogi programi su se obrušavali upravo na ovakve forsirane varijante, uočavajući ih gotovo trenutno.

Danas sve izgleda drugačije, što mi je postalo još očiglednije kada sam ponovo pobedio Superchess 3.5, svog starog znanca sa Spektruma. Prošle godine je Gari Kasparov izgubio meč protiv superračunara Deep Blue, ali i programi za PC računare redovno pobeđuju vodeće velemajstore. Na mom kompjuteru nalazi se mnogo šahovskih programa protiv kojih nemam nikave šanse. Oni znaju „napamet“ čitavu enciklopediju šahovskih otvaranja i imaju razvijeno kompletno stablo igre u završnicama sa malim brojem figura. Čari neizvesnosti i uzbuđenja potpuno su nestale – sasvim je sigurno da su ovakve „zveri“ nesavladive.

Koliko god sam svojevremeno bio fasciniran idejom da računar igra šah bolje od čoveka, toliko sada ne mogu da se naviknem na obrnute uloge i sa nestpljenjem iščekujem svaku priliku za revanš. Igra u kojoj ne možete osetiti slast pobede prestaje da bude interesantna, ali ko kaže da šah morate igrati sa najmodernijim računarom? U krajnjem slučaju, izvadite iz naftalina davno zaboravljene programe i pokrenite ih pod emulatorom. Čarolija vas vraća i prošlost, a čipovi se ponovo pokoravaju...

Pasijans za čitav život

Prvi pasijans sam poređao kada sam imao šest godina, a kasnije sam tražio sve teže i teže verzije iste igre. Najteži je bio pasijans bez posebnog imena, kod koga se ređaju 52 karte uz četiri prazna mesta. Naučili smo ga 1977. od ženine cimerke i u potonjim godinama često ređali, ali nije bilo lako napraviti toliki prostor na stolu. Čak smo kupili karte manjeg formata, ali tek sa njima nije išlo.

U proleće 1983, dok sam čekao da „šverc komerc“ donese moj prvi računar (Spektrum sa 16 KB memorije), nabavio sam spisak naredbi i počeo da programiram na papiru. Šta drugo, nego pasijans. Koju nedelju kasnije „zverka“ je stigla, da ne pričam kojim kanalima (sećam se samo da je učestvovala neka narodna pevaljka koja se doseljavala iz inostranstva i da je u „rezervnoj liniji“ bio i neki ambasador, ili se to „dobavljač“ samo pravio važan). Pisao sam pasijans dve nedelje, usput učeći i bejzik i programiranje uopšte (teorija sa fakulteta je ipak pomogla), pa je već verzija 0.23 mogla da se nazove v1.0. Igrali smo ga dugo, ali na stolu opet nije bilo mesta: dominirao je Spektrum, a na ekranu televizora su se ređale karte. Znake za mak, karo i ostalo sam morao da crtam, kao i znak za desetku. Snimao sam ih kao odvojeni fajl, dok nije pronađen štos sa REM kao prvom linijom, pošto se njena adresa dala izračunati. Sve skupa, program je bio dugačak oko 6 KB.

Septembra 1986. sam počeo da zarađujem za život kao programer, na Iskra Delta Partneru (CP/M) i jednoj DEC PDP mašini. Na Partneru sam pronašao neki CB80 (Digital Research) bejzik i prilagodio mu Spektrumov pasijans. CB80, doduše, nije poznavao linijske brojeve već imenovane labele, pa je bilo potrebno dosta „gimnastike“, a nije bilo ni UDG znakova, pa sam karte ispisivao kao „10___MAK“, „Q___karo“ itd. Crne karte su pisane velikim, a crvene malim slovima jer računar nije znao ni za boje.

Onda sam pronašao da i na PDP-ju postoji nekakav bejzik, pa sam opet prebacio celokupan tekst. Bejzik je imao znatno drugačiju sintaksu (na primer, \ umesto : za ređanje više naredbi u istom redu), pa je dosta toga moralo „Jovo nanovo“. Pošto je PDP višekorisnička mašina, izmislio sam sistem bodovanja i obezbedio snimanje rang-liste. Pasijansi uglavnom nemaju neko pametno bodovanje, broje se ispravno poređane karte i možda procenat prolaza; ja sam pokušao da izmislim „elektronsku pravdu“, pa sam gledao da više bodova dajem za prvo ređanje (množio sa pet), manje u drugom (sa tri), najmanje u trećem (sa jedan). I dužina kombinacije je uticala, kao i broj ispravno poređanih karata te boje. Pokazalo se, kao što će se pokazati i u kasnijim životima ovog programa, da elektronska pravda ne postoji: najbolje rezultate je postizala jedna operaterka koja je vukla poteze bez ikakvog razmišljanja, dok je tračarila preko telefona. Što se mene tiče, vrlo brzo sam „izleteo“ sa liste.

Izmislio sam i četvrto ređanje, za koje se ne dobijaju nikakvi bodovi, ali koje omogućava da se igra uvek uspešno završi, te da se ne izgube dobri bodovi iz redovnog toka. Da bi se primetilo da ovo nije „takmičarsko“ ređanje, pri dnu sam ispisivao odgovarajuću poruku širokim inverznim slovima, recimo „neće karte poštenog čoveka“, „šemsa za diletante“, „kilav bioritam, a?“ i slično. Slučaj je hteo da ono o diletantima program ispiše upravo mom šefu...

Posle godinu dana instalirali smo VAX, koji je, naravno, imao VAX bejzik. Pogađate šta se tu dešavalo, pa odmah prelazim na 1988. godinu, kada sam kupio Atari, obradovao se dobroj grafici, nabavio GFA bejzik, ponovo preuredio pasijans, vaskrsao grafiku i rešio da izmislim demo. Inteligentni demo, koji bi izvodio heurističke pretrage (što beše u modi tih godina) bio je u planu za kasnije; za početak sam ga naučio da igra nasumice. Obični RND() je uradio posao preko očekivanja: demo je zauzeo gornju polovinu top-liste, potisnuvši mnoge pametne ljude. Zato sam rešio da ovaj pasijans nikad više neće imati demo.

Sledeće godine sam prešao na PC i u novoosnovanu firmu, pa sam na nekom disku našao QuickBasic. Sećajući se nekih iskustava sa Turbo Pascal-om, zaključio sam da je ovo pravi alat za sledeću inkarnaciju pasijansa. GOTO naredbe su već na Atariju istrebljene (hm, uglavnom), pa je prerada bila brza i laka. Naravno, opet sam ostao bez grafike, pa sam „otkomentarisao“ linije za ispis karata na stari način – mak i pik velikim slovima... Srećom, boje su bile na mestu.

Onda je cela stvar nekako zaboravljena – ponekad bi se moja deca, neverovatni Spektrum nostalgičari, obradovali kada naiđe novi Spektrum simulator, pa bismo onda žena i ja odigrali poneki pasijans v1.0, ili bi se vadio Atari pa onda na njemu... Tek 1994, dok smo radili u Mađarskoj, moj tadašnji i tamošnji cimer Tibi Arva (tarva na Sezamu) i ja iskopasmo to čudo i preradismo ga za FoxPro 2.6. Naravno, opet ništa od grafike, ali je „špageti kod“ bio definitivno eliminisan, sve je bilo lepo zapakovano u procedure i funkcije. Zabavljali smo se nekoliko dana, naročito kada nam je palo na pamet da prenesemo program u FoxPro 2.6 za Windows. Ni tamo se nismo baš ubili od crtanja karata: tasteri su izgledali bolje, ali je grafika „preskočena“.

Tokom 1996, po povratku iz Mađarske, počeo sam da eksperimentišem sa VFP 3.0 (V kao Visual) i shvatio da svi „kartaroški“ znaci postoje u fontovima. Prelazak u OOP paradigmu je zahtevao prearanžiranje koda – da li talon treba da zna gde je koja karta ili svaka karta treba da ume da se snađe, šta treba da reaguje na klik a šta ne, koji tasteri, šta ako korisnik klikne na CloseBox... Sledeće godine sam prešao na Visual FoxPro 5 i potrudio se da pasijans isteram do kraja. Program je prebačen u metode, na ekranu se pojavljivalo 56 instanci klase karta, svaka karta je umela da na klik nađe kud treba da ode... Karte koje mogu da se pomere obojio sam u žuto i, kao krunu svega, napisao kompletan help (na engleskom) i napatio se dok sam ga preveo – pisanje help-a skoro da je teže od samog programiranja!

Klasu catal7 (rešetka sa inkrementalnom pretragom) testirao sam kao alat za prikaz top-liste. Pravila za bodovanje nisam hteo da menjam, ali sam iskoristio priliku da listu produžim na 50 mesta. Pošto nisam mogao da izaberem veličinu talona, rešio sam da napravim sve rastegljivo – u bilo kojoj rezoluciji može da zauzima bilo koju veličinu, od osmine ekrana do čitavog desktop-a, da se sužava i širi uzduž i popreko. Pisanje ovog dodatka je predstavljalo celodnevni posao, a igranje na smanjenoj slici mi je bilo odlična zabava dok u drugom prozoru „okrećem“ Sezam ili čekam da se završi dugačak modemski prenos.

Klasa Alert je morala da se „glanca“ dok nije postala otporna na promene veličine fonta, a da bi font mogao da se menja, morao sam da napravim alat SetFont, koji je mogao da menja i boju pozadine. Naravno, on ne boji karte, već poruke koje sada glase bad byorhythm, eh?, no luck in cards for a honest man ili chaMce for rookies. I dalje može da se igra tasterima 1, 2, 3 i 4, ali i mišem. Napokon sam napravio stvar koja mi je uvek nedostajala: desnim klikom na kartu dobija se meni čija je prva stavka „nađi gde dođe ova karta“.

Sve u svemu, kad pogledam šta sam mu sve radio i kojim sam ga mukama mučio ovih petnaest godina, nije ni čudo što me program ne trpi na top-listi. Sve moguće trikove koje sam isprobavao u raznim jezicima isprobavao sam na njemu. Sada je tekst programa dugačak 32 KB, ali koristi nekoliko sistemskih klasa koje zauzimaju još bar toliko. Sa izvršnim bibliotekama ima preko 3 MB, a za tekuću shareware verziju (možete je preuzeti sa www.universalthread.com) angažovao sam nekoliko kolega „foksovaca“ (Amerikanaca, Kanađana, uz pokojeg Rusa, a našao se i jedan Australijanac i jedan Kikinđanin) kao beta testere. Gospođa Barbara iz Kalifornije je, naravno, iz cuga stigla na top-listu (za utehu, tek na drugo mesto), a jedan od beta testera me je odmah „otkucao“: neko je u konferenciji pitao da li je ikad napisana igra u Foksu, a ovaj je odmah odgovorio da ja radim na tome. Istina, postojao je Tetris pisan u Fox-u 2, ali je ovo, koliko mi je poznato, prva igra rađena u Visual FoxPro-a. Vesti o njoj su me naterale da ubrzano očistim i poslednje (poznate) bubice i publikujem program.

Nakon svega, imam čudan osećaj da je ovo jedini program za koji mogu da kažem da je gotov – na svim ostalim bi moglo još da se radi...

Loading level Redakcija

Kada su u pitanju igre, u PC Press-u postoji jedna i samo jedna: Quake. Raznorazni FreeCell-ovi (sekretarice), Bloobs i manji, slučajni izleti ne mogu joj se ni približiti...

Istine radi, počeli smo da se „kvejkujemo“ najviše zbog Vlade, koji nije mogao da izdrži dan bez dobre doze Quake-a. To što je bio ubedljivo najbolji i što nas je sve redom napucavao meni nije smetalo, a koliko vidim ni ostalima, jer smo se silno zabavljali. Moram da se pohvalim svojim zvezdanim trenucima – dve ili tri dobijene partije su u mom životu jako važne, čim ih tako dobro pamtim. Tada nam je „Metropolis“ (firma koja dizajnira „PC“) bio u komšiluku, pa smo ih zvali „Nekropolis“, Veljko je bio Kveljko, a deathmach nivo je bio onaj sa kraja shareware verzije, sa bazenom punim lave – onom ko je izmislio mrežu treba dići spomenik! Pošto nismo znali prednosti miša, pretpostavljam da smo bili u kamenom dobu – dobro da nismo koristili sekire i praćke.

Još tada je prekršeno važno redakcijsko pravilo da se na „osetljive“ mašine ne stavlja ništa osim najpotrebnijeg softvera, a kada su nam radne stanice postale nedovoljne, Quake se čvrsto instalirao i na serveru (Dejane, ovaj pasus nisi pročitao). Na njemu je bilo mučno igrati: monitor je odavno izgubio plavu komponentu, uz očajnu grafičku karticu moralo se igrati u rezoluciji 320×200 i smanjiti prozor na 100×60, Ctrl na tastaturi nije radio (pogodite zbog čega), ali ništa nije moglo da nas spreči da se uključimo u opštu makljažu i nagledamo krvi do kolena.

Ekipa u Redakciji se vremenom promenila, nekako u to vreme je došao i Quake II, pa je bilo sasvim logično da pređemo na novu generaciju aplikativnog softvera, koja pruža nova zadovoljstva. Dok nismo dobili ISDN, igranje na Internetu jednostavno nije dolazilo u obzir – preko „centrale klepetuše“ smo teško skidali i tekstove za broj, a kamoli igrali Quake. Vreme smo koristili da utvrdimo gradivo: prvo se Quake regularno završava i paralelno upoznaju tajne The Edge nivoa u igri „čovek na čoveka“, a kada se otkriju miš i Capture the Flag, eto zabave koja je znala da nas zadrži za računarom i više sati posle obavljenog posla (naš dan u tehničkom delu Redakcije, pred kraj rada na broju, traje taman koliko i novogodišnji program državne televizije, pa je red da se na to doda i nekoliko sati zdravog fragovanja). A onda se rezultati lepo zapišu na tabelu na zidu (još uvek stoji, doduše sa poslednjim rezultatom iz septembra), gde piše da Gašini i moji gnusni protivnici vode sa nekoliko poena razlike, mada tamo nedostaje i nekakav rezultat 27:11 za nas... No o tome ćemo nekom drugom prilikom.

Polovina gnusnog protivničkog tabora (imam i teže reči za njih, kada je u pitanju CTF), tj. Smaja, odmah je otkrio čari podešavanja i dodavanja novih nivoa, skinova i ostalih začina koji Quake čine lepšim, a rezultate možete da vidite i na Sezamu, čiji je Quake II Lithium server (quake.sezampro.yu) upravo on podigao. Trebalo je videti kako dva ozbiljna čoveka (Smaja i Danko, jedan od Sezamovih sistem administratora) ozbiljno razgovaraju o jednoj, moram priznati, neozbiljnoj temi – Quake-u II. Imam osećaj da bi o tome mogli da napišu enciklopediju, ili barem priručnik za domaćice, ali mora se priznati da je sve na kraju odlično ispalo, jer je Sezamov server živnuo taman toliko da na njemu skoro uvek nekog ima.

Druga polovina znate-već-čega, Bora „smrda“ (to mu je Quake nadimak) može da se pohvali da ima podlogu za miša koju koristi i nekakav svetski prvak u Quake-u II (Smaja će vam već detaljnije objasniti ko je taj svetski prvak i kako je zaradio Ferari) ali, naravno, ne igra ni blizu tome. Čak ni miša ne koristi, ali važna je podloga i četiri godine provedene po štamparijama... Na Sezamu ćete ga prepoznati tako što (po sopstvenom priznanju) „nikako da izađe iz minusa“. E, njemu dugujem jedno sasvim solidno nerviranje i gnev koji sam doživeo kada smo jednom prilikom nesrećno izgubili u CTF-u. Naravno, uvek ću okriviti i tastaturu ili zaprljanu kuglicu miša, ali njemu je to veče išlo baš dobro i fino se zabavljao (hoću reći, imao je sreće), a ja sam se nervirao i čekao svojih pet minuta. Dočekao sam ih i uživam u njima – mislim, tih pet godina.

Lepšoj polovini mog tima (Voja Gašić uvek igra kao ženski lik) svi zavidimo, jer njegova test mašina, pored stanovitih problema, ima i 3D akcelerator u punoj snazi. Ostali računari nemaju tu privilegiju, što nam ne smeta dok pobeđujemo. Kada nam ne ide, taj nedostatak dopunjava atmosferu: na šta čovek da se ljuti kada loše igra sem na mašinu, ping ili lag? Gaša i ja se nalazimo u susednim prostorijama, pa moram da se proderem da bih ga poslao po protivničku zastavicu, ali je on jedan od onih koji vole morsku hranu, vodene puteve i ronjenje, pa plavu ekipu neretko obraduje poruka „Gaša drowned“.

Ja, eto, igram sasvim solidno. Bio sam i na Quake II turniru u Domu omladine i ispao u prvom krugu, kao treći u grupi (treba li pominjati da su prva dva igrača išla dalje?). Zato čekam šansu na sledećem turniru. Kada vidim one klince, magove Quake-a, dođe mi da prestanem da igram, kao što sam odustao od Microsoft-ovog Age of Empires kad su me momci iz ZZSoft-a naučili da se sa vatrom nije igrati, a ko se sa vatrom igra... znate već. Pošto redakcijskog topovskog mesa više nema, sačekam da se Sezamov server očisti od DKG-ovaca, liOn-ovaca i ostalih klanova, pa napucam neke pacere, čisto da mirnije spavam – kao, sad sam glavni i već sam sebe zamislio u poslednjoj, tajnoj sobi Quake-a II. Do Quake-a III (ili dok se ne pojavi finalna verzija Spektrum Quake-a) ostaje mi samo da vežbam...