[Wedstrijd] Warlight AI Challenge Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 2 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • TheDevilOnLine
  • Registratie: December 2012
  • Laatst online: 06-06 22:54

Acties:
  • 0 Henk 'm!

Verwijderd

Heb me ook bij de institute aangesloten =)
Het is nu nog een starterbot, maar ben al bezig om een wat intelligenter botje te schrijven =)

Acties:
  • 0 Henk 'm!

Verwijderd

Ben inmiddels al even onderweg, ook maar Tweakers als institute bijgeplaatst. Ik had dankzij dit topic de wedstijd ook gevonden, waarvoor dank.

Acties:
  • 0 Henk 'm!

  • Johnnei
  • Registratie: Augustus 2011
  • Laatst online: 24-08 18:54

Johnnei

Uuhmmm....

Bolukan schreef op dinsdag 11 maart 2014 @ 10:03:
Goed idee:

Tweakers Leaderboard

@Hieronder: he jammer, stond ik toch 2 minuten een keer bovenaan :P
Ik heb mij ook aan gesloten :)
Straks maar weer eens verder puzzelen om mijn AI slimmer te krijgen dan de rest :Y Zal alleen wel lastig worden om 1900 punten te halen voor mij :P

[ Voor 1% gewijzigd door Johnnei op 11-03-2014 14:01 . Reden: typo ]

They blur the lines and lead the way, their way!


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 06-10 10:20

Janoz

Moderator Devschuur®

!litemod

Misschien nog een feature request voor AIGames: Het toevoegen van een mogelijkheid om bij 1 of meer groepjes/competities te horen waardoor je instituut niet hoeft te 'misbruiken' voor een soort eigen competitie. Een speler zou dan gewoon zijn opleiding of werkgever in kunnen vullen bij instituut, maar daarnaast een 'competitie' starten met vriendengroep of, zoals in dit geval, een andere community.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • sschalkwijk
  • Registratie: Maart 2013
  • Laatst online: 04-10 21:28
Altijd leuk zoiets ik ga ook eens een poging doen! Alleen hopen dat ik er genoeg tijd voor heb..

Acties:
  • 0 Henk 'm!

  • Chip.
  • Registratie: Mei 2006
  • Niet online
Herko_ter_Horst schreef op zaterdag 08 maart 2014 @ 17:34:
Meestal zijn alleen standaard libraries toegestaan bij dit soort contests, in elk geval voor het deel dat je daadwerkelijk submit.

Maar als jij om de engine en jouw bot een UI heen wilt bouwen, moet je natuurlijk zelf weten wat je gebruikt.
Oh jammer. Het is dus niet toegestaan om gewoon even een optimization toolbox te gebruiken. Bummer.

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Chip. schreef op donderdag 13 maart 2014 @ 00:52:
[...]


Oh jammer. Het is dus niet toegestaan om gewoon even een optimization toolbox te gebruiken. Bummer.
Wat voor een optimization toolbox zou je willen gebruiken om de bot te schrijven? Ik denk niet dat dit een probleem is dat opgelost word met een standaard optimalisatie algoritme...

Ik heb me ook aan de Tweakers groep toegevoegd.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 06-10 11:28

TheNephilim

Wtfuzzle

Jammer dat er alleen een Java starter bot is, als ze nou eens een Python starter bot hadden, dan zou ik er zeker mee beginnen. Gewoon een beetje aanklooien, want het zegt me allemaal nog niet zo heel veel :+

Acties:
  • 0 Henk 'm!

  • Xuj
  • Registratie: November 2009
  • Laatst online: 05-06 11:08

Xuj

TheNephilim schreef op donderdag 13 maart 2014 @ 11:42:
Jammer dat er alleen een Java starter bot is, als ze nou eens een Python starter bot hadden, dan zou ik er zeker mee beginnen. Gewoon een beetje aanklooien, want het zegt me allemaal nog niet zo heel veel :+
Ik was begonnen aan een Python bot, maar heb de laatste dagen niet bepaald tijd gehad om eraan te besteden. Op GitHub heb ik een soort-van-bijna-af bot staan die je wellicht als startpunt zou kunnen gebruiken, maar nog niet getest met de daadwerkelijke engine zelf, dus zal vast vol staan met fouten. Eh, het ding slaagt nog niet eens voor zijn eigen doctests. :P

Acties:
  • 0 Henk 'm!

  • Chip.
  • Registratie: Mei 2006
  • Niet online
Pete schreef op donderdag 13 maart 2014 @ 08:51:
[...]


Wat voor een optimization toolbox zou je willen gebruiken om de bot te schrijven? Ik denk niet dat dit een probleem is dat opgelost word met een standaard optimalisatie algoritme...

Ik heb me ook aan de Tweakers groep toegevoegd.
Matlab of nog beter CPLEX van IBM. En je kan de gehele map gewoon als een graaf zien. Waarbij ieder land gewoon een bepaald gewicht heeft. Vervolgens zou je dus je troepen verplaatsing kunnen optimalizeren of waar je je troepen moet plaatsen. Eventueel zou je ook een model predictive controller kunnen maken, alleen moet je dan een soort algemeen model hebben voor je tegenstanders.

Acties:
  • 0 Henk 'm!

Verwijderd

Janoz schreef op dinsdag 11 maart 2014 @ 15:14:
Misschien nog een feature request voor AIGames: Het toevoegen van een mogelijkheid om bij 1 of meer groepjes/competities te horen waardoor je instituut niet hoeft te 'misbruiken' voor een soort eigen competitie. Een speler zou dan gewoon zijn opleiding of werkgever in kunnen vullen bij instituut, maar daarnaast een 'competitie' starten met vriendengroep of, zoals in dit geval, een andere community.
Het is mogelijk om bij maximaal 3 'institutes' te horen. Voorlopig is dit gewoon de naam voor een apart groepje/competitie waar je bij wil horen. Omdat we uit het verleden weten dat dit vaak een school of bedrijf betreft, hebben we het zo genoemd. Maar je staat natuurlijk vrij om daar in te vullen wat je wil.

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Chip. schreef op donderdag 13 maart 2014 @ 12:59:
[...]


Matlab of nog beter CPLEX van IBM. En je kan de gehele map gewoon als een graaf zien. Waarbij ieder land gewoon een bepaald gewicht heeft. Vervolgens zou je dus je troepen verplaatsing kunnen optimalizeren of waar je je troepen moet plaatsen. Eventueel zou je ook een model predictive controller kunnen maken, alleen moet je dan een soort algemeen model hebben voor je tegenstanders.
Dat is natuurlijk heel leuk bedacht, maar in de praktijk zou dat voor geen meter werken. En ja, ik weet wat die pakketten doen; ik ben een doctoraal onderzoeker in machine learning.

