[Tournament] BotArena: Pure AI Battle Royale


  • Culture

    @davaned No safemode sounds fantastic



  • @davaned It would be cool to reduce the RCL 8 controller countdown too.



  • I'm thinking through the rules and think I have an interesting fast paced version:

    • Initial safemode on spawn, no safemodes afterwards. ->Allows early game aggression but just enough time for fast bots to make it to a tower.
    • At each 150k ticks, tower damage and repair effectiveness is reduced by 20%. -> Prevents turtling, game duration is semi-capped

    • CPU will only increase on getting a player kill (possibly 10*(1+player kill count). -> Ensures that there is incentives to going aggressive, and allows players to scale up over time while naturally preventing load on server from increasing.

    • Catalyst is removed from the map -> caps boost effectiveness without buying extremely expensive catalyst from AI terminals.

    However, for the initial round I'm going to keep pure vanilla rules. That way the bar for participation is fairly low.



  • Hello everyone.

    First round will start this coming Tuesday. Rules will be player placed spawns, game simulation started simultaneously for all players. After that there will be no player interaction, either via UI or code editing. Good luck!



  • Sounds awesome. My code is no where near full automation so I will not be entering.

    But I had some thoughts that I will share.

    1. Giving cpu for killing other players could lead to abuse (players spawning sacrificial bots.) Or just luck, ie someone spawning next to me would get an easy kill and free cpu.
    2. I think weakening defences to force a conclusion would be required. But I would decrease them gradually. So repairers and tower damage start reducing at 250000 ticks down to nothing at 750000, although if possible u only want to nerf repairing of walls and ramps.
    3. Removing X would make attackers weaker.

    But I am relatively new around here so weigh my thoughts accordingly.



  • I did a write-up on the tournament: https://screepsworld.com/2017/09/enter-the-botarena/

    @SteveTrov those sound like some good suggestions for "the quickening". Maybe also increase the amount of hits lost by rampart upkeep or reduce the interval between them.



  • To keep everyone up to date, we are currently in a testing round. People are free to spawn in, develop code, and debug. We'll begin the next round in 1-2 weeks.



  • Another variation on shrinking map:

    • start with tall map, say 5 rooms wide, 2 sectors tall.
    • after a settle down period start disabling rooms from one of the long sides of the map (randomly selected for the round) and add new ones on the other side, making a conveyor belt of habitable space.
    • gradually reduce number of rooms added (maybe making them highway rooms so nobody gets stuck on the edges), clinching all bots into the center until just a strip a few rooms tall remains.

    There should be enough time for edge room to reach RCL 8 and work for short time pumping out armies before being eaten by the map.

    Rolling map would reduce advantage of bots spawned in the center. Adding rooms in reverse arrow shape would reduce placement advantage even more (see illustration below, red rooms are all lava).

    0_1505435546046_459ff28f-71f0-43f2-9231-c2d9e6405b29-image.png

    (please delete this post if a screeps bot ever becomes self aware and goes after its tormentors)



  • If you make a mod for it I'm definitely willing to give it a shot! I think almost everyone's bots would die a horrible horrible death as their owned rooms get deleted from the errors everywhere.


  • AYCE

    While I like the idea of twists to the challenges in the BotArena, I do think the vanilla experience of Screeps is challenging enough for most people to automate.

    Having disappearing rooms, constants changed, random map layouts, and random room layouts (source/mineral-count) etc would require a lot more dynamic AIs. While this might be the goal for automation, I doubt any of the AIs competing would handle such conditions without glitches (or is it just me 😆 ).

    It would require a custom codebase for the challenge, and raises the bar for joining the botarena.

    That said. I like the idea of such challenges, but maybe alternate between vanilla experience and custom challenges like:

    • Week 1: Test week vanilla experience
    • Week 2: BotArena, no code change or interaction allowed
    • Week 3: Test week challenge
    • Week 4: Challenge, no code change or interaction allowed

    Props to Davaned for #botarena. I recommend everyone to start automate and join us.

    I do think the screeps team should think about adding a seasonal experience for bot-developers influenced by botarena, an instance that is reset every month, has a very high tick rate and all players start at GCL 1 every reset. (but code changes are allowed, compared to current botarena)

    I think there is a reason Blizzard has seasons in Diablo3, and I think Screeps could benefit the same way. Firstly, it promotes automation, but it also gives the players a new chance every month to compete with a blank slate.



  • Next round of BotArena has started up. Come watch the autobots duke it out at https://www.twitch.tv/ags131



  • @kasami I think the seasons idea is really smart and good for the long term health of Screeps!



  • Previous round ended, we are entering a freespawning period now. Feel free to enter the arena and test your code out on the fastest server out there!



  • Next round of Botarena has started! Come check it out at #botarena

    👀