Salvi Péter: Zillions of Games


Zillions of Games nem egyszerűen egy táblás játék: már a több száz játékot tartalmazó játékkönyvtárát tekintve is a (tábla)játékprogramok csúcsa.
Mitől ilyen jó? A ZoG alapvetően egy univerzális játék; már az alapkészletben is rengeteg érdekes játékkal találkozhatunk, amelyek mellé le lehet tölteni és (ami még jobb) lehet írni újakat. Egészen pici gyakorlattal is átalakíthatók a már meglévő játékok és azokra számtalan variánst készíthetünk.
Az alapötlet elég egyszerű: egy olyan rendszer, ami egy kifejezetten táblajátékok készítésére kifejlesztett nyelvvel rendelkezik. Ennek segítségével különféle játékok szabályait értethetjük meg a géppel. A többi pedig már a gép feladata -a szabályok ismerete alapján megpróbál- "gondolkodni", és sokszor igen erős ellenfél válik belőle.
Ráadásul a játékokat hálón keresztül is lehet játszani!
Miből áll a programozása?
Egy szövegfájl szerkesztéséből, esetleg (ha nem találnánk már korábban elkészült megfelelőt) képek készítéséből.
A programozást két nagy részre oszthatjuk: a külsőségekre és a lényegi részre.
A külsőségeken olyanokat értek, mint a játék címe, leírása, története stb. (ezek a programban a menüből érhetők el), a bábukhoz tartozó segítség, a tábla kinézete stb.
A lényegi részben több dolgot kell ismertetni a programmal:

a tábla (hogy néz ki, hol vannak rajta a mezők, milyen -ha van ilyen- az alapfelállás)

--- a lejátszás módja (hányan játszhatnak, milyen sorrendben, passzolhatnak-e stb.)

--- a bábuk leírása

--- a győzelmi/vesztési feltételek leírása

Mindezekhez segítséget nyújthat a Zillions könyvtárában található langref.hlp súgófájl, ami az angolul tudóknak bemutatja egy egyszerű játék programozását (tic-tac-toe) és egy bonyolultabb lépés leírását is (az ágyúét a kínai sakkból).
Ezenkívül, ami a programozó kedvűeknek a legfontosabb, tartalmazza a teljes utasításkészlet magyarázatát.
A programozás részleteibe itt most nem mennék bele, de remélem, hogy nemsokára indul ezen a honlapon egy Zillions-iskola, ahol ezeket az ismereteket bárki elsajátíthatja. (2000. szeptember)

Péter már túl van az első ZoG-rendszerű játékprogi elkészítésén...
Több mint harminc év van közöttünk, aminek az előnyeit időnként nagyon élvezem. Péternek megtetszett valami, kitűnő érzékkel ismerte fel a kincset, de a valóságos értékét úgy igazándiból nemigen volt mihez viszonyítania. Számára a napi dolgaink, technikánk, ismereteink természetesek. Ámbár, a történelemből ő is megtanulta, hogy az emberiség szellemi-technikai fejlődésének voltak fordulópontjai. Feltehetően őt is kellemes borzongás tölti majd el, amikor rádöbben arra, hogy egy ilyen fordulópontot vett észre.
A Zillions ugyanis (hiszem, hogy évekkel későbbről visszatekintve rá, bebizonyosodik) egy ilyen fordulópont. Legalábbis a logikaijátékok birodalmában. Nem szívesen írom le a szót, mert azért igencsak semmi köze hozzá, de a Zillions azt a látszatot kelti, mintha rendelkezne némi intelligenciával. Nem egy matematikailag kielemzett játék nyerőalgoritmusára "tanították" meg programmozói. Csupán arra, hogy "elsajátítsa" a játékszabályt és "megértse" a játékos verseny célját. Azt, hogy miként kell majd ellenlépnie a győzelem esélyével, már saját maga "találja meg". (Nyilvánvaló, hogy nem "kitalálja", hanem olyan algoritmust követ, amely az ilyen típusú játékok mindegyikére alkalmazható. Vázlatosan sem ismerem, de mást nem tudok elképzelni, minthogy az összes lehetséges lépés fáján indul el lefelé (lépésenként egyre lejjebb haladva) néhány (talán a válaszidőtől függő) szintig, és ezek közül "választ".) Kézenfekvő, hogy egy ilyen logika alapján felépülő progi számtalan egymástól különböző játékra "tanítható" meg. A Tanításhoz persze ki kellett dolgozni egy olyan szaknyelvet, mely alkalmas is a táblás játékok lényegének leírására...
(Nagylaci) 

Nos elindult: Táblajátékos: Zillions-progisuli