Het eerste probleem is dat je het hebt over 'gewoon' een graaf met 'gewoon' een bepaald gewicht voor troepen verplaatsingen. Het probleem hier is dat je niet de volledige map kan zien (incomplete information) en dat er een hoop kansrekening aan te pas gaat op lokaal niveau voor het verslaan van tegenstanders.

Oftwel, zodra je het probleem snapt en doorgrond zul je zien dat graaf algoritmen je bijna niets zullen helpen. Misschien als je een basisbot hebt die al redelijk zelfstandig lokaal kan werken, maar niet als 'basis'-oplossing voor het probleem.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Het veroveren van regions is geen doel, maar een middel: belangrijkste doel van mijn ai is het her/veroveren van een superregion en daarmee maak je uiteindelijk Other een kopje kleiner. Een region meer of minder levert je verder niets op (basis aantal armies blijft 5). Daarom heb ik niet gekozen voor een graaf-aanpak. (Btw, ik heb er ook aan gedacht.)

Wel heb je ook een graaf nodig:
* Om je inland-armies naar het front te krijgen;
* Om de attractiviteit van elke superregion te bepalen: Hoeveel zetten en armies heb je naar verwachting nodig (versus wat krijg je ervoor/pak je ermee af.);
* Om te onthouden welke regions met elkaar zijn verbonden.

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Inderdaad zal iedereen een graaf implementeren. En waarschijnlijk zul je ook een shortest-path algoritme nodig hebben om troepen naar het front te verplaatsen.

Aan de andere kant, mijn shortest-path-algoritme en graaf implementatie is minder dan 20 regels van mijn code. Ter vergelijking, de io is al 300 regels :X

Welke talen gebruiken jullie? Ik heb mijn bot nu in C++ geschreven.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • TheDevilOnLine
  • Registratie: December 2012
  • Laatst online: 06-06 22:54
Laten we proberen beste 'institute' te worden!
After the finals are done, we now also have a prize (thanks to Starapple) for the best institute. The top 5 bots in the best institute will all get a -to be announced later- prize. Only institutes with at least 5 bots in it compete for this prize.
Ook zijn de regels een stukje veranderd
There also was a change in the engine. In Conquest regions could attack/transfer as many times to the same region as there were armies on it. We changed this to 1 attack/transfer per region to the same region per round.
Alle wijzigingen zijn te vinden op http://theaigames.com/dis...4571/major-changes/1/show

P.S. de finales zijn ook een maand vertraagd!

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Vraagje: Je staat (met 2 legers) op Midden-Oosten en wilt Afrika veroveren. Heel Afrika bestaat uit neutrals met 2 legers. Wat is de beste taktiek? Graag met toelichting.

NB: De "Other" zit een beetje dom te rotzooien in een deel van Noord-Amerika en Azie tegelijkertijd en daar heb je geen rekening mee te houden.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:18
Pff, al dat gezeur over grafen, alsof de observatie dat het speelveld als graaf gemodelleerd kan worden automatisch een zinnige strategie oplevert. 8)7
Pete schreef op vrijdag 14 maart 2014 @ 13:32:
Aan de andere kant, mijn shortest-path-algoritme en graaf implementatie is minder dan 20 regels van mijn code. Ter vergelijking, de io is al 300 regels :X
Ik heb ook honderden regels aan tooling, veel meer dan de daadwerkelijke speler code. Dat heb je altijd met dit soort projecten, omdat je toch een beetje flexible codebase wil opbouwen om mee te kunnen experimenteren.

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Soultaker schreef op vrijdag 14 maart 2014 @ 17:42:
Pff, al dat gezeur over grafen, alsof de observatie dat het speelveld als graaf gemodelleerd kan worden automatisch een zinnige strategie oplevert. 8)7
Inderdaad, precies mijn punt. De standaard optimalizatie-algoritmes voor grafen hebben hier heel weinig nut als strategie.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Bolukan schreef op vrijdag 14 maart 2014 @ 16:27:
Vraagje: Je staat (met 2 legers) op Midden-Oosten en wilt Afrika veroveren. Heel Afrika bestaat uit neutrals met 2 legers. Wat is de beste taktiek? Graag met toelichting.

NB: De "Other" zit een beetje dom te rotzooien in een deel van Noord-Amerika en Azie tegelijkertijd en daar heb je geen rekening mee te houden.
Oeh, sneaky ons onze beste tactieken proberen te ontfutselen >:) Ik denk niet dat je echt kunt spreken van de beste tactiek voor het veroveren van een continent, omdat je met veel dingen rekening moet houden, ik probeer in mijn bot (die nog af genoeg is om te uploaden :/) rekening te houden met 7 verschillende dingen bij het veroveren van een leeg continent.

En voor de mensen die hun Matlab formules op een graaf willen toepassen, zo moeilijk zal het toch niet zijn om implementaties in je favoriete taal te vinden voor de formules die je in Matlab zou gebruiken.

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Ik heb wel een formule die ik mis uit matlab: nbininv. Helaas is daar echt niet makkelijk een C++ oplossing voor te vinden....

Ik heb er wel een hoor, maar dat is echt een hack.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:18
Voor C++ programmeurs is het ook handig dat C++11 (grotendeels) ondersteund wordt:
C++ now compiles with the "c++0x" flag
* Soultaker gaat maar eens z'n codebase herschrijven om daar gebruik van te maken. :9

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Pete schreef op vrijdag 14 maart 2014 @ 18:35:
Ik heb wel een formule die ik mis uit matlab: nbininv. Helaas is daar echt niet makkelijk een C++ oplossing voor te vinden....

Ik heb er wel een hoor, maar dat is echt een hack.
Ik gebruik een inverse normaal, met ipv ½ als continuity correction een paar gezochte waardes, daarmee zit ik er nooit meer dan 1 leger naast en 99% van de tijd is het gewoon correct. Ik heb niet eens gezocht naar iets als nbininv. Misschien toch gaan doen. Of gewoon de niet inverse binomial berekenen en kijken of ik goed zit, maar goed dan zal het al snel net zo hacky zijn als wat jij al hebt.

[ Voor 4% gewijzigd door _js_ op 14-03-2014 23:05 ]


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Sharky (met bot Punisher) in het huis! Sta ik meteen op de 1e plek van Tweakers... jeuj! :-)

