webhosting by: WebSupport.sk                                             UnlimitedHosting | CustomHosting | FreeWeb.sk

Umelá inteligencia? Len to nie!

bwpow's picture

K napísaniu tohto krátkeho blogu, nesúceho veľmi bulvárny nadpis, ma podnietila nedávna aktivita dvoch ľudí na IRC kanáli #blackhole.sk. Rozhodli sa, že vytvoria spolu RPG počítačovú hru. No nemalo by ísť o nič, čo bežne nájdete na Steame. Nebude to však len o tom. Vlastne, celé to bude úplne o niečom inom. Veď len čítajte ďalej.

Dnešný herný priemysel je dosť fádny. Moderné hry sa od seba nedajú rozoznať ani grafickým spracovaním (čo by nebolo až také zlé), ale ani dejom a herným štýlom. Skoro každá je o tom istom. Občas tieto kľudné vody rozvíri niečo inovatívne. Napríklad taký Minecraft. No zväčša je to len obyčajná šeď.

Dvaja odvážni blackholáci sa to rozhodli zmeniť. Podľa ich názoru chýba na trhu poriadna RPG hra. Dôraz je v tomto prípade kladený na slovo „poriadna“. Poriadnu hru totiž nehráte stláčaním kláves a ovládaním postavy. Poriadna hra sa hrá „sama“. Vy zatiaľ môžete robiť niečo produktívne, napríklad programovať. Ak však práve neprogramujete svoju postavu. Áno, už asi tušíte, že cieľom tejto hry je vytvoriť postavu natoľko inteligentnú, aby sama vedela reagovať na okolie a hrať hru za vás. Aby ste to nemali jednoduché, všetko musíte programovať v nejakom divnom assembleri, ktorý vraj navrhol nejaký divný človek menom Knuth. V klasických RPG hrách si postavu vylepšujete rôznymi pomôckami a trénovaním vlastností. Tu si budete za získane XP dokupovať ďalšie registre, pamäť, prípadne vylepšovať inštrukcie, aby ich vykonanie spotrebovalo menej procesorových cyklov. Je to teda „nerdovina“ najhrubšieho zrna.

Páni programátori sú momentálne ešte len na začiatku svojej cesty k finálnemu produktu, takže ak si chcete túto novú hru zahrať, zostáva vám len čakať (alebo sa zapojiť do vývoja). Otázkou je však, koľkí z vás by si chceli túto hru vlastne zahrať. To je to, čo mňa trápi najviac. Má niečo také šancu na úspech? Nikto samozrejme neočakáva milióny predaných kópií. Úspechom by pri takýchto projektoch mala byť základňa hráčov dosť veľká a aktívna na to, aby ste na hracom serveri stále stretli niekoho online, kto práve ladí inteligenciu svojho cyborga. Bojím sa, že o niečo takéto nebude veľmi veľký záujem. A mám na to aj dôvod.

Keď som včera čítal prvý draft spomínaného projektu, spomenul som si na svoj vlastný pokus o niečo podobné. Písal sa rok 2000 a ja som bol ešte mladý nádejný gymnazista. Krátko predtým som sa zúčastnil svojho prvého a zároveň aj posledného sústredenia KSP. V tom čase bolo programátorských súťaží pomenej a KSP bol asi najprestížnejší seminár, na aký sa dalo v našich končinách naraziť. Dvakrát za rok organizovali pre najlepších riešiteľov sústredenie niekde v úplnej paži. Nejakou náhodou som sa tam dostal a bol som veľmi nemilo prekvapený. Celé sústredenie sa nieslo v znamení aktívneho využívania času, čo v praxi znamenalo pobehovanie hore-dole, občas vyriešenie nejakej úlohy a medzi to sa votrelo občasné jedlo a spánok. Zorganizované to bolo dobre, no ja som človek, ktorý má rád skôr posedenie v kľude v čajovni pohltený intelektuálnou debatou. Teror zo strany vedúcich vyvážili zaujímaví ľudia, ktorých som tam stretol. Jedným z nich bol WSX, ktorý momentálne pracuje vo Facebooku.

