L'Arena
JRobot e' un gioco che simula la guerra tra robot: ogni autore sviluppa un codice (in Java) contenente
l'intelligenza artificiale del proprio robot; viene poi simulata un'arena virtuale in cui 2 robot
vengono piazzati e fatti combattere fra di loro.
Il.Tristo.Smorzatore Il mio JRobot, Il.Tristo.Smorzatore (Beta), ha un'autorevole efficienza del 95%. Ho impiegato 8 ore per realizzarlo, di cui 3-4 al simulatore. Eccone la storia: Ho iniziato questo JRobot mettendolo a confronto con KillerBees, il jrobot che da 3 mesi e' dominatore incontrastato di tutte e 3 le categorie; ben presto mi son accorto che KillerBees non era adeguato per testare il robot che stavo progettando, infatti KB e' un jrobot anomalo: e' stato sfornato da 2 ingegneri, che ci hanno infilato tecniche avanzate; in particolare KB e' in grado di "comprendere" il pattern dei movimenti dell'avversario, adeguando la mira di conseguenza. Da allora ho usato NeoMonty (2° in classifica) per mettere sotto torchio Il.Tristo.Smorzatore, fregandomene di KB, e con lo scopo quindi di arrivare 2°. Alla fine ne e' venuto fuori un JRobot in grado di surclassare tutti i JRobot in gara (una trentina), tranne KB. Ora, KB e' ottimo, pero' non vince contro tutti, e quindi (come, a dire il vero, speravo), ho superato in classifica anche lui!
Tutto cio' in modalita 1-on-1, perche' nelle modalita' 2vs2 e 4vs4+4+4 Il.Tristo.Smorzatore e' proprio un cesso!
Diciamo che non ho ancora implementato nessuna routine per il gioco in team: Il.Tristo.Smorzatore
crede sempre che vi sia solo un altro jrobot nell'arena, che quindi deve essere il nemico. Anche nell'1vs1 devo aggiungere parecchie cose, per ora ho solo realizzato lo scheletro e, a parte l'AntiAliasing veloce dei dati campionati, e le techniche di difesa e attacco adattative, non c'e' nulla di speciale.
Quindi consiglio a tutti coloro che conoscono Java/C++ di provare a costruire il proprio JRobot: in meno di 1 ora
se ne puo' costruire uno semplice, che se progettato sulla base di una buona idea, puo' essere migliore di
un robot perfezionato al massimo (ed altri autori sono di questo stesso parere). Classifica finale ( Apr 2001 )
Resto della Classifica Finale [Apr 2001] - (Copia locale dal sito di JRobots) Storia di un Lamer (Aggiornamento del 9 Maggio 2001)
Ritiro molto di quanto detto sopra (era l'8 Aprile 2001), in particolare vi sconsiglio di sviluppare il
vostro JRobot, ed io stesso non terminero' il mio: troppo poca competizione e troppo Lamer Walter N.
(l'unico dei 2 autori di KillerBees ancora attivo)
Infatti ho spaccato culi (efficienza 93.5%) nonostante Il.Tristo.Smorzatore non fosse ancora terminato (e con una tendenza al suicidio contro i muri) e nonostante la lamerata di Walter di aggiungere all'arena Myst (una variante di KB) con lo scopo di abbassare il Kill-Ratio del mio ITS. Ma cio' che ha trasformato Walter, da mio ex idolo, a Lamer dei Lamer, e' il fatto che per modificare KB ha copiato dal mio ITS, ottenendo un JRobot che supera KB (LOL). Ed allora e' stato cosi' ingenuo da rivelare che sotto il falso nick di Mysty c'era lui! CHE SPASSO! Segue il post di Walter sulla newsletter di JRobots (testo in inglese) con la mia risposta (in italiano). Se sei un alieno che viene in pace non leggere 'sta bambinata.
> First of all, congratulations Leonardo, you came very very close > to the truth about the Myst...erious robot which topped KillerBees > in 2 categories. Credo che Leonardo abbia intuito molto piu' di quello che tu pensi, esattamente quello che io ho capito fin dai primissimi secondi del primo match che ho fatto fare a Myst contro IlTristoSmorzatore. Non ti sei chiesto perche' Leonardo abbia tollerato un rip da KB, per lo piu' senza venire a chiedere il tuo parere riguardo al plagio? > But Myst is just an experimental version of KillerBees developed by > me and launched to test the effectiveness of the circling movement > in the current arena. L'unico scopo di Myst era quello di abbassare il Kill-ratio del mio IlTristoSmorzatore, che altrimenti avrebbe vinto su KB: infatti la presenza di Myst ha diminuito il kill-ratio de IlTristoSmorzatore di 0.5*100/32=1.56% (statistico) ed aumentato di altrettanto quello di KB (32 e' il # di robot nell'arena, 0.5 tiene conto del fatto che Myst ha giocato per meta' torneo). Il moto circolare ti serviva solo per assicurarti che KB non perdesse mai contro Myst. > And i'm a bit disappointed with the results, because Myst performed > a lot better than expected, since it had some VERY important > features of KillerBees turned off. Anche questi handicap ti servivano solo per abbassare il kill-ratio di Myst, in modo che se ne stesse non notato nelle posizioni basse della ladder, continuando a fare il suo sporco lavoro. > It was IlTristoSmorzatore who inspired me to do this test... [CUT] Ma non mi dire > But, which one is the strongest robot, the one who wins 80% of the > matches against ALL the robots, or the one who scores 90% in the > arena just because it's deadly against simple robots, but it NEVER > wins against the one above mentioned? Ma stai scherzando? Il migiore e' chi arriva primo, e siccome e' una ladder, chi ha il kill-ratio maggiore. E comunque, giusto per frenare la tua arroganza (la tua mi sembra piu' un'affermazione che una domanda), ti faccio vedere come una piccola modifica ad IlTristoSmorzatore (moto random anziche' circolare) permette di ottenere un KB/Myst-killer. Te lo invio via e-mail? O lo aggiungo all'arena, cosi' abbasso il kill-ratio di KB e Myst? :) > try to put in a small league only the first 3 players in Single play, > and you will see that KillerBees will score higher than 90% and with > a big big lead on the second one, Myst or IlTristoSmorzatore. Ma per forza, Myst e IlTristoSmorzatore (sto' usando copia e incolla :P) seguono un pattern regolare, e quindi KB se li mangia a colazione. E' la particolarita' di KB che apprezzo di piu': riesce ad adeguare la mira se l'avversario segue pattern circolari o a zig-zag. (cmq, secondo sarebbe sicuramente Myst, non ci arrivi?) > And another thing which emerged is that with speed set at 1X, > flocking in Team mode is not effective anymore, as witnessed by Myst > score which is KB without flocking in Team; i think that is because of > the increased CPU power every robot gets in Team, they're better > fighting by their own rather than taking some more damage in the > gathering phase and by "area damage" once gathered... Stai attendo a quello che scrivi: quel 'i think' verifica quanto ho detto: tu non hai 'progettato' un robot migliore, tu hai solo cercato di peggiorare KB ed ora che hai visto i risultati cerchi di 'dedurre' perche' Myst e' migliore di KB. E il bello e' che le tue deduzioni sono sbagliate: il ragruppamento rimane utile in team mode (e tu lo hai tolto da Myst sempre per evitare di intaccare KB); quello che rende piu' effecace Myst e' il moto circolare; e' il miglior pattern di spostamento, te lo assicuro, e nonostante i timings di Myst siano errati, offre cmq un margine di difesa maggiore. > Do you wanna an improved Myst as a KillerBeesII? Tutto questo post e solo un tentativo (molto ingenuo) di rimediare all'errore che hai fatto: quello di esserti dato la zappa sui piedi uploadando (usando un fake nick) un bot che surclassera' KB. > I'm not very happy with it, to be true, for the above reasons. Ti credo pienamente :) > I will ask what BingleFish thinks of it, then we will see, but i > have lost some interest in the competition, and i'm looking > forward to JerkFighters. E le tue lamerate hanno fatto perdere a me l'interesse in questa competizione: tu mi hai donato la piu' grande delle vittorie: vedere il mio principale rivale, nonche' ex idolo (per l'ottimo KB), trasformarsi in lamer per causa mia! > Ciao Hi [mb]FAQ
D: Ho provato a far combattere il tuo JRobot con altri robot, ma vinceva solamente con i pił scarsi della
classifica. Come mai?
R: Perche' IlTristoSmorzatore ha l'intelligenza di una mummia dopo una lobotomia :) A parte gli scherzi, la cosa non mi sorprende: il gioco JRobot e' thread-based, ed e' risaputo che il comportamento dei vari robot e' fortemente influenzato da: 1) hardware 2) JVM 3) OS, su cui l'applet viene fatta girare. In particolare se l'HW e' lento (<200MHz), la JVM e' quella del Netscape, l'OS e' il Solaris, IlTristoSmorzatore va' che e' una merdina (sono avvantaggiati i robot che fanno meno calcoli). Come avrai intuito, il Java e' multipiattaforma solo sulla carta: "...that's why Java isn't being used for very much production software development. This is the problem when a language is designed by a company with vested interests (in Java's case, Sun's goal was to gain control over developers' code, so they could make money licensing Java to OS vendors). This never works, because they always end up crippling the thing for silly reasons. Programming languages are best designed by cool guys who don't plan to use the language to gain control over something." - Tim Sweeney (Epic's Lead Programmer) C# e' la naturale spiaggia di approdo per chi vuole abbandonare il Java.
Classifica Finale [Apr 2001] - (Copia locale dal sito di JRobots)
|