Less = more


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:18
Oh, je bent niet deze Sharky. Verwarrend :+

[ Voor 12% gewijzigd door Soultaker op 15-03-2014 16:17 ]


Acties:
  • 0 Henk 'm!

  • Ceyhan
  • Registratie: November 2009
  • Laatst online: 28-01-2021
IWriteCode schreef op zaterdag 15 maart 2014 @ 13:54:
Sharky (met bot Punisher) in het huis! Sta ik meteen op de 1e plek van Tweakers... jeuj! :-)
Nog 23 punten Sharky..... Thee?Yo 8)7 |:(

Afbeeldingslocatie: http://www.plaatjesdump.nl/upload/f882bc022b142c271fd9f81cec3bb770.png

Acties:
  • 0 Henk 'm!

Verwijderd

Vanaf vanochtend zijn we officieel gaan samenwerken met Warlight.net :D

Dit is waar de competitie van is afgeleid en heeft al jaren een zeer uitgebreide communitie van over de hele wereld. We hopen dan ook de concurrentie voor jullie ietsje uit te breiden ;) Maar meer users betekent dat wij ook meer kunnen werken aan de website, dus meer competities, grotere prijzen en vooral ook meer fun!

Veel succes met jullie bots jongens!

Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

Ondertussen al 90 deelnemers, zeer nice. Succes allemaal d:)b

[ Voor 4% gewijzigd door bReChThOu op 18-03-2014 22:08 ]


Acties:
  • 0 Henk 'm!

  • shorttracker
  • Registratie: Augustus 2005
  • Laatst online: 01-08-2021
Waar vinden jullie welke modules gebruikt kunnen worden in de code?
zo kan ik bijvoorbeeld de random.py module niet gebruiken.

Is dit gewoon uitproberen, of zijn er ergens hints te vinden?

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Ze gebruiken vaak iets verouderde versies van compilers en zo, ook van Python. Er staat wat op http://theaigames.com/dis...b45be/report-a-bug/1/show
Waarschijnlijk is het het makkelijkst om zelf een simpele PRNG te maken.
Python 2.7.3
Mono 2.10.8
GCC 4.6.3

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10:25
Ik zit al een tijdje te lurken hier. De Ant AI challenge van Google was ook erg leuk....
Maar als ik zie hoeveel tijd ik daar in heb gestoken..

Geen tijd hiervoor atm.. zo jammer :P

Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

Ik ga maar een poging wagen. Ik kan het gewoon niet laten. :)

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • TheDevilOnLine
  • Registratie: December 2012
  • Laatst online: 06-06 22:54
IWriteCode schreef op zaterdag 15 maart 2014 @ 13:54:
Sharky (met bot Punisher) in het huis! Sta ik meteen op de 1e plek van Tweakers... jeuj! :-)
I will find you... And I will conquer you! ;-)

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
AIJim, kun je tweakers niet bovenaan zetten in de lijst van Institutes: we zijn nog de enige met 5 of meer deelnemers :P
Leaderboard Institutes

[ Voor 32% gewijzigd door Bolukan op 19-03-2014 19:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Nice! na te lang onderaan te hebben gestaan is de klimtocht omhoog begonnen, m'n nieuwe bot (v22) heeft nog geen game verloren =)
Ben benieuwd waar de weerstand begint te komen.
Echt slim is m'n bot namelijk nog niet.

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Het gaat hard... 125 bots nu... Meer competitie is op zich leuk... maar je merkt wel dat alles langzamer wordt... de code staat langer in de wacht om gecompileerd te worden... en het aantal gespeelde wedstrijden per bot zal ook omlaag gaan...

Dan toch maar vertrouwen op mijn eigen lokale competitie... :-) Beetje balen alleen dat m'n oude versies beter zijn dan de nieuwe versies... :(

code:
1
2
3
4
5
6
7
8
9
1 bot-v123 1696
2 bot-v125 1693
3 bot-v219 1677
4 bot-v140 1676
5 bot-v127 1673
6 bot-v126 1662
7 bot-v208 1644
8 bot-v189 1624
9 bot-v129 1622

Less = more


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik ben met mijn bot aanbeland bij versie 36, die gebruikmaakt van breadth-first pathfinding naar de "frontlinie". Ik stuiter al een paar dagen heen en weer tussen positie 10 en 15 in de rankings. Om hoger te komen zal ik mijn wegingen van de frontlinies moeten aanpassen... :P
Ik realiseer me nu dat ik niet meer heb geantwoord op mijn forumthread over .NET 4. Ik hou m'n bot op .NET 3.5. :)

[ Voor 29% gewijzigd door CodeCaster op 20-03-2014 09:28 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Xuj
  • Registratie: November 2009
  • Laatst online: 05-06 11:08

Xuj

IWriteCode schreef op donderdag 20 maart 2014 @ 09:11:
Het gaat hard... 125 bots nu... Meer competitie is op zich leuk... maar je merkt wel dat alles langzamer wordt... de code staat langer in de wacht om gecompileerd te worden... en het aantal gespeelde wedstrijden per bot zal ook omlaag gaan...

Dan toch maar vertrouwen op mijn eigen lokale competitie... :-) Beetje balen alleen dat m'n oude versies beter zijn dan de nieuwe versies... :(

code:
1
2
3
4
5
6
7
8
9
1 bot-v123 1696
2 bot-v125 1693
3 bot-v219 1677
4 bot-v140 1676
5 bot-v127 1673
6 bot-v126 1662
7 bot-v208 1644
8 bot-v189 1624
9 bot-v129 1622
Dit ging goed totdat een aantal bots op een of andere manier meer dan 500MB aan geheugen wilden hebben: OutOfMemoryError. Dan is het wachten totdat de consumer weer opnieuw opgestart is. 8)7

