Játékos programozás

Logikai játékok programozásnak álcázva

Nem emlékszem már, hogy mi lehetett az első programozós játék, amivel találkoztam, de valami miatt a legemlékezetesebb a Manufactoria volt. A Flash játékok korszakának egy igazi gyöngyszeme. Kész csoda, hogy ennyi év után még sikerült megtalálni, főleg, hogy csak annyira emlékeztem belőle, hogy valami robotos és futószalagos.

A történet szerint tesztkészülékeket kell építenünk, hogy kiszűrjük a hibás robotokat. Később pedig, ahogy az eszköztárunk bővül, már át is kell programoznunk őket, hogy megjavuljanak.

Manufactoria

Talán egy kicsit kilóg a sorból, első ránézésre nem is tűnik programozásnak (pedig még egzotikus programozási nyelvet is csináltak belőle), de ahogy haladunk a nehezebb és nehezebb pályák felé, úgy kezd egyre inkább egy formális nyelvek és automaták gyakorlatra emlékeztetni.

Érdemes az első megoldás felett érzett túláradó öröm után még visszatérni a feladatra és megpróbálni kevesebb elemből megoldani. Sajnos a játék nem nagyon támogatja ezt, nem lehet egyszerre több megoldásunk egy pályához, de egy URL formájában elmenthetjük a megoldást kézzel.

Megoldás optimalizálás előtt és után

Vizuális programozás

A Human Resource Machine akár egy leegyszerűsített Scratch is lehetne, amiben a drag and drop szerkesztő segítségével kell irodai dolgozókat rábírnunk a munkára egy olyan irodában, ahol gyanúsan sok a megoldandó logikai feladvány.

Human Resource Machine

Ahogy haladunk előre a játékban, úgy kapunk egyre több építőelemet a programjainkhoz. Feladatonként három megoldást tárolhatunk, amire szükségünk is lesz, ha az extra kihívásokat is teljesíteni szeretnénk, amikben méretre (használt utasítások száma) és sebességre (lefuttatott utasítások száma) kell optimalizálni a programokat.

Egyszerű program méretre és sebességre optimalizálva

A bejegyzés írásakor még csak készülőben volt a játék folytatása 7 Billion Humans néven, ahol már irodai dolgozók egész hadával vethetjük bele magunkat a párhuzamos programozás gyönyöreibe egy még inkább Scratch-re emlékeztető felület használatával.

7 Billion Humans

A Manufactoria fejlesztője is készített később egy vizuális szerkesztővel rendelkező programozós játékot, ami a Silicon Zeroes nevet viseli. Kipróbálni még nem volt alkalmam, de a képek és YouTube videók alapján elég érdekesnek tűnt ahhoz, hogy azért megemlítsem.

Silicon Zeroes

Rekreációs programozás Assembly nyelven

A Human Resource Machine könnyed kinézete után egy erős váltás a Zachtronics által fejlesztett TIS-100, amiben egy érdekes architektúrájú számítógépet kell assembly és párhuzamos programozás erejével a feladatok megoldására bírnunk.

TIS-100

A spártai felülettel remekül harmonizál a játékhoz mellékelt 14 oldalas PDF dokumentum a nyelv leírásával, ami a tutorial-t is hivatott helyettesíteni.

Itt is három megoldást tarthatunk meg egy feladathoz. A programokat sebességre, használt node-ok számára és méretre optimalizálhatjuk. A pálya sikeres végrehajtása után kapunk három hisztogramot, hogy ebben a három metrikában hogyan teljesít a programunk a többi játékos megoldásához képest.

A TIS-100 fejlesztőinek egy másik játéka a SHENZHEN I/O. A kinézetre már sokkal barátságosabb játékban egy kínai elektronikai cég új alkalmazottjaként különböző áramkörök megtervezése és felprogramozása a feladatunk. A szereppel való azonosulást elősegíti, hogy a játék egy operációs rendszernek néz ki, a feladatokat email-ben kapjuk és még egy pasziánsz is van a "gépünkön".

SHENZHEN I/O

Nem csak a játék fejlődött a TIS-100 óta, hanem a dokumentációt is egy új szintre emelték. Ebben a játékban már egy 47 oldalas PDF-et kapunk, ami a programozási nyelv (assembly) és a kitalált elektronikai komponensek leírását tartalmazza. Hangulatra teljesen hozza a valódi komponensekhez adott dokumentációkat.

Az elmenthető megoldások száma ebben a játékban nincs korlátozva. A dizájnokat gyártási költség (használt komponensek ára), energia felhasználás (lefuttatott utasítások száma) és a program mérete szerint optimalizálhatjuk. A pálya sikeres megoldása után - a Zachtronics játékoknál megszokott módon - hisztogramokat is kapunk arról, hogy ez mennyire sikerült.

Ha már a programozás játék változatát is unjuk, de továbbra is valami olyasmire vágyunk, ami megmozgatja agyunk ritkán használt tekervényeit, érdemes a Zachtronics által fejlesztett többi logikai játékot is megnézni, mint például az Infinifactory, az Opus Magnum vagy a SpaceChem.

Hozzáfűznél valamit?

Dobj egy emailt a blog kukac deadlime pont hu címre.

Feliratkoznál?

Az RSS feed-et ajánljuk, ha kedveled a régi jó dolgokat.