

C# AI - Jak?
Zdravím všechny,
trochu jsem přemýšlel nad teoretickýma otázkama ohledně nezastavitelného blížení se 5. generace počítačů. ( Pár slov z Wikipedie po odstavci 4.Generace PC "Další generace zatím nejsou známy, protože není jisté, jakým směrem se bude vývoj ubírat. Mohly by to být stroje s umělou inteligencí, kvantové počítače nebo něco úplně jiného.". Velmi mě zaujala myšlenka "strojů s umělou inteligencí", a tak jsem se začal zaobírat celkem obsáhlejším (a také mnohem známějším) tématem: AI ve hrách. Jako středně pokročilého amatéra v programování (na kontě kousky jako Batch,což byly totálně absolutní základy, pak jsem nakousnul Javu ale pak už nic, kompletně zvládnuté Pawno a z tří čtvrtin hotové C#) mě hlavně velice zaujalo jak někdo (ksakru) dokáže naprogramovat nějaké AI jako bylo např. v CS 1.6 nebo v jakékoliv jiné hře, ve které se vyskytovalo AI. Absolutně první, co mě napadlo, bylo samozdřejmě fungování věcí jako random proměnných, ifů a else-věcí (už netuším jak to mám nazvat, snad víte co myslím ;), ale to zdřejmě nepokryje věci jako teoretické vyhledávání nepřátel, chození po mapě atd. (a to už vůbec nemluvím o konkrétním příkladu z CS 1.6 - boti střílí z optiky sniperkou. WTF?)
Mám teda dotaz, jestli s tímto tvořením AI v C# má tady někdo skušenosti - a taky postupy, jak něco takového vytvořit. Budu rád za každou rozumnou odpověď.
Díky,SteveXtreme. (Sakra už zas musím na wécko! :D)
Zkus se podívat do zdrojáku hry a najdi si jak jsou naprogramovaná AI.
Taky by mě to zajímalo jak je vše do detailů naprogramované, třeba že AI se skrčí u nízké zdi aby ho nikdo nesestřelil. :)
if(nizka_zed) skrcit(); // :D
To byl příklad OMG! :D Jinak jsem myslel mnohem větší detaily :D
Jop,skusím nahlédnout do zdrojáku cska, doufám že jsou v *.c :D :D Jinak dobrej příklad (:D), ale kdybys tam napsal něco takového a něčím bys to neznegoval (třeba if (30_sekund_ubehlo) do (pohni_se_dal_ty_kretene) ) tak by jakmile by narazil na prvni zed tam zustal skrceny az do endgame :D Jinak jo pochopil jsem to :D
Ono zvycajne engine hry poskytoval mnozstvo vselijakych "spinacov" alebo "trapov" (pasce) typu ze ked sa dostane paduch tam a tam (suradnice) tak to a to sa ma stat alebo prepnut nejaky status, a to definoval potom ten kto vymslal prislusny level (ze kde jaka pasca na ktorych suradniciach a co sa malo stat apod). =Ono to neni moc UI ale vypada to aspon trochu logicky.
S tym spinacom som to nepochopil. Rozpoznavanie hlasu je defakto fuzzy porovnavanie nejakej furierovej analyzy alebo co :) (rozhodovanie je na zaklade fuzzy % ak to presiahne napr. 90% tak je to to slovo apod). To tiez neni moc inteligencia, proste akusticky stroj.
Ja vim, ja vim, nevim, jak bych to presne popsal. Je tam proste mikrak a uvnitr je obvod ktery analyzuje a porovnava 2 stavy (hlasove prikazy) - vypnuto a zapnuto. Kdyz reknu "zapnuto", rozsviti se 5 led zarovicek v rade zajistene autopojistkou. Kdyz reknu "vypnuto", udela to presny opak. Jinak s tema suradnicema to neni moc dobra teorie, to by se ten ci onen clovek musel dostavit presne na urcite misto na mape aby se s AIckem neco delo. Mam spis na mysli ze to maji rozdelene na sektory z vrchu dolu na A-E a z leva do prava 1-5, a pak je
if (ten ci onen clovek se dostavi napr. do sektoru C1)
then (jdi do sektoru C1 a zacni po nem stritel)
else (jdi do sektoru random)
a pak smycka, ze pokud tam nikdo nebude, posun se do dalsiho randomovaneho sektoru a kdyz tam nekdo bude tak zacni sit atd atd atd...
Samozrejme ze suradnice nie su jeden bod ale oblast :) Ono tam v tom engine moze byt pripravenych takych moznosti kopec, ktore sa daju v leveli zadefinovat.
A co teda ti na tom hlasovom porovnavani nefunguje? Alebo nechapem celkom ze na co si sa pytal :)
Já jsem se na nic neptal, já jsem jen konstatoval, že něco takového vytvářím. Jinak, zatím mi to nefunguje proto, že jsem tím obvodem omylem pustil "dvěstě dvacet" a uvařili jse mi všechny spoje, jen ty žárovky díky té pojistce nsehořely. Sakra, musím si to příště pojistit a dát autopojistku i na začátek. Hezky to zajiskřilo. Jak jednou řekla Marge ze Simpsnových: "Nádhera! Hoří záclony!" :D :D
Jaj, tak to potom dobre :) Nic no ak sa ti to podari naprogramovat samemu bez opisovania tak klobuk dolu, neni to uplne trivialne (raz davno som robil nejake furierove analyzy a teda studoval som to aspon tyzden kym som naprogramoval nieco (polovicu som kdesi opisal, nie som predsa pan fourier :)
Jeste nez pudu (asi) spat , mam jeste jeden dotaz. J.A.R.V.I.S z Iron Mana byl přece taky AI ne? Nešlo by "stvorit" něco takového?
P.S. CO je to ten furier?
Jako že by reagoval na nějakou větu "svojí" větou?
Jak to myslís?
Jak jsi to myslel ty? Bavíme se o tom hlase, se kterym mluvil Stark v obleku?
Jo, ten jarvis... Jo to by šlo, ale chtělo by to anglický Win7 protože v českém Voice Reconginazation nefunguje. Nic težkého - naprogramuju, že když řeknu třeba "Jarvisi - Poradna" tak by mě to hodilo sem.
Já jsem v programování teprve v úplnejch začátcích, ale vím že to jde. Ve škole si takhle 2 studenti (teď už dospělí) udělali robota, na kterýho můžeš mluvit česky a on ti odpoví. Např počítání přikladů, potdraví a takový ty chujovinky.
Jestli chceš můžu ti s tím programováním pomoct. Na co se specializuješ? (Java,C#,C++,Batch...)
Kdyžtak mi pošli do PMky svůj email a nejak se domluvíme. Pokud budeš programovat v C# můzu ti s tím nejvíc pomoct.