Pametnije igre: Kako spojiti Unity i AI za bolje karaktere
Prestanite prodavati maglu sa ‘AI’ neprijateljima koji samo trče u krug dok ne udare u zid. To nije inteligencija; to je niz loših ‘if-else’ naredbi koje će tvoji igrači provaliti za pet minuta. Ako želiš da tvoji karakteri u Unity-ju imaju stvarni instinkt, moraš prestati pisati skripte i početi trenirati mozak. Ti si ovdje jer ti je dosta NPC-ova koji imaju inteligenciju tostera. Do kraja ovog vodiča, tvoj procesor će se znojiti, tvoj GPU će zujati kao stara brusilica, a tvoj karakter će početi donositi odluke koje tebe, kreatora, mogu iznenaditi. Trebaće ti Unity, Python i dovoljno strpljenja da ne razbiješ monitor kada se prvi model počne vrtiti u krug bez razloga. Drugačije ne ide.
Unity ML-Agents: Instalacija koja će te natjerati da psuješ
ML-Agents je toolkit otvorenog koda koji omogućava da video igre postanu poligon za treniranje neuronskih mreža. Prvo, zaboravi na kliktanje po ‘Install’ dugmetu i nadu u najbolje. Moraš podesiti Python virtuelno okruženje jer će ti u suprotnom verzije biblioteka napraviti takav haos da ćeš morati formatirati disk. Koristi Anaconda ili venv. Ako ne izoluješ ovo, ‘conflict’ greške će te proždirati dok ne odustaneš. Poveži Unity sa Pythonom koristeći pip install mlagents. Osjetit ćeš miris zagrijane plastike iz kućišta dok tvoj računar pokušava uvezati ove dvije nespojive zvijeri. Provjeri verziju Pythona — ako je 2026. godina, vjerovatno koristiš verziju koja još uvijek mrzi tvoju grafičku kartu ako nisi instalirao CUDA drajvere. Bez njih, tvoj procesor će raditi sav posao, a ti ćeš imati dovoljno vremena da skuvaš kafu, popraviš bojler i odspavaš dok se jedna ‘epoha’ završi.
WARNING: Prije nego pokreneš trening, provjeri temperaturu GPU-a. Ako tvoj kuler vrišti, a senzori očitavaju preko 85°C, tvoja grafička karta je na putu za otpad. 120v strujni udari iz napajanja su ništa naspram termalnog throttlinga koji će ti skratiti vijek trajanja hardvera za tri godine u jednom popodnevu.
Mozak karaktera: Razlika između skripte i neuronske mreže
Neuronska mreža u Unity-ju funkcioniše tako što karakter ‘posmatra’ okolinu, donosi odluku i dobija nagradu ili kaznu. To je čista dresura, slična onoj kod lovačkih pasa, samo što ovdje nema poslastica, samo floating-point brojevi. Moraš definisati CollectObservations funkciju. To su oči tvog NPC-a. Ako mu daš previše podataka, mozak će mu ‘proklizati’. Ako mu daš premalo, biće slijep. Podesi activation functions za diy model kako bi tvoj karakter znao kada treba da napadne, a kada da pobjegne. Nemoj slather-ovati previše senzora; koristi ‘Raycast’ samo tamo gdje je kritično. Ako svaki NPC ispaljuje 50 zraka u svakom frejmu, tvoj FPS će pasti brže nego rejting loše igre na Steamu. Čvrsto uvezana logika je ovdje ključ, a ne ‘seamless’ tranzicije o kojima pričaju teoretičari. 
The Anatomy of a Screw-Up: Overfitting u borbi
Najveća greška koju ćeš napraviti je ‘overfitting’, gdje tvoj NPC nauči napamet tvoj nivo umjesto da nauči kako da se bori. Desilo mi se prošlog utorka: NPC je bio nepobjediv u testnoj sobi, ali čim sam mu promijenio boju poda, počeo je trčati u ćošak i plakati. To se dešava jer si ga trenirao predugo na istim podacima. Da bi ovo izbjegao, moraš stalno mijenjati okruženje tokom treninga. Ako tvoj model ‘laže’, pogledaj kako sprijeciti halucinacije u logici. NPC ne smije postati bot koji samo ponavlja jedan pokret jer je jednom slučajno tako dobio nagradu. Ako vidiš da se tvoj vojnik vrti u krug — čestitam, stvorio si digitalnog idiota. Sreži trening odmah, resetuj nagradne poene i kreni ispočetka. Kratko i jasno: Overfitting je smrt za gameplay.
Zašto ovo radi: Hemija iza Reinforcement Learninga
Povezivanje C# koda i Python mozga
C# u Unity-ju služi samo kao ‘ruka’ koja izvršava ono što Python ‘mozak’ smisli. Ovaj most se zove Communicator. Ako tvoj kod kasni, tvoj NPC će reagovati kao da je pod jakim sedativima. Moraš osigurati da je komunikacija flushing-ovana u svakom koraku. Koristi FixedUpdate umjesto Update jer AI ne zanima tvoj frame rate; njega zanima stabilna fizika. Ako ti je model spor, obavezno prati performance u realnom vremenu. Gurnuti AI u igru bez monitoringa je kao da ostaviš upaljenu let-lampu na drvenom stolu — kad-tad će nešto izgorjeti.
Da li AI troši previše resursa u igri?
Da, ako si lijen. AI koji stalno računa putanje može ubiti procesor. Rešenje je da ‘ispečeš’ (bake) model nakon što ga istreniraš. Tada on više ne uči, on samo koristi naučeno, što je deset puta lakše za hardver.
Mogu li koristiti AI za 2D igre?
Apsolutno. Algoritam ne vidi dimenzije, on vidi brojeve. Zapravo, 2D je bolji za početnike jer imaš manje ‘šuma’ u podacima. Manje senzora znači brži trening i manje šanse da tvoj laptop poleti sa stola zbog brzine ventilatora.
Physics of Regret: Logičke petlje i pad performansi
Voda se širi za 9% kada se smrzne i puca cijevi; loš AI kod se širi u memoriji dok ne sruši cijelu aplikaciju. Ako zaboraviš da ‘očistiš’ stare opservacije, tvoj NPC će patiti od digitalne demencije. On će pokušavati da obradi podatke od prije deset sekundi dok se u sadašnjosti bori za život. To stvara lag koji je nemoguće popraviti običnom optimizacijom grafike. Moraš biti grub sa podacima. Ako podatak nije kritičan za odluku u narednih 100 milisekundi — baci ga u smeće. Jam-uj te podatke samo u memoriju koja je brza. Nemoj biti šonjo koji se plaši da obriše kod. Ako ne radi, yank-uj ga napolje i kreni ispočetka. Vaš NPC treba da bude predator, a ne kalkulator koji se zaglavio u dijeljenju sa nulom. Testiraj ili odustani.
