Trooper Posted November 26, 2011 Report Share Posted November 26, 2011 (edited) Microsoft Development Center Serbia i Bubblecup sa ponosom predstavljaju pilot projekat u AI programiranju Ovo eksperimentalno takmicenje je namenjeno svima koje zanima teorija igara, veštačka inteligencija i video igre. Ili su jednostavno igrali Haxball :) Detalje možete pogledati na http://www.bubblecup.org/bubblebot, a ono što bih ja samo istakao je da su propozicije jako jednostavne a biće vrednih nagrada (nezvanično xbox i neka gaming oprema, al to niste čuli od mene ;) Za sve što ne bude jasno nakon čitanja zvaničnih propozicija - slobodno pitajte. Srećno svima koji odluče da učestvuju! Also izvinjavam se nisam mogao da nađem more appropriate forum za topic Edited November 26, 2011 by trooper Quote Link to comment Share on other sites More sharing options...
reiser Posted November 26, 2011 Report Share Posted November 26, 2011 (edited) Tvoj post me naterao pokusam da iskodiram nesto :) Medjutim: Kada pokusam da pokrenem game framework :\ //edit nvm, sredio sam, glup sam :) Edited November 26, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
reiser Posted November 27, 2011 Report Share Posted November 27, 2011 trupsi, jel mogu nekako da igram preko tastature, ili moram da imam kontroler ? Quote Link to comment Share on other sites More sharing options...
reiser Posted November 27, 2011 Report Share Posted November 27, 2011 (edited) i zasto mi ne radi sledeca klasa, citam sa STDIN-a, upisujem na STDOUT kao sto je navedeno u uputstvu, ali mi se igraci ne pomeraju u game frameworku: unit reibot; interface type {$M+} TReibot = class private const FIELD_WIDTH = 796; FIELD_HEIGHT = 526; GOAL_WIDTH = 226; PLAYER_RADIUS = 4; BALL_RADIUS = 2; PLAYERS_PER_TEAM = 2; type TVector = record X, Y : Double; end; TPlayerInfo = record Position : TVector; KickedBall : Integer; end; TPlayers = record Ally, Opponent : Array[0..PLAYERS_PER_TEAM - 1] of TPlayerInfo; end; TBall = record Position : TVector; Velocity : TVector; end; var FMySide : Integer; FBallPossession : Integer; FMyScore, FOpponentScore : Integer; Player : TPlayers; Ball : TBall; procedure Think; public constructor Create; destructor Free; procedure Play; published end; {$M-} implementation uses Windows; constructor TReibot.Create; begin end; destructor TReibot.Free; begin end; procedure TReibot.Play; var reset : Integer; begin while TRUE do begin ReadLn(reset); If reset = 1 Then Begin ReadLn(FMySide); ReadLn(FMyScore); ReadLn(FOpponentScore); ReadLn(FBallPossession); End; ReadLn(Player.Ally[0].Position.X); ReadLn(Player.Ally[0].Position.Y); ReadLn(Player.Ally[1].Position.X); ReadLn(Player.Ally[1].Position.Y); ReadLn(Player.Opponent[0].Position.X); ReadLn(Player.Opponent[0].Position.Y); ReadLn(Player.Opponent[1].Position.X); ReadLn(Player.Opponent[1].Position.Y); ReadLn(Ball.Position.X); ReadLn(Ball.Position.Y); ReadLn(Ball.Velocity.X); ReadLn(Ball.Velocity.X); ReadLn(Player.Ally[0].KickedBall); ReadLn(Player.Ally[1].KickedBall); ReadLn(Player.Opponent[0].KickedBall); ReadLn(Player.Opponent[1].KickedBall); Think; end; end; procedure TReibot.Think; begin WriteLn('1'); WriteLn('500.5'); WriteLn('300.5'); WriteLn('0'); WriteLn('1'); WriteLn('500.5'); WriteLn('300.5'); WriteLn('0'); end; end. Posle citanja sa ReadLn(), ispisem na STDOUT u Think() da pomerim oba igraca na 500.5, 300.5 koordinate, ali se nista ne desava? Funkcija se poziva, parametri se ispisuju na STDOUT definitivno, probao sam tako sto sam "manuelno" pokrenuo bota, bez frameworka, upisivao rucno parametre i nakon upisa se ispise ovo u Think(), i dok se bot pokrece pod frameworkom, uredno iscita prvi "talas" STDIN-a koji framework posalje, zatim se Think() izvrsi ali se igraci ne pomere :( I onda vise nema podataka na STDIN od frameworka. Probao sam i preko WriteConsole() API-ja da ispisujem, ali dzaba.. Edited November 27, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
samir^b Posted November 27, 2011 Report Share Posted November 27, 2011 genetski algoritmi nista? Quote "Odvajali se mi ili ne, mi smo vec odvojeni!" - Dj. Balasevic Link to comment Share on other sites More sharing options...
Trooper Posted November 27, 2011 Author Report Share Posted November 27, 2011 i zasto mi ne radi sledeca klasa, citam sa STDIN-a, upisujem na STDOUT kao sto je navedeno u uputstvu, ali mi se igraci ne pomeraju u game frameworku: trebalo je da napravis neki jednostavniji primer ako si hteo da debagujem ovo. Nisam koristio Delphi jedno 5 godina :) Probaj da ispisujes 4 puta "0" u po jednom redu, tj da za pocetak ne radis nista sa botovima. Proveri jos jednom da li si ispostovao protokol (http://bubblecup.org/botsrc/BubbleBotRuleBook.pdf) tj da mozda ne citas neki input line manje ili vise. trupsi, jel mogu nekako da igram preko tastature, ili moram da imam kontroler ? u ovoj verziji samo kontroler, sorry. A i to je dodato cisto sprdnje radi posto je osnovna ideja bila da samo AI igra. genetski algoritmi nista? huh? Quote Link to comment Share on other sites More sharing options...
reiser Posted November 27, 2011 Report Share Posted November 27, 2011 (edited) Resio, morao sam da flushujem stdout nakon pisanja, sada radi :) Edited November 27, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
reiser Posted November 28, 2011 Report Share Posted November 28, 2011 (edited) Aj jos nesto da pitam - jel postoji jos neki bot za testiranje osim ona 3 koja idu uz framework ? Sabijam sva tri bota trenutno, treba mi neki jaci :) Edited November 28, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
Guest Posted November 28, 2011 Report Share Posted November 28, 2011 BubbleButt heheheh Quote Link to comment Share on other sites More sharing options...
Trooper Posted November 29, 2011 Author Report Share Posted November 29, 2011 (edited) Air-filled ass? Aj jos nesto da pitam - jel postoji jos neki bot za testiranje osim ona 3 koja idu uz framework ? Sabijam sva tri bota trenutno, treba mi neki jaci :) sabijas i WulfBot-a? :) Respect. Nema drugih botova za testiranje, to je i deo izazova u takmicenju, da pretpostavis kakvih sve botova moze da bude i spremis odgovor na sve taktike :) Kreni da igras protiv svog bota npr, to ti je neka osnovna forma ovoga http://en.wikipedia.org/wiki/Evolutionary_algorithm Edited November 29, 2011 by trooper Quote Link to comment Share on other sites More sharing options...
reiser Posted November 29, 2011 Report Share Posted November 29, 2011 (edited) Ceo gameplay WolfBota je baziran na bounce shotovima od zidova, jedna funkcija koja predvidi gde ce loptica biti nakon n turnova resava to :) Tako da je nemoguce da mi da gol, osim ako ga bas ne usere pozicija, da ne moze goalie da se vrati na gol ili da lose ispuca loptu, jer jos nisam napisao algoritam za pasove, driblanje, racunanje kicka (trenutno se ispucava ka sredini gola sve ). U stvari, meni trenutno samo golman radi, a ovog drugog bota sam stavio u chase modu (bazirao sam AI na FSM modelu) i u stvari samo juri i ispucava lopticu ka centru gola :) Kontam da pokusam sa A* searchom da odradim ostale stvari i vidim kako ce se to ponasati, ili da rucno iskodiram FSM stanja. Edited November 29, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
Trooper Posted November 29, 2011 Author Report Share Posted November 29, 2011 aj submituj bota bas me zanima kako radi :) no worries oko kradje intellectual property-ja, zaposlenima i sirem krugu njihovih porodica nije dozvoljeno ucestvovanje :) nisam mnogo analizirao problem, al me bas zanima da li bi mogao da se svede na problem potezne igre (uz odgovarajuca ogranicenja), pa da se primeni neki jednostavan Minimax algoritam ili nesto slicno Quote Link to comment Share on other sites More sharing options...
reiser Posted November 29, 2011 Report Share Posted November 29, 2011 (edited) Evo submitovao. Imaj u vidu samo da ima jos mnooogo toga da se doradjuje, trenutno se goalie samo ponasa otprilike kako sam zamislio :) Pa da, tako i ja kontam, da primenim A* za path/kick/pass searching. //edit Prvo sam submtivao bagovitu verziju, resubmitovao sam dobru verziju sada :) 22:05 vs wolfbota Edited November 29, 2011 by reiser Quote Link to comment Share on other sites More sharing options...
Trooper Posted November 29, 2011 Author Report Share Posted November 29, 2011 vrh. Simple and yet stvarno sabija ove botove :) Vec vidim da ce biti zabavno takmicenje jer niko ne zna taktiku protivnickog bota :) Quote Link to comment Share on other sites More sharing options...
reiser Posted November 29, 2011 Report Share Posted November 29, 2011 Nema tu nesto mnogo taktiziranja IMHO. Jedan igrac stoji nazad, drugi je roamer, suvise je mali teren / spori igraci da bi mogla oba bota da imaju ulogu attackera i ostave prazan gol :) Ne znam samo koliko ima prijavljenih, ali mi se cini da ih ima bas malo :) Quote Link to comment Share on other sites More sharing options...
Trooper Posted November 29, 2011 Author Report Share Posted November 29, 2011 Nema tu nesto mnogo taktiziranja IMHO. Jedan igrac stoji nazad, drugi je roamer, suvise je mali teren / spori igraci da bi mogla oba bota da imaju ulogu attackera i ostave prazan gol u pravu si donekle, al mislim da ima situacija kada mogu oba da krenu u napad, bar do pola terena. Mada kazem, nisam se mnogo udubljivao. Zato je ovo samo pilot verzija takmicenja, da vidimo iskustva i predloge za na dalje, sta moze da se izmeni (tipa dal dodati treceg igraca i slicno), i da pribavimo vise nagrada za sledecu iteraciju ;) Ne znam samo koliko ima prijavljenih, ali mi se cini da ih ima bas malo bice ih :) ljudi vole da cekaju zadnji trenutak pre nego predaju resenje. Quote Link to comment Share on other sites More sharing options...
reiser Posted December 3, 2011 Report Share Posted December 3, 2011 sto produziste deadline za 5ti decembar? Quote Link to comment Share on other sites More sharing options...
brue Posted December 3, 2011 Report Share Posted December 3, 2011 Zbog navale E, srecno sa tim. Razguzi ih! Quote Link to comment Share on other sites More sharing options...
reiser Posted December 3, 2011 Report Share Posted December 3, 2011 pa tesko, jer sam otisao van zemlje juce i do 5tog necu imati vremena da bilo sta menjam :) zato i pitam :) Quote Link to comment Share on other sites More sharing options...
Trooper Posted December 4, 2011 Author Report Share Posted December 4, 2011 sto produziste deadline za 5ti decembar? nisam upoznat sa promenama, jesi ti siguran? Ja sam ubedjen da je od pocetka bilo do ponedeljka ujutru Quote Link to comment Share on other sites More sharing options...
dNte Posted December 4, 2011 Report Share Posted December 4, 2011 inb4 tole namestio Bravo Marko. Quote infidel Link to comment Share on other sites More sharing options...
reiser Posted December 4, 2011 Report Share Posted December 4, 2011 hmm.. pa moguce da sam utripovao, mada sam 80% siguran da je rok bio 2 decembar, 8am. Quote Link to comment Share on other sites More sharing options...
Trooper Posted December 4, 2011 Author Report Share Posted December 4, 2011 nope. Jedino sto ja znam je da smo razmatrali da li da bude 5 ili 6 :) Tako da imas jos nesto vise od 12h da unapredis AI jos malo ;) Quote Link to comment Share on other sites More sharing options...
reiser Posted December 4, 2011 Report Share Posted December 4, 2011 ma, to je to sto sam odradio, glupi FSM, pa ako prodje prodje :) Quote Link to comment Share on other sites More sharing options...
reiser Posted December 7, 2011 Report Share Posted December 7, 2011 http://bubblecup.org/bubblebot.php 29 botova, u jeeee kontam da su mi sanse 1% da prodjem u prvih 8, jer sam nesto usrao bota zadnji dan, drugog dana sam drao onog wolfbota sa 25-4, zadnjeg dana kada sam predao nisam mogao da ga pobedim :) al' otom potom, ako udjem, trcim na ETF :D Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.