Zodra de engine IO een patch krijgt om hier netjes overweg te gaan, loopt alles weer vlekkeloos.

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Volgens mij hebben ze detectie of iemand zit te kijken naar de game-log... Ik zit al een hele tijd te kijken... maar al 150+ potjes... geen Dominator bot in actie :( Zooo zielig...

Less = more


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
ben ook bezig met een C# botje, maar loop bij "setup_map neighbors" tegen de maximale input voor Console.Readline van 256 tekens (bron: http://stackoverflow.com/...nsole-readline-max-length) aan (input is 354 in mijn geval)...

Iemand een idee hoe dit op te lossen? Ik ben begonnen met de starterbot voor C#.

ps. ook op het forum van Conquest geplaatst: http://theaigames.com/dis...max-256-characters/1/show

pps. op stackoverflow wordt wel een oplossing genoemd, maar vroeg me meer af of het niet anders op te lossen was.

[ Voor 29% gewijzigd door Kips op 20-03-2014 15:46 ]


Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Kips, kun je een link naar de dump erbij zetten? Dan ga ik die vanavond eens proberen.

@hieronder, ik zat aan opponent_moves te kijken...., zelfde oplossing als bReChThOu gebruik ik

[ Voor 36% gewijzigd door Bolukan op 20-03-2014 16:05 ]


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
Bolukan schreef op donderdag 20 maart 2014 @ 15:51:
Kips, kun je een link naar de dump erbij zetten? Dan ga ik die vanavond eens proberen.
dump is default, want volgens mij zijn de neighbors altijd hetzelfde...

Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

Kips schreef op donderdag 20 maart 2014 @ 15:39:
ben ook bezig met een C# botje, maar loop bij "setup_map neighbors" tegen de maximale input voor Console.Readline van 256 tekens (bron: http://stackoverflow.com/...nsole-readline-max-length) aan (input is 354 in mijn geval)...

Iemand een idee hoe dit op te lossen? Ik ben begonnen met de starterbot voor C#.

ps. ook op het forum van Conquest geplaatst: http://theaigames.com/dis...max-256-characters/1/show

pps. op stackoverflow wordt wel een oplossing genoemd, maar vroeg me meer af of het niet anders op te lossen was.
Klopt, op windows zit je met deze limiet in de console.
Ik debug niet via de console, maar ik paste de log in een textfile en lees deze uit en stuur dan lijn per lijn naar de parser.

Voor de werking op de servers van de wedstrijd is dit geen probleem, want mono op linux kent dit probleem niet:

C#:
1
 Console.WriteLine("Your input was: " + Console.ReadLine() + " characters long");


C#:
1
2
3
/opt/mono-2.11/bin/mono bReChTbOt.exe
setup_map neighbors 1 2,4,30 2 4,3,5 3 5,6,14 4 5,7 5 6,7,8 6 8 7 8,9 8 9 9 10 10 11,12 11 12,13 12 13,21 14 15,16 15 16,18,19 16 17 17 19,20,27,32,36 18 19,20,21 19 20 20 21,22,36 21 22,23,24 22 23,36 23 24,25,26,36 24 25 25 26 27 28,32,33 28 29,31,33,34 29 30,31 30 31,34,35 31 34 32 33,36,37 33 34,37,38 34 35 36 37 37 38 38 39 39 40,41 40 41,42 41 42
Your input was: 354 characters long

[ Voor 3% gewijzigd door bReChThOu op 20-03-2014 16:25 ]


Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Dit werkt bij mij:
C#:
1
2
3
4
5
private void Test()
{
    String[] lines = File.ReadAllLines(@"C:\Users\Kips\Documents\test.dump", Encoding.UTF8);
    foreach (String line in lines) parser.Parse(line);
}

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

The site lijkt down... :(

Less = more


Acties:
  • 0 Henk 'm!

  • Xuj
  • Registratie: November 2009
  • Laatst online: 05-06 11:08

Xuj

En weer up

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
FF een simpel vraagje: kan je je bot in een willekeurige package stoppen, en zoekt 'ie gewoon de eerste main() ofzo? Dat kan ik zo niet op de site vinden. Of moet de bot 'bot.Bot' heten?

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
Het ligt aan de taal. Voor C++ heb ik gemerkt dat er een toplevel file moet zijn met een main(). Voor php zeggen ze "include __main__ in your main PHP file, so our compiler can recognize it". De naam haalt denk ik nooit uit.

Vervelend met C++ is dat ze niet de top-level map aan het include-path toevoegen. Oftewel, ik heb al mijn headers in dezelfde map staan, omdat dingen anders niet werken...

Het is iig beter dan met codecup waar je al je code altijd in 1 bestand moet proppen.

[ Voor 14% gewijzigd door Pete op 21-03-2014 09:44 ]

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Ik ben bezig in Java (op dit moment alleen maar met de engine om ook wat output te krijgen waar ik wat mee kan).

https://niels.nu


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

@Hydra ik heb alle mongodb zaken eruit gesloopt... en gewoon naar text files geredirect. Zijn maar paar kleine aanpassingen voor nodig.

Less = more


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
IWriteCode schreef op vrijdag 21 maart 2014 @ 11:19:
@Hydra ik heb alle mongodb zaken eruit gesloopt... en gewoon naar text files geredirect. Zijn maar paar kleine aanpassingen voor nodig.
Ja, ik heb 't al draaien.

Maar heeft iemand antwoord op die vraag? Je kunt alleen een zip uploaden, ik weet zo niet hoe hij er verder mee omgaat. Hij start een bot met "java bot.BotStarter" maar ik kan nergens vinden of dat vast is of dat 'ie dat zelf uit probeert te vogelen en of je het in een .jar kunt stoppen. De engine krijgt dat van buiten op de commandline mee.

[ Voor 38% gewijzigd door Hydra op 21-03-2014 11:41 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 06-10 16:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Pete schreef op vrijdag 21 maart 2014 @ 09:44:
Vervelend met C++ is dat ze niet de top-level map aan het include-path toevoegen. Oftewel, ik heb al mijn headers in dezelfde map staan, omdat dingen anders niet werken...
Dat is sowieso niet zo heel standaard. Files includen van je eigen project doe je meestal met quotes ipv angle brackets.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 07-09 17:51
.oisyn schreef op vrijdag 21 maart 2014 @ 11:44:
[...]

Dat is sowieso niet zo heel standaard. Files includen van je eigen project doe je meestal met quotes ipv angle brackets.
Ik ben niet zo ervaren met c++, dus het kan dat ik het fout heb. Maar bijvoorbeeld, ik heb headers voor mijn wiskundige berekeningen en headers voor mijn strategieën. Ik wil ze in de folders math en strategy plaatsen. Nu is het ok om vanuit een top-level file ze te includen ("#include "math/cdf.h"), maar niet om vanuit de strategy headers de math headers te includen. Wat ik in een normaal project zou doen is de top-level map toevoegen aan het include-path om "#include math/cdf.h" te kunnen doen in andere mappen.

offtopic:
It sucks om over programmeren te schrijven in het Nederlands

petersmit.eu


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Eerste (standaard starter) bot gedeployed. Heb alles behalve bot.BotStarter naar m'n eigen sourcedir verplaatst, een zip gemaakt en deze geupload, dus dat werkt. Mijn v0 versie is al lekker aan 't dalen in de stats :D

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

Ben ik de enige die al snel de start-up kit eruit werkt in z'n codebase? Het was nuttig om een beeld te krijgen van hoe dingen (ongeveer) zouden moeten werken, en met een set unittests kan je wat veiliger bouwen, maar verder? Ik bedoel: de opzet van de parser van C#-starterbot was niet heel erg best imho.

Enfin, ik heb een redelijk nuttige strategie te pakken, maar er moet nog wel veel getweakt worden. Zijn er al mensen die iets over hun gevoerde strategie willen verklappen?

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Java doet het niet meer:
code:
1
/bin/run_ai: 2: /bin/run_ai: ./java: not found


Alle java bots vallen als bakstenen in de charts :(

[ Voor 29% gewijzigd door IWriteCode op 21-03-2014 20:11 ]

Less = more


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

Het was even puzzelen, maar ik heb toch nog wat gehad aan numerieke wiskunde. Ik heb nu eindelijk een goede schatting van mijn win - en verlieskansen. Om wille van de snelheid het resultaat ook maar gecached. Met cache, testrun 4 seconde, zonder cache 19 seconde.

Bij anderen nog nuttige ontwikkelingen?

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Corniel schreef op vrijdag 21 maart 2014 @ 20:02:
Zijn er al mensen die iets over hun gevoerde strategie willen verklappen?
Ik itereer over alle zichtbare regio's die niet van mij zijn, en bepaal vanaf welke door mij bezette buur/buren ik die regio zou willen aanvallen, met hoeveel legers en waarom (enum). Het aantal legers voor de gewenste aanval hangt af van de kleur van het doel (neutraal / vijandelijk) en de kleur van en (laatst geziene) legers op erachter gelegen regio's en of deze regio's vanaf andere door mij bezette regio's bereikbaar zijn.

Dit gebeurt vóór de place_armies-move al, zodat ik weet welke regio het meest in paniek is, want deze komt het meeste legers tekort om alle gewenste aanvallen uit te voeren.

Daarna itereer ik over alle gewenste aanvallen per superregio die niet in mijn bezit zijn, aflopend op verhouding van mijn bezit, oplopend op aantal regio's binnen de superregio (superregio waarvan 2/4 van de regio's van jou zijn proberen over te nemen is doorgaans makkelijker dan een met 3/6), om te kijken of de aanvallen mogelijk zijn, en zo ja, dan worden die gequeued.

Ik probeer daarna legers te plaatsen per superregio, en plaatsen gebeurt in de verhouding (gevraagde legers / totaal gevraagde legers * plaatsbare legers), behalve wanneer een regio onder zware belegering ligt; dan krijgt 'ie ze gewoon allemaal. Dit laatste zie je helaas bij veel bots, waardoor je 100 beurten lang legers tegenover elkaar aan het stacken bent terwijl de rest van de kaart neutraal blijft.

Uiteindelijk hou ik per regio bij hoeveel legers er nog beschikbaar zijn voor de betreffende beurt, en indien > 0, verplaats ik deze via breadth-first pathfinding richting de dichtstbijzijnde frontlinie (= een van mijn regio's met neutrale of vijandelijke buren). Wanneer voor een gewenste aanval een significant deel van de legers bij de buren niets staat te doen, worden deze richting de aanvallende regio getrokken, hetzij ter verdediging, hetzij om de aanval in de volgende beurt te versterken.

Het geheel werkt met een stel lijsten met in deze beurt mogelijke en gewenste aanvallen, en een lijst met "gewenste aanvallen in de volgende beurt". Indien een aanval vanuit een bepaalde regio in laatstgenoemde lijst staat, laat de logica de legers op die regio met rust.

Verder werkt het een en ander met diverse wegingen, zoals het aantal buren van een land (een neutral met de meeste neighbors heeft de eerste voorkeur om aangevallen te worden), het percentage van de superregio dat in mijn bezit is, het aantal legers dat benodigd is, enzovoorts.

Fixes die ik nog wil toepassen:

• Nóg sterkere focus op superregio's. Ik zie zo nu en dan nog steeds aanvallen naar nieuwe superregio's gedaan worden, terwijl de superregio vanwaar de aanval komt nog niet eens geheel in mijn bezit is.
• Opgeven. Als ik links een superregio dreig te verliezen maar rechts enorm aan het oprukken ben, blijft mijn bot toch aan de linkerkant (bijna) alle legers bijplaatsen, zelfs al zit ik nog maar met 1 leger op 1 region in een verder volledig door de tegenstander bezette superregion.
• Een beter verdeelde frontlinie. De legers concentreren zich nu erg op één regio, zeker wanneer de tegenstander ook op één regio veel legers heeft staan, waardoor ik via mijn buren van die regio (met ieder 1 leger...) nogal gemakkelijk onder de voet gelopen kan worden.
• Terugtrekken. In de top-10 zit een aantal bots dat een aanval uitlokt door al zijn legers terug te trekken van de frontlinie, waardoor jouw bot enkel regio's ziet met 1-3 legers en dus aanvalt. Ik weet niet of dat bewust is gedaan, maar het lijkt regelmatig te werken.
• Neutrals aanvallen vanaf een regio die belegerd wordt indien er dan genoeg legers overblijven om te verdedigen.
• Meerdere "onmogelijke" aanvallen doen vanaf regio's die één of slechts enkele vijandelijke (of neutrale) regio's omringen. Als je 150-200-150 staat, kun je proberen met tweemaal 149 die 200 aan te vallen.
• Inschatten wat de andere bot heeft, krijgt, kan en wil. Hier doe ik nu nog zeer weinig mee. Je weet hoe groot de map is, dus je kunt schatten hoeveel (super)regio's de tegenstander kan hebben en hoeveel legers hij per beurt kan plaatsen. Met de output van opponent_moves kun je verplaatsingen van en aanvallen naar regio's zien die buiten jouw viewrange liggen. Daarnaast kun je met (ver)plaatsingen van legers ongeveer zien waar de aandacht van de tegenstander in ieder geval de vorige ronde naar uitging.
• Bottlenecks (Zuid-Amerika <-> Zuid-Afrika, Nieuw-Zeeland <-> Azië, Groenland <-> IJsland, ...) herkennen en verdedigen, en doodlopende wegen (Zuid-Amerika, Zuid-Afrika, Australië) herkennen en fanatieker de legers laten laten verplaatsen.

Maar ik voorzie nogal wat problemen om deze logica in mijn "lijstensysteem" te integreren, dus dat gaat voor de volgende versie weer op de schop.

Corniel schreef op vrijdag 21 maart 2014 @ 20:02:
Ben ik de enige die al snel de start-up kit eruit werkt in z'n codebase?
Ik heb de Java-starterbot omgebouwd naar C# en er steeds meer uitgesloopt. Het enige dat nog bestaat is de parser, de gamestate en de models ((Super)Region, Map).

Ik heb een server die twee bots tegen elkaar laat spelen in code (er komt geen consoleverkeer aan te pas, enkel voor server- en bot-debug-output):

AIGames.Conquest console server

Deze server draait op textfiles, één voor de map (ik gebruik nu nog enkel de standaardmap, maar bij het ontwikkelen was een kleinere map wel prettig) en één voor de eventuele gamestate. Een state bestaat uit de update_map en opponent_moves voorafgaand aan een bepaalde ronde, waardoor ik rare situaties uit replays snel kan nabootsen.

Indien geen state wordt geladen, worden ook de startregio's bemiddeld met de bots.

Stond de map al ergens? Zo nee, bij dezen:
AIGames.Conquest map + superregions

Ik vraag me overigens wel af of we voor de finals nog op dezelfde map spelen, of dat er een of enkele nieuwe maps worden geïntroduceerd. Veel grotere of kleinere maps lijken me wel interessant.

[ Voor 9% gewijzigd door CodeCaster op 22-03-2014 14:01 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: Roep jij Java-code aan, of heb je de server zelf geïnterpreteerd?

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
CodeCaster schreef op zaterdag 22 maart 2014 @ 13:47:Ik vraag me overigens wel af of we voor de finals nog op dezelfde map spelen, of dat er een of enkele nieuwe maps worden geïntroduceerd. Veel grotere of kleinere maps lijken me wel interessant.
Het blijft dezelfde kaart tot en met de finale. Als ze weer een competitie doen met hetzelfde spel dan doen ze mogelijk wel >2 spelers en meerdere kaarten.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Corniel schreef op zaterdag 22 maart 2014 @ 17:13:
@CodeCaster: Roep jij Java-code aan, of heb je de server zelf geïnterpreteerd?
Ik heb een eigen implementatie van de server in C#. :) Die spreekt de bots aan in code, via een interface, dus ik kan gemakkelijk beide bots en de server tegelijk debuggen (al heb ik die laatste al even niet meer aangeraakt :P).

De uiteindelijke bot die ik oplever draait in een ConsoleServer, die de console-commands vertaalt naar API-calls op de bot, en vertaalt de responses daarvan weer naar regels om naar de console te schrijven. :P
_js_ schreef op zaterdag 22 maart 2014 @ 17:52:
[...]

Het blijft dezelfde kaart tot en met de finale. Als ze weer een competitie doen met hetzelfde spel dan doen ze mogelijk wel >2 spelers en meerdere kaarten.
Duidelijk, bedankt. :)

[ Voor 12% gewijzigd door CodeCaster op 22-03-2014 18:20 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: zoiets was ik zelf ook bijna gaan schrijven, maar voor je het weet heeft je server een andere implementatie dan de echte server, en dan optimaliseer je onhandig.

Enfin, iets wat deze contest mist is een seed setting die je binnen krijgt.

Daar heb ik voor de testbaarheid maar op de volgende manier opmheen gewerkt:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
public void SetRandom(IEnumerable<Int32> ids)
{
    int shift = 0;
    int step = Math.Max(1, 32 / ids.Count() + 1);

    foreach (var id in ids)
    {
        this.Seed ^= (id << shift);
        shift += step;
    }
    this.Rnd = new Random(this.Seed);
}


Je gebruikt dus de gegeven gebieden om een seed van te maken. Wellicht dat anderen daar hun voordeel mee kunnen doen.

En Shortest path is natuurlijk heel eenvoudig hier. Ik heb een statitische Int[42,42] met de afstand tot de verschillende landen. Je hoeft dus alleen maar naar je buurman toe (ook statisch bekend, map verandert niet) die een kortere afstand heeft volgens de ze matrix.

Ik heb het idee dat het beheersen van regio's die aan aan een andere super regio grenzen vrij belangrijk is. Hopelijk heb ik dat juist. Verder staat mijn code helemaal vol met Linq-expressies.

Om dit makkelijker te maken implementeert zowel de Map, als een SuperRegion bij mij IEnumarable<Region>. Je krijgt dan dit soort code:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// <summary>Gets the defenders.</summary>
public static IEnumerable<Region> GetDefenders(this IEnumerable<Region> regions, bool withStackPotential)
{
    return regions
        .GetFrontiers()
        .Where(r => r.IsSuperRegionBorder)
        .OrderBy(r =>
        Combat.GetWinningChange(r.Neighbors.GetEnermyAttackForce(withStackPotential), r.Armies));
}

...

var defenders = this.Map.GetDefenders(true);
var defenders2 = this.Map.Europe.GetDefenders(false);
var defender3 = regions.GetDefenders(false);
...

[ Voor 43% gewijzigd door Corniel op 22-03-2014 19:38 ]

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Hoe de server zich gedraagt is aardig gedocumenteerd, dus dat heb ik gewoon nagebouwd tot ik lokaal hetzelfde kon naspelen als op hun server gebeurt. Ik gebruik mijn server voornamelijk om bepaalde situaties na te spelen die zich op de officiële server hebben voorgedaan, om te kijken waarom mijn bot bepaalde beslissingen neemt. Daarnaast test ik regelmatig met een lege map, om te zien hoe en in hoeveel beurten alle regio's worden overgenomen.

Omdat mijn server en bot initiëel de gamestate deelden, waar je bot deze op de officiële server uiteraard zelf moet bijhouden, ging er tussen versie 26 en 35 van mijn bot wel het een en ander mis. O-) Tip: noteer welke versie van je bot het beste presteerde, en upload deze versie als een nieuwere versie zich misdraagt.

Wat de afstanden tussen landen betreft: om je legers te kunnen verplaatsen, moet er wel een pad zijn via landen die van jou zijn, of die dat worden voordat de legers erover moeten. De mogelijke paden kunnen zodoende iedere beurt weer anders zijn.

[ Voor 6% gewijzigd door CodeCaster op 22-03-2014 20:43 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Hmm... weer wat nieuwe bots die goed presteren... dan toch nog maar wat tijd in optimalisatie(s) steken... :-)

Less = more


Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

Hoe gaan jullie om met het feit dat je niet weet waar de vijand zijn legers plaatst tot de volgende? Ik ben een aantal van mijn losses aan het analyseren samen met de output en ik kom tot de volgende statering (uitgelegd met een concreet voorbeeld):
2 aangrenzende regio's: 1 van mij met 2 legers, 1 van de vijand (dus niet neutral) met ook 2 legers.
Ik plaats 5 armies op mijn regio, en de vijand plaatst ook 5 armies op zijn regio. Dat laatste krijg ik echter niet van de server terug tot de update_map NA alle stappen van de huidige ronde. Dus als mijn bot de transfer/attack binnen krijgt is het voor hem een 7-2 situatie (zeer gunstig) terwijl het in werkelijk eigenlijk een 7-7 situatie is (zeer ongunstig).

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Ja, die stappen zijn gelijktijdig, dus je weet inderdaad niet wat er in de beurt gebeurt totdat het is gebeurd.

Maar je weet wel ongeveer hoeveel legers de tegenstander mag plaatsen, dus gewoon er van uitgaan dat die allemaal op het land komen dat jij aan wilt vallen, of worst case, dat die allemaal op elk land komen waar je buren mee bent.

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Worse case is me te defensief, dan verlies je ook. Een ding waar ik aan heb gedacht is om de plaatsingen van de afgelopen 2 beurten te gebruiken als voorspelling van de taktiek van de "other" en dat wel als voorspelling mee te nemen

Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

Verderop in het spel, wanneer je allebei veel regio's hebt wordt het mogelijk nog riskanter. Jij kan een regio met 1 leger hebben, en er 7 legers bijzetten. Je vijand heeft een aangrenzende regio met 2 legers waar hij 12 legers opzet. Je bot denkt dan 8 - 2, terwijl het in feite 8 - 14 wordt. Als je elk 10+ regio's hebt wordt het moeilijk om te voorspellen waar de legers bijkomen, en van een worst case scenario uitgaan op elke aangrenzende regio blokkeert je gewoon.

Acties:
  • 0 Henk 'm!

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 28-09 18:33
Een keer mis hebben, is niet erg. Maar als je beide gaat opzetten kun je beter de andere als eerste laten aanvallen
spoiler:
en jouw eventuele move/attack aan het einde van de queue plaatsen

[ Voor 6% gewijzigd door Bolukan op 24-03-2014 11:46 ]


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

Als je alles worst case benaderd heb je natuurlijk wel een probleem: dan blijf je verdedigen (en komt dan niet meer aanvallen toe) of je geeft alle regio's op.

Ik ben gisteren opnieuw begonnen trouwens. Was niet heel erg tevreden met wat ik had. Vooral omdat ik in mijn oude opzet geen ruimte had om beter om te gaan met mogelijk gedrag van mijn tegenstander.

Ook lekker trouwens: Een crash en dan in rond 99 alsnog verliezen: http://theaigames.com/com.../533007f84b5ab211edffbd75

[ Voor 17% gewijzigd door Corniel op 24-03-2014 11:28 ]

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
CodeCaster schreef op zaterdag 22 maart 2014 @ 18:18:
Ik heb een eigen implementatie van de server in C#. :) Die spreekt de bots aan in code, via een interface, dus ik kan gemakkelijk beide bots en de server tegelijk debuggen (al heb ik die laatste al even niet meer aangeraakt :P).
wil je deze beschikbaar stellen? 8)

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik zal 'm nog even proberen te fatsoeneren en in de loop van deze week (O-)) op GitHub zetten. :)

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: Dat zou mooi zijn. Wellicht dat anderen dan ook een contributie kunnen leven. :)

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Lekker de concurrentie een handje helpen... :P Ik moet nog wat dode code verwijderen, een stukje refactoren en iets meer commentaar plaatsen, dan durf ik 'm (inclusief de vanuit Java omgebouwde StarterBot) wel te delen.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
CodeCaster schreef op maandag 24 maart 2014 @ 13:33:
Lekker de concurrentie een handje helpen... :P Ik moet nog wat dode code verwijderen, een stukje refactoren en iets meer commentaar plaatsen, dan durf ik 'm (inclusief de vanuit Java omgebouwde StarterBot) wel te delen.
dan zien we 'm vanavond wel verschijnen O-) :9~ 8)

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Grmbl... competitie wordt echt wel sterker... een voordeel... ben in elk geval niet meer de Joop Zoetemelk van theaigames.com ...

Kwam op het forum van warlight.net nog een interessant draadje tegen met een strategy guide. Veel ligt vrij voor de hand, maar misschien toch interessant leesvoer: http://warlight.net/Forum/Thread?ThreadID=34678

[ Voor 45% gewijzigd door IWriteCode op 24-03-2014 15:42 ]

Less = more


Acties:
  • 0 Henk 'm!

Verwijderd

Thee?Yo! is eindelijk van de troon gestoten :O

Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

En we hebben na een zeer lange tijd een nieuwe bot op de eerste plaats!!

Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
krijgen jullie ook parse-errors bij het kiezen van regio's? de bot die het vanmiddag nog prima deed geeft nu zelfs een error :S

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Geen problemen hiero... wat is de foutmelding?

Less = more


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
IWriteCode schreef op maandag 24 maart 2014 @ 21:28:
Geen problemen hiero... wat is de foutmelding?
code:
1
Parse error: Region id input incorrect ()Parse error: preferred starting regions: Chosen region is not in the given pickable regions list ()settings starting_armies 5


ik heb trouwens al een vermoeden waar het mis gaat. Mijn nieuwe bot geeft na elk input een output (ook als deze leeg is), denk dat de server daar over valt... wordt vervolgd!

edit: dat was inderdaad het probleem....... :+

[ Voor 4% gewijzigd door Kips op 24-03-2014 21:32 ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Daar valt de server inderdaad over, hij verwacht alleen output na pick_starting_regions en go.

Edit: dat was al geëdit. :+

[ Voor 11% gewijzigd door CodeCaster op 24-03-2014 21:43 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
oooh, zie mijn bot eens langzaam de rankings beklimmen :D

Acties:
  • 0 Henk 'm!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

Kips schreef op dinsdag 25 maart 2014 @ 07:57:
oooh, zie mijn bot eens langzaam de rankings beklimmen :D
Goed bezig! :-) Mijn is van de 2e plek naar de 15e gezakt... die 'optimalisatie' was toch niet zo'n succes... Nu is m'n bot stuck in de compilation queue. :(

Edit: heel de competitie lijkt stil te liggen... :'(

[ Voor 8% gewijzigd door IWriteCode op 25-03-2014 08:18 ]

Less = more


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 06-10 15:44
IWriteCode schreef op dinsdag 25 maart 2014 @ 08:10:
[...]
Edit: heel de competitie lijkt stil te liggen... :'(
ik krijg nog nieuwe matches in m'n log...

edit: nog steeds down IWriteCode?
Kips schreef op dinsdag 25 maart 2014 @ 07:57:
oooh, zie mijn bot eens langzaam de rankings beklimmen :D
Top 50 binnen gekomen :)

[ Voor 34% gewijzigd door Kips op 25-03-2014 11:25 ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik heb m'n C#-server en -starterbot op DropBox gezet. Feedback welkom.

Het project werkt in ieder geval in Visual Studio Express for Web en Desktop 2012 en 2013.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • jjust
  • Registratie: April 2005
  • Laatst online: 06-10 18:46

jjust

Het leven is een strijd

Super dat je het beschikbaar stelt. Het lijk me erg leuk om mee te doen. Als ik nog wat tijd vind ga ik er eens naar kijken.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Ik lees er wellicht gruwelijk over heen, maar welke PHP versie wordt nou gebruikt? O-)

[ Voor 12% gewijzigd door Voutloos op 25-03-2014 23:24 ]

{signature}


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:18
Stuur een script in dat phpinfo() aanroept en je kunt alle info die je nodig hebt uit de gamelog halen...?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Op verzoek een titlechange gedaan:
[Wedstrijd] Conquest >> [Wedstrijd] Warlight AI Challenge

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: heb je ook een github?

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ja. Als het project in die ZIP voor anderen ook werkt en een beetje begrijpelijk is, wil ik 'm daar wel uploaden. Dus: is dat het geval? :)

[ Voor 10% gewijzigd door CodeCaster op 27-03-2014 17:02 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: Helder. Ik wil er vanavond mee aan de slag. Heb zelf ook wat ideeen dus ik wil eventueel wel wat bijdragen.

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

@CodeCaster: Ik heb net een pull request gedaan. Ik heb een 'Arena' geschreven die middels naming convension verschillende bots kan inladen en tegen elkaar kan laten spelen. Hij houdt ook ratings bij van verschillende bots, herkent versies, en je kan middels een ^(z+.)? prefix bots uitzetten.

Wat ik nog niet gedaan heb is het daadwerkelijk runnen van de twee bots. Ik wil eerst een nieuwe werkende versie van mijn nieuwe aanpak afronden. Wellicht dat jij kan kijken naar hoe dit te laatste te doen? Ik beloof bij deze dat ik de exe's van mijn eerste 13 versies allen beschikbaar stel aan anderen om te testen.

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

In mijn nieuwe aanpak (waarbij ik meerdere states doorreken) eindelijk het grootste lek boven. Er gaan nog steeds behoorlijk onhandige dingen mis, maar het begint ergens op te lijken. Ik kom 18 ply diep en bereken zo'n 23k stellingen per seconde.

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • Corniel
  • Registratie: April 2002
  • Laatst online: 31-03 14:56

Corniel

De wereld is gek!

Zijn anderen nog een beetje acitef?

while (me.Alive) {
me.KickAss();
}


Acties:
  • 0 Henk 'm!

  • bReChThOu
  • Registratie: Januari 2007
  • Laatst online: 06-10 16:08

bReChThOu

Team Belgium

Ik, en veel andere spelers die ik heb gesproken krijgen plotseling rare resultaten. Na analyse van de logs gebeuren er rare dingen op de server. Bij lokale debug worden de logs van de hele wedstrijd binnen de 2 seconden gepared. Echter, volgens de Warlight server zou een pick_starting_regions al meer dan 2 seconden duren. Vreemd. Zijn er nog mensen die er last van hebben?

code:
1
2
3
4
5
Not running yet (write)
pick_starting_regions 2000 8 1 11 13 14 16 22 25 36 28 42 39
Timed out
Parse error: Region id input incorrect (Timed out)
Parse error: preferred starting regions: Chosen region is not in the given pickable regions list (Timed out)

Acties:
  • 0 Henk 'm!

Verwijderd

Onze server heeft een reset nodig denk ik. Morgen first thing in the morning. Anders verdubbel ik de timeout voor pick_starting_regions en alles zou weer moeten werken.

Acties:
  • 0 Henk 'm!

Verwijderd

Heren! De finale komt nu wel heel dichtbij zoals jullie weten.
Iemand van Warlight heeft een leuk initiatief genomen om een Warlight AI Challenge livestream te organiseren. De top spelers zijn uitgenodigd om commentaar te geven op hun botjes/wedstrijden en ook wat top "normale" Warlight spelers zullen hun commentaar geven. Zelf zal ik er ook zijn om het een en ander te vertellen. Hieronder zijn bericht.
I'll be hosting a livestream this coming Sunday, 1st of June.

The plan is to just chat about the ai challenge with different commentators. Analyze some of the more interesting games from the first part of the challenge.

The semi-finals will kick off later that same day, so we can also take a look at the rankings and talk about what bots have a bigger chance of winning.

I'm trying not to clash with the wargamming live stream usual schedule.

Here is the link to the official time of the event:
http://www.timeanddate.co...s%20Kick-Off%20Livestream

Ofcourse hosting this alone would be fucking boring, so i'm asking you folks who usually host/commentate on WGL (Lolowut, Fridge, Latnox, TWM, Pushover) if you want to join me commentating, it would bring in the prespective of the warlight veteran who has no clue how to code the bot, so it would pop some more interesting / relevant questions for folks who don't code and might be watching.

I'm also asking folks who developed a bot (Norman, Trogatog, 125ch209, Garrett, GreenTea, Ikalgo, Muli, Odin, Z-Dog, pedrito) to join in and contribute talking about the strategy behind their bots, so if you're reading and not camera shy, now is the time to clear your schedule and add 'psenough' on your skype contacts. ;)

I would also like to have jim (one of the organizers of the compo) present if he's able. Please let me know if you're available.

And last but not least would be cool if Fizzer could announce the broadcast while we're broadcasting. I'll announce this on a forum thread in the following days ofcourse, but would be nice to have more live viewers.

I'll try to setup twitch.tv to record the whole broadcast so it can be shared later on and such.

This will be a test-run for also covering the final live later in the final weeks of June when it takes place.
Deze zondag om half 5 dus. Een week later tijdens de finale zelf is er nog een uitzending. Zeker de moeite waard om te kijken denk ik.

Hebben jullie de nieuwe (Beta) Omaha competitie al gezien trouwens? :)
Pagina: 1 2 Laatste