Hra pro programátory
Hra pro programátory je počítačová hra , ve které se člověk přímo neúčastní hry. Místo toho napíše řídicí program , který bojuje s vlastním druhem programů. Takové hry jsou pro programátory komplexním a netriviálním cvičením.
Klasifikace her pro programátory
Podle programovacího jazyka
Program může být napsán ve speciálním druhu assembleru nebo v jazycích vyšší úrovně . Nejčastěji používané jsou interpretované jazyky jako Python .
Podle cíle hry
Podle účelu hry se takové hry dělí na:
- Bojuje v paměti . Úkolem programu je „ zavěsit “ nepřátelský program.
- Deskové hry (např. na úsvitu kybernetiky byly oblíbené turnaje v počítačových šachách ).
- Bojové roboty. Cílem hry je vytvořit ovládací program pro bojového robota nebo tank. V některých hrách můžete také změnit konfiguraci robota (typ motoru, brnění, zbraně atd.). Robotické souboje jsou pro outsidery docela velkolepé.
- Jiné hry. Řízení závodního auta, mikrobiální kolonie atd.
Historie
V roce 1961 byla v Bellových laboratořích vyvinuta hra Darwin . Na počátku 80. let byla pod vlivem „Darwina“ vyvinuta hra Memory Fight . Byla předurčena k tomu, aby se stala populární, dokonce překročila železnou oponu : Pereslavl-Zalessky měl svůj vlastní tým „Fight in Memory“.
V roce 1970 se konal první turnaj v počítačovém šachu .
V roce 1985 Tom Poindexter vyvinul C Robots , první programátorskou hru pro ovládání bojového robota. Bojový robot je vozík vybavený radarem a minometem . Pro skenování oblasti bylo nutné uvést, pod jakým úhlem natočit radar a ostrost vyzařovacího diagramu . Čím širší je diagram, tím větší je šance, že nepřátelský robot spadne do zorného pole, ale přesnost skenování je odpovídajícím způsobem menší. Minomet vystřelí tříštivou střelu, pro výstřel je potřeba nastavit směr a vzdálenost, na kterou má střela dopadnout. Tato hra měla mnoho nedostatků: tlumočník byl spíše neúspěšný; robot, který hodně střílel, obvykle porazil robota, který střílel dobře.
Hra C Robots byla vylepšena Davidem Malmbergem a přeložena do jazyka Pascal , nazývaného Pascal Robots (nebo P-Robots). Do hry byla přidána spotřeba paliva; pokud by robot zůstal bez paliva, mohl jen čekat, až ho někdo dokončí. Byly tam překážky a týmová hra. Byla přidána možnost konfigurovat robota: můžete si vybrat jednu ze tří děl, jeden z pěti motorů, jednu z pěti palivových nádrží, jednu ze tří možností pancéřování a také další vybavení: ochranné pole, vzdálené bomby, oprava souprava a převlek. Rovnováha mezi vybavením však nebyla vypracována a byl napsán robot Nyní , využívající této nerovnováhy. Nyní neměl žádnou inteligenci; ve skutečnosti to byla obrovská palivová nádrž, vybavená lehkým motorem, lehkým pancířem a ochranným polem. S využitím skutečnosti, že ochranné pole robotů s lehkým pancéřováním spotřebuje velmi málo paliva, nyní snadno zvítězil jak v hromadné přestřelce, tak jeden na jednoho. Po zveřejnění zdrojového kódu Pascal Robots bylo také objeveno několik nesrovnalostí v chování hry, jak je uvedeno v dokumentaci: například dokumentace říká, že vzdálená bomba zasáhne všechny roboty bez ohledu na to, zda je zapnutý štít; ve skutečnosti chrání ochranné pole před bombou.
Snad nejznámější robotickou bojovou hrou je Robocode , vyvinutá společností IBM . Tato hra je velmi odlišná od Pascal Robots . Pokud v Pascal Robots programátor robotovi řekne, kterým směrem se má vydat, a on automaticky vstoupí do tohoto kurzu, pak je v Robocode nutné nastavit, v jakém úhlu má otáčet volantem a jakou rychlostí jet. Všichni roboti jsou vybaveni stejně. Střely také nezasahují střepinami, ale přímým zásahem.
Hra Robocode také do jisté míry vyřešila „problém rozhodčích“. Pokud v Pascal Robots, aby se zabránilo úniku kódu, byla potřeba neutrální strana provádějící soutěže (arbiter), pak v Robocode můžete jednoduše nahrát soubor třídy svého robota ke stažení zdarma. Zatemnění spolehlivě chrání robota před dekompilací .
V roce 1995 se konaly první závody v simulátoru auta RARS .( Robot Auto Racing Simulator ). V roce 1997 byl zahájen projekt TORCS , který umožňuje jízdu lidem i robotům.
V roce 1996 se na platformě ZX Spectrum objevila hra Ivana Gudkova Soldier of the Future . Do hry se mohli zapojit 4 roboti. Byl zde režim týmové hry 2×2. Roboti mohli pracovat ve dvojicích, poznávat spojence. Modulární programování. Hra měla velký potenciál, ale délka programu robota byla uměle omezena a prostoru pro kreativitu bylo málo.
Dnes existuje mnoho her pro programátory, ale jen málo z nich je opravdu populárních.
Turnaje deskových her mezi počítači nejsou příliš oblíbené, častěji se pořádají šachové turnaje mezi lidmi a počítači. Nejlepší z PC šachových programů (2006) hrají na úrovni velmistra , programy pro specializované počítače suverénně porážejí i šampiony . Na začátku roku 2010 byla hlavní desková hra pro počítače go ; Počítač hraje Go na úrovni dobrého amatéra.
Nejznámější hry pro programátory
Boj v paměti
- Darwin je počítačová hra pro programátory, ve které bojovalo několik assemblerových programů, dokud jeden z programů nezabral veškerou paměť.
- Memory Fight je variací počítačové hry Darwin, kde jsou programy psány v jazyce Redcode a běží pod kontrolou Memory Array Redcode Simulatoru.
Ovládání bojových robotů
- C Roboti
- Roboti Pascal
- Robocode [1] je bitva tankových robotů. Programy mohou být napsány v Javě nebo .NET.
- Robotická bitva
- robotická válka
- Robot Warfare 1 je bitva robotů na 2D poli.
- Scalatron je soutěž robotů v aréně. Bitva robotů je zajištěna, ale pro vítězství není nutné bojovat. Programy jsou napsány v Scala nebo Java.
- Grobots je strategická hra, ve které píšete programy pro ovládání týmů robotů. Programy pro ovládání robotů jsou napsány v dialektu programovacího jazyka Forth . Hru lze použít pro výuku a učení Forth [2] .
- Imperfect World Of Robots (IWOR) je simulací světa, ve kterém budou roboti ovládaní tímto programem žít, pracovat, chránit svůj „kmen“ a plodit potomky. Hra má důležitý a užitečný rozdíl (ve smyslu učení se programovat na základě této hry; pořádání soutěží) od ostatních her – roboti pro ni napsaní používají ke svému fungování „zásuvky“ a „zprávy“, takže je lze psát v téměř všechny programovací jazyky a běží na strojích s různými operačními systémy. Tato hra je serverového typu.
- BOTS : BOts Tactical Simulation - Herní koncept je podobný jiným hrám jako C Robots nebo JRobots.
- JRobots je klon C Robots v Javě.
- General Game Playing - v této hře člověk neprogramuje robota, jako v mnoha jiných hrách, ale pravidla hry, nicméně je docela možné naprogramovat tuto hru jako hru, která ovládá bojové roboty, kteří jednají podle pravidla hry naprogramovaná hráči (např. programování „základních“ herních pravidel mohou zavést organizátoři soutěže a hráči na základě pravidel hry vypracují pravidla pro roboty). Tato hra implementuje umělou inteligenci - namísto toho, aby jednala na základě "tvrdých pravidel chování v typických situacích" předem stanovených člověkem, bude bojové vozidlo ve hře určovat své vlastní chování a rozhodovat se samo - v souladu s pravidla hry, která mu byla poskytnuta, což jsou omezení pro možné akce. Hra je zároveň hrou i výzkumným a výukovým nástrojem v oblasti umělé inteligence.
- OpenNERO - hra je zároveň hrou i výzkumným a výukovým nástrojem v oblasti umělé inteligence. Bojoví roboti ve hře jsou řízeni počítačovými neuronovými sítěmi. Charakteristickým rysem hry je její grafika, je lepší ve srovnání s ostatními hrami z tohoto seznamu, je zde multiplayer. OpenNERO bylo použito k implementaci několika ukázek a cvičení pro učebnici Russella a Norviga „ Umělá inteligence: Moderní přístup “: Techniky umělé inteligence, jako je vyhledávání hrubou silou, heuristické vyhledávání, skriptování, posilování učení a evoluční výpočty, stejně jako problémy s umělou inteligencí. jako je navigace v bludištích, sbírání předmětů a „robotická bitva“. Metody a úkoly tutoriálu jsou implementovány v několika různých prostředích (nebo "modech"). Výzkumná skupina Neuronové sítě má některé další projekty, které jsou duchem podobné popsané hře a které lze využít i pro herní, výzkumné a vzdělávací aktivity.
Ostatní
- Colobot je 3D vzdělávací strategická hra, kde lze roboty programovat pomocí vestavěného jazyka.
- Ceebot je série 3D vzdělávacích her pro děti založených na hře Colobot a zaměřených na použití ve školách.
- Robot Auto Racing Simulator neboli RARS je 3D závodní simulátor mezi naprogramovanými závodními auty .
- TORCS je automobilový simulátor založený na RARS a je vhodný jak pro běžné řízení, tak pro soutěžení mezi naprogramovanými závodními vozy.
- Snake Battle - "vizuální" programování bojových hadů.
- Virus War je hra, která simuluje vývoj dvou kolonií virů, které se samy vyvíjejí a navzájem se ničí.
- Capture the Flag je týmová soutěž, jejímž účelem je vyhodnotit schopnost účastníků útočit a bránit počítačové systémy.
- CheckiO - výuka programovacího jazyka Python. Možnost hrát různé hry podle podmínek programování.
Poznámky
- ↑ Použití dvoufázového genetického programování k sestavení modelu tanku ve hře „ROBOCODE“ (nepřístupný odkaz) . - Článek. - časopis NRU ITMO. - březen-duben 2011
- ↑ Groboti
Odkazy