InfoTech Umeå

Träff kring Robocode
Deltagarna under kvällens Robocode-tävling lade pannorna i djupa veck och så småningom fick strategierna mätas mot varandra på storbild.

Lekfull robotprogrammering roade

Medlemmarna i Umeå Java User Group tog sig an en utmaning av det mer lekfulla slaget när de i programmeringsspelet Robocode fick koda robotar som duellerade mot andra robotar.

Vanligtvis brukar det krävas en hel del nedlagda programmeringstimmar innan det går att skönja konkreta resultat, men det finns undantag. Under parollen ”Umejug is going ballistic” samlades ett 15-tal medlemmar ur
Umeå Java User Group
i Sogetis lokaler för att utmana varandra i programmeringsspelet Robocode.

– Det började som ett kul förslag på Twitter som snabbt gav positiv respons, förklarar Mattias Sällström, en av initiativtagarna bakom Umejug medan han försöker få ordning på utvecklingsmiljön i sin dator.

Styr beteendet

Själva spelet har funnits sedan 2001 och som namnet antyder handlar Robocode om kod. Kortfattat handlar spelet om att deltagarna i Java eller .NET programmerar själva beteendet i en digital stridsvagnsrobot som därefter släpps ut på slagfältet där andra robotar väntar. Mest poäng när striden är över vinner.

Den första delen av kvällen ägnades främst åt att få ordning på Eclipse-utvecklingsmiljön i deltagarnas datorer, något som även satte Sogetis trådlösa nätverk under hård press. Efter idogt arbete av kvällens arrangörer Markus Örebrand och Samuel Moritz kunde deltagarna slutligen dela upp sig i mindre grupper och fokusera på robotarnas beteendemönster.

Markus Örebrand och Samuel Moritz höll i trådarna kring Robocode

Markus Örebrand och Samuel Moritz höll i trådarna under Umejugs första kontakt med programmeringsspelet Robocode.

Svårt att bemästra

En Robocode-robot kan vara oerhört simpelt uppbyggd och det räcker med bara några få kodrader för att få den att köra lite framåt, söka efter en fiende och avlossa ett skott i den riktningen. Den verkliga utmaningen ligger i att skapa en effektiv uppsättning instruktioner som även låter roboten anpassa sig efter motståndarna. Riktigt avancerade robotar kan innehålla tusentals rader kod.

Tusentals kodrader blev det knappast den här kvällen, men några av robotarna visade prov på lite mer avancerade förmågor så som målsökning och flackande flyktmönster. Vinnarna i kvällens två skarpa matcher fick i utbyte mot applåder och priser avslöja sina strategier för övriga deltagare.

Ingen nytta – bara nöje

Så vad har då deltagarna i Umeå Java User Group för nytta av att kunna programmera robotar som skjuter på varandra?

– Faktiskt ingen nytta alls. Våra aktiviteter är till för att träffa likasinnade och ha kul. Det är skönt att lägga fokus på annat och att inte behöva tänka lika mycket kvalitet som när man arbetar, förklarar Mattias Sällström.

Stämningen under kvällen var lekfull och avslappnad, samtidigt som de problem som uppstod snabbt löstes med gemensamma insatser. Umejug bildades i december 2009 och det här var första gången gruppen testade på ett programmeringsspel. Med tanke på den goda uppslutningen och positiva responsen är förutsättningarna goda för att utforska fler vrår i denna genre.

Rolig inlärning

Lekfullheten till trots kan det nämnas att det faktiskt finns både skolor och universitet som använder Robocode, dels för att lära ut programmering på ett underhållande sätt och dels för att studera artificiell intelligens. Robocode bygger på öppen källkod och är med andra ord fritt för vem som helst att hämta hem och arbeta med. Den första versionen togs fram av Mathew Nelson och gjordes tillgänglig för allmänheten redan 2001.

Förutom de exempelrobotar som ingår i Robocode går det också att hitta gott om robotar på internet. Inte helt oväntat finns många riktigt inbitna entusiaster där ute som låter sina skapelser möta varandra i internationella tävlingar och ligor.

Mer om Umeå Java User Group


Umeå Java User Group´s webb finns mer att läsa om både genomförda och kommande tillställningar.

Allt om robotprogrammeringen hittar du på
Robocode-hemsidan.

Text och foto: Anders Magnusson

Text avMikael Hansson
Publicerad

Fler nyheter om ITS, Sogeti och Umejug

Se alla relaterade nyheter