Účastníci sústredenia boli rozdelení do štyroch tímov, ktoré spolu celý čas súperili o body prideľované za úspešné vyriešenie jednotlivých úloh. Na konci bol najlepší tím ocenený tortou. S WSXom som sa ocitol v jednom z nich. A aj vďaka nemu som si na záver mohol pochutnať na torte. Chlieb sa lámal posledný deň, kedy bola na programe posledná súťažná úloha zvaná Proboj. Išlo o jednoduchú hru, pričom cieľom tímov bolo naprogramovať program, ktorý bude ovládať ich hráča. Na tomto konkrétnom sústredení išlo o 2D strieľačku s názvom DOOM ]|[ (stiahnuteľná v archíve probojov - jeseň 1999), pričom hráč sa vedel pohybovať po hracej mape, zbierať a používať predmety a samozrejme strieľať okolo seba. Riešili sme to vtedy prakticky sami dvaja. Lepšie povedané, písal to WSX a ja som do toho fušoval a kódil nejaké nepodstatné veci okolo. Nakoniec bol ale náš algoritmus najlepší a pobili sme dokonca aj vedúcich. Kým ostatné súťaže na sústrední sa mi zdali nudné alebo mimo môjho zájmu, Proboj ma úplne dostal a zapálil vo mne záujem o umelú inteligenciu.

Písal sa rok 2000 a inšpirovaný Probojom, pokúsil som sa vytvoriť vlastnú súťaž. Dôvod bol ten, že žiadnu podobnú som nevedel nájsť. Programovať piškvorky alebo šach ma až tak nelákalo. Chcel som niečo, kde človek môže zapojiť svoju fantáziu. Vymyslel som teda súťaž ARTIC a vyhlásil jej prvé kolo, pričom nosnou hrou bola pre túto sezónu vec zvaná Commander Norton.

Vytvoril som web, kde som príšernou angličtinou popísal pravidlá súťaže, zverejnil som simulačný program (v tom čase ešte pre MS-DOS), rozoslal zopár emailov a čakal. Na moje sklamanie, ohlásila sa len hŕstka ľudí, ani nie 20. Bol som trochu sklamaný, ale nevzdával to. Pravidelne som vydával updaty softvéru, pridával novinky na stránku a dúfal som, že počet súťažiacich sa s blížiacim sa dátumom finále zvýši. Žiaľ, nestalo sa tak. Asi za to mohol nezvládnutý marketing. Predsalen som bol vtedy obyčajný študent na gymnáziu, bez priameho prístupu na internet a bez akýchkoľvek zdrojov.

Do finále nakoniec dorazili asi len štyri programy. Keď prirátam svoj, bolo dokopy päť súťažiacich. Päť z celého sveta. Finále som teda odsimuloval, zverejnil výsledky, poďakoval za účasť a na niekoľko rokov pochoval všetku túžbu čokoľvek organizovať. Trvalo tri roky, kým som sa podieľal na projekte Judge, z ktorého neskôr, v roku 2005, vznikla Palma, ktorá našťastie beží dodnes. Od tej doby mám ale zakorenené, že umelá inteligencia nie je niečo, čo by vyvolávalo nejakú davovú psychózu. Už aj ten samotný Proboj bol na sústredení prijatý vlažne a jeden tím sa naň vykašlal úplne. Mám teda obavy, či pripravovaný projekt z dielne našich blackholákov bude mať vôbec kto hrať. Preto by som chcel využiť aj tento blog a dať do pléna otázku, lákalo by vás niečo také hrať?

Pripojte sa na IRC (freenode.net, kanál #blackhole.sk) a zapojte sa do diskusie.

Nostalgický dodatok
Na súťaž ARTIC som za tie roky úplne zabudol a len vďaka aktivite spomínanej v tomto blogu som si na ňu spomenul. Nedalo mi to a našiel som ju vo svojom starom archíve. Využijem teda príležitosť a trochu sa ňou pochválim.

Cieľom súťaže bolo naprogramovať algoritmus, ktorý bude ovládať štyroch vojakov patriacich hráčovi a získavať body. Zvíťazil hráč, ktorý získal najviac bodov. Tie boli prideľované buď zbieraním predmetov náhodne porozhadzovaných po mape, alebo zabíjaním protivníkov.

Každý vojak mal iné vlastnosti. Jeden dovidel a dostrelil ďalej ako ostatní. Druhý sa zasa vedel prebrodiť vodou. Tretí vedel klásť a objavovať míny a štvrtý liečiť spoluhráčov. Dôležité bolo vytvoriť spoločnú stratégiu a skoordinovať úsilie. Vojaci si medzi sebou mohli vymieňať informácie o mape a pozíciach protivníkov, čiže pri dobrom riadení vedeli pokryť oveľa väčšie územie alebo nahnať protivníka do pasce (smerom k vojakovi, ktorý mal silnú zbraň).

Samotná hra prebiehala v krokoch. Každý vojak vedel vykonať štyri kroky, čo mohlo byť posunutie na susedné políčko, vykonanie akcie alebo streľba. Keď jeden skončil, nasledoval druhý, tretí a štvrtý. Keď odohrali všetci vojaci jedného tímu, nasledoval tím druhý. Takto to prebiehalo, až kým nezostali nažive len vojaci jedného tímu alebo neubehlo 500 kôl. Na jednej mape mohlo naraz zápoliť až osem tímov. K dispozícii bol plný simulačný softvér vrátane ukážky jednoduchého algoritmu. Taktiež bolo možné prepnúť tím do manuálneho režimu a teda skutočne hrať proti vlastnému algoritmu. Samozrejmosťou bol editor máp a generovanie náhodnej mapy.

Pripravil som krátke video, ktoré ukazuje, ako to vlastne celé prebiehalo. Myslím, že vďaka nemu získate dobrú predstavu o tom, čo mali súťažiaci k dispozícii a čo bolo cieľom.

Zaujímavé odkazy

Average rating
(10 votes)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Umelá inteligencia? Len to nie!

Myslim si, ze obaja hraci tejto hry budu spokojny..
ale pridam aj sovoju skusenost s ui. Moja prva skusenost s programovanim sa spaja prave s hernym priemyslom.
Pisal sa rok WXYZ a ja som tazko hraval hru zvanu Tibia-> http://www.tibia.com/news/?subtopic=latestnews
Tato hra nieje nicim zaujimava.. je to mmorpg v 2D. Co je ale zaujimave je to, ze k hre potreboval hrac klienta cez ktoreho svoju postavicku ovladal na ktoreho niekoho napadlo vytvorit program, ktory monotonne ukony bude robit namiesto hraca. Takychto "cheat" programov vznikalo niekolko.. pre priklad uvediem TibiaAuto http://sourceforge.net/projects/tibiaauto/ kde pokial si pamatam sa dali jednoducho doimplementovat moduly v pythone. Samozrejme takychto programov vznikalo viacero a hraci namiesto hrania, mohli vyuzit svoju inteligenciu na predprogramovanie tahov, ukonov a podobne.
Podrobnosti rozoberat nemienim, co je vsak dolezite je to, ze niesom jediny, koho taketo programy donutili stiahnut si neake example a prerobit podla svojich potrieb, ci dokonca naprogramovat svoje a hra sa sama od seba zacala menit na preteky v skriptovani. A tu sa dostavame k podstate veci.. ak ma byt hra natolko zlozita, ze si ju nebude moct dovolit hrat priemerny clovek, tak je uz teraz odsudena k zaniku. Ak vsak bude vytvorena komunita, ktora sa bude na forach preberat rady a hinty a jazyk ktorym sa bude akakolvek funkcionalita ovladat bude pochopitelny, tak pri dobrom marketingu si viem predstavit, ze to popularitu ziskat moze.
V kazdom pripade, drzim palce a dufam, ze nas bude niekto priebezne informovat o progresse...

PM.

cyberpunker's picture

Re: Umelá inteligencia? Len to nie!

Tiež som nad niečim podobným uvažoval. Niečo obdobné som sledoval StarCraftAICompetition. Mne by sa taký typ hry riadne páčil, ale pre prežitie je podla mňa na mieste smerovať to do nejakého vizuálneho programovania, labview štýl možno. Ak by to nemalo skončiť pri hard core fanušikoch

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
webhosting by: WebSupport.sk UnlimitedHosting | CustomHosting | FreeWeb.sk