Evoliucija šiuo atveju dviem prasmėm - 1) evoliucionuoja žaidimo minotaurai, 2) tobulėju aš. Antru atveju čia nėra evoliucija, bet vis tiek gražiai skamba. Dabar išsamiau...
Minotaurai ir vėl gali užsiimti kažkokia veikla tarp varžybų labirinte: prekiauti, treniruotis, kviesti kitus minotaurus į dvikovas.
Kažkada prieš gerą mėnesį jau buvau padaręs šiokį tokį minotaurų "intelektą", bet jis manęs netenkino (iš programavimo pusės), nes nebuvo universalus (moduliarus, jei toks lietuviškas žodis yra). gamedev.lt forume gavau nuorodą į http://en.wikipedia.org/wiki/Decision_tree, tačiau turėjau ir savo idėją.
Planavau padaryti minotaurų mąstymą paremtą poreikiais ir numatomais atlygiais už atliktą veiksmą. Tokiu atveju jų elgseną būtų be galo lengva keisti. Įsivaizduoju, kad kiekvienas veiksmas būtų paieškos grafiko elementas, turintis savyje informaciją apie būtinus jam įvykdyti resursus ir resursus, kuriuos įvykdžius veiksmą gauna AI. Dėja, kol kas arba mano programavimo žinios per menkos, arba tiesiog neužteko užsispyrimo, bet iki galo aš šitos idėjos neišvysčiau.
Grįžau prie decision tree ir staigmena! Pats veiksmų medis ėmė man patikti jau po kelių jo rašymo minučių, dar po 10-15 min jis buvo baigtas. Turint uomenyje, kad tokio fiksuoto daikto implementacija neturėtų sudaryti sunkumų (o su savo veiksmų paieškos algoritmų aš prasėdėjau kelias dienas), šiuo atveju, kai rankos niežti piešti, čia WIN. Po kelių prisėdimų (bendro laiko neskaičiuoju) šitą decision tree reikaliuką baigiau, ir prie pradinio plano reikėjo pridėti tik vieną vienintelę grandį. Paveiksle neparodyta, bet prieš bandydamas treniruotis minotauras tikrina, ar įvykdyti visi prerekvizitai. Šitas dalykas praktiškai nieko nepakeitė, dabar minotaurai bent jau žino, kodėl jų akademijoje nemoko.:) Pradinis variantas atrodo taip:
Dariau su Microsoft Word ("puikus" pasirinkimas šiam tikslui :)), todėl atrodo taip neįprastai. Kiekvienas klausimas - minotauro implementacijos klasės metodas, be kitko kaip parametrą gaunantis koeficientą, nuo kurio priklauso atsakymas. Tie "decrease all weight coefficients of branch" reiškia, kad visi konkrečios šakos koeficientai pakeičiami, kad būtų mažesnė tikimybė pakartoti tokį pasirinkimą - tai yra apsauga nuo amžinų ciklų.
Antra mano darbų darbelių dalis - tęsiu darbus prie žaidimo art'o. Kol kas nedaug pasistūmėjau, bet "postūmių kokybė" man vis labiau patinka. Šiuo metu be kitų piešinių bandau keisti minotaurų įgūdžių paveikslėlius. Pvz.:
Iki darbų, į kuriuos pažiūrėjęs sakyčiau "Mmmmmmm", dar toli, bet dabar esu jau visą galvą aukščiau už tą Antisepthic, kur buvo prieš mėnesį ar du.
Štai tokia ta evoliucija...
Atnaujinta:
Šiaip jau laikas miegoti, bet kažkaip minotaurai užvaldę mano protą.:)
Nauja "vaikščiojančio kilimo" versija:
Mažesnis paveiksliukas, tai tai, kaip turėtų atrodyti žaidime. Atspėkite, vaikai, ką daro minotauras?:)
Va dabar tikrai būtų įdomu pamatyti kodą, kaip tą decision tree realizavai. Ar tai tiesiog paprasta ifų seka, ar kažkas universalesnio?
AtsakytiPanaikintiMan asmeniškai labai nepatinka tas "mygtuko" efektas. Galėtų tarkim būt nedeformuotas paveiksliukas su kažkokiu antikinės tematikos rėmeliu, kad ir mygtuko formos. Žodž, ragai užlinke ant mygto briaunos - negražu.
Čia tipo bus skillsas pasiversti į Chewbacca :D ? Nors nežinau ką jis daro, bet man labiau patinka senasis.
Cituojant "Čia tipo bus skillsas pasiversti į Chewbacca :D ?"
AtsakytiPanaikintiBūtent! Matai, kaip lengva atspėti, kai tinkamai nupiešta.:) Esmė čia, kad profesionaliau atrodo + man gražesnis naujesnis variantas (Chewbacca, o ne zombis).
Kodo gabalas
http://www.mediafire.com/?5qqd68h1546308p
teks palaukti ten kažkiek sekundžių dėl poros kilobaitų failo. Ten pats decision tree ir priedo keli metodai, kurie jame naudojami. Bet šiaip kaip ir rašei, ten ifų seka, tik kad ifų sąlygos keičiasi (sąlyga šiuo atveju - klasės metodas grąžinantis bool).
P.S. Dėkui už šviežias akis, aš kai ko jau nebesugebu blaiviai vertinti;)
zombis piktesnis, o tas naujas toks kažkoks žiovauja ar raugeja :)
AtsakytiPanaikintiNedaryk tokių "antnaujinimų", nes RSS apie juos nepraneša. Drąsiai dėk naują blogpostą, nes dabar jei nebūčiau belekaip smalsus, nebūčiau pamatęs naujo picso :)
AtsakytiPanaikintiPabandom spėt. Nugi vemia vynuogiu sultimis, Ne ? :D
O šiaip ar minotaurai turėtų kandžiotis ? Gal reikėtų kokių aštresnių dantų? Man patinka šitam picse biški kitokis minotauro sudėjimas nei anksčiau. Labiau minotauriškas. Tik va sixpackas biški persisukęs :)
Ta šita, gal keičiamęs linkais, Tavo blogui praverstų šiek tiek reklamos :)