Project Smith Autori The Bochni Effekt Kreimir osi
Project Smith Autori: The Bochni Effekt Krešimir Ćosić Petar Marendić Ivan Drnasin
Neka se drugi tuku za mene… n n n n Project Smith je igra U igri sudjeluju programeri Cilj igre je napisati što bolji program Programere koji sudjeluju u igri zovemo “natjecatelji” Njihove programe zovemo “agenti” Agenti se, na određen način, mogu sukobiti i eliminirati jedni druge iz igre Najbolji agent je onaj koji “preživi” tj. nije eliminiran Možemo reći da se svaki od agenata bori za svog natjecatelja.
Rodjaci n n Kako je agent zapravo program kojeg piše natjecatelj, moguće je istovremeno pokrenuti više nezavisnih inačica tog istog programa Iako svaki od natjecatelja u igri sudjeluje samo s jednim programom, na početku igre se pokreće više inačica tog programa, i svaka od tih inačica je nezavisan agent. Sve agente koji su inačice istog programa zajedno zovemo “vrsta agenata” Na taj se način za svakog natjecatelja bori jedna “vrsta agenata”
Množe se k’o mišovi n n n n Da bi igra bila zanimljivija, agenti se mogu “dijeliti” Prilikom dijeljena, od jednog agenta nastanu dva nova Novi agenti se prema potrebi mogu dalje dijeliti U početku je broj agenata malen, a dijeljenjem mogu nastati velike populacije Ne zaboravimo, tu veliku populaciju agenata možemo podijeliti na vrste, a svaki agent u istoj vrsti izvršava isti programski kod i bori se za istog natjecatelja Da bi neki natjecatelj pobijedio, njegova vrsta mora pobijediti, a to znači da svi agenti svih drugih vrsta moraju biti eliminirani Agenti iste vrste se međusobno ne sukobljavaju (naravno!).
Šećer je sladak n n n Agenti se bore u dvodimenzionalnoj matrici koju zovemo ‘Matrica’. Po Matrici je raspoređen šećer kojeg agenti skupljaju. Šećer im je potreban kao izvor energije. Energija je agentima potrebna za obavljanje raznih radnji Također, agent koji ima više energije je jači od drugih agenata i može pobijediti druge agente u međusobnom sukobu Dakle, da bi agent bio uspješan, jedna od bitnih stvari je da zna dobro sakupljati šećer
Život u Matrici n n Matrica se sastoji od mnogo ‘kockica’ koje zovemo ‘elementi matrice’ Agenti se mogu kretati po matrici ‘kockicu’ po ‘kockicu’ (to jest ‘element’ po ‘element’) u četiri smjera: gore, dolje, lijevo, desno Agenti mogu gledati Matricu oko sebe, ali samo određen broj kockica u daljinu Kad gledaju, oko sebe mogu ugledati druge agente, ili mogu gledati koliko ima šećera na okolnim elementima matrice
Di mi je Antisklerin? Ma sidi i gledaj! n n Ne zaboravimo da natjecatelji programiraju agente. Time je njihovo ponašanje unaprijed određeno, odnosno agenti su samostalni. Nakon starta igre, natjecatelji nemaju nikakav način za upravljanje agentima, ili bilo kakav utjecaj na agente Dakle, nakon starta igre natjecatelji mogu samo gledati bitku i držati fige Zato je cilj natjecatelja da isprogramiraju što pametnijeg agenta.
Šta se tu ima za vidit n n n Igra će imati grafičko sučelje koje prikazuje Matricu i agente Matrica je prikazana kao vrsta zemljovida (tlocrt), što je vrlo odgovarajuće jer je dvodimenzionalna Raspored šećera u Matrici biti će grafički prikazan (nacrtan) kao brda i doline (šećera). Agenti su prikazani kao točkice raznih boja, svaka vrsta ima svoju boju Također će biti vidljiv trenutni poredak agenata, procjena snage pojedine vrste i broj agenata u svakoj od vrsta
A kako to radi? n n n Osnovni dio sustava zovemo implementacija okoliša. Ona će biti napisana u C++-u. U implementaciju okoliša će biti ugrađena pravila, i grafičko sučelje. (Sjeti se: pravila smo ukratko objasnili u prvih 6 slika. Pravila također opisuju i Matricu. ) Sastavni dio implementacije okoliša je i međusklop sa agentima. Preko međusklopa komuniciraju agenti i okoliš. Na taj način se agenti ubacuju u okoliš, a time i u Matricu.
A šta mi tu dobroga radimo? n n n Pokušali smo osmisliti pravila tako da igra bude interesantna. Detalji su bitni! Pokušat ćemo prikazati igru na vizualno ugodan način, tako da sukobi agenata budu interesantni za gledanje (navijanje? ) Agente će biti moguće pisati u C++-u. Time omogućavamo natjecateljima da lako izraze svoje ideje o ponašanju svog agenta, to jest da agente jednostavno isprogramiraju u vrlo poznatom i raširenom jeziku.
Kraj Pozdravlja vas tim The Bochni Effekt
- Slides: 11