Bot Bowl I was the first AI competition in Blood Bowl, held in August 2019. In this post, we will describe the plans for the coming competitions, including the formats and the required extensions and improvements that must be made to the Fantasy Football AI (FFAI) framework. This post is also an attempt to recruit developers or perhaps co-organizers that would like to contribute to this project. If you can write in Python you can contribute by fixing bugs, implementing new features, or event write an interface for your favorite programming language. If you are an expert in Blood Bowl, you can help us by testing FFAI and report bugs, or simply by spreading the word in the community.
Bot Bowl II
In Bot Bowl II, we will allow participants to select between multiple races as well as buying players to customize their roster. Currently, FFAI only supports the Human race without the Ogre, and we thus need to implement the rules of numerous skills that are currently not supported. The minimal subset of teams we would like to include in Bot Bowl II include:
- Chaos Dwarves
- Elven Union
- High Elves
These races are chosen to limit the number of new skills to be implemented in FFAI while they express a wide variety of playing styles. Ideally, we do not want to separate races into tiers as it is done in many Blood Bowl tournaments as we are interested in seeing which races AI plays best with. Would it be a fast touch-down oriented Skaven team or a simple rule-based Chaos team that just goes for casualties instead of touchdowns? The skills that must be implemented in FFAI to support these teams are:
- Mighty Blow
- Nerves of Steel
- Prehensile Tail
- Safe Throw
- Side Step
- Sure Hands
- Sure Feet
- Thick Skull
- Wild Animal
Skills that are written in bold are already implemented and tested. Skills in italic should already be implemented but have not been tested yet. The remaining four skills: Bone-headed, Loner, Nerves of Steel, and Wild Animal remain to be implemented. This list of skills is quite short given that it allows for eight races in Bot Bowl II. Customized rosters, where coaches buy players from a starting treasury, can simply be done manually by submitting a .json file along with the bot that specifies the roster. The competition module simply has to check if the roster follows the specified rules.
In Bot Bowl III. and beyond. we aim to support all races, including star players.
Bot Bowl II will happen either this winter or next summer.
FFAI is designed to support any kind of grid-based arena, described in a simple text file like this:
CCCCCCCCCCCCCCCCCCCCCCCCCCCC CELLLLLLLLLLLLrrrrrrrrrrrreC CELLLLLLLLLLLLrrrrrrrrrrrreC CELLLLLLLLLLLLrrrrrrrrrrrreC CELLLLLLLLLLLLrrrrrrrrrrrreC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CEAAAAAAAAAAASshhhhhhhhhhheC CERRRRRRRRRRRRlllllllllllleC CERRRRRRRRRRRRlllllllllllleC CERRRRRRRRRRRRlllllllllllleC CERRRRRRRRRRRRlllllllllllleC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
The above arena describes the traditional 26×15 board with a ‘crowd’ padding.
Using this feature, we could “easily” extend FFAI to support other arenas such as dungeons, and this is exactly what we want to do. Blood Bowl already comes with a set of rules describing how to play the game in a dungeon setting; this is called Dungeon Bowl.
In this variant, games are played on custom dungeon setups, the ball has to be found by opening chests that may contain a ball or perhaps a lethal trap. The dungeon setup is not fixed and generally every game of Dungeon Bowl is played on a new dungeon. We thus envision that Dungeon Bot Bowl is played on procedurally generated levels that are unknown to the bot developers prior to the submission deadline. This pose difficult challenges, that will require bots to be general; they must play well on a large set of different dungeons. We have, in fact, discussed the opportunity of making the Dungeon Bot Bowl a competition with two tracks: one for playing agents and one for procedural dungeon generators. Here, that playing agents obviously attempt to win, while the dungeon generators attempt to generate balanced dungeons, such that none of the starting positions are favoured. Other constraints could be given to the generators such that they cannot rely on pre-designed levels, such as fixed lava lakes, or indestructible rocks where rooms cannot be carved. Besides balance, other factors could be measured, such as game length, number of turn-overs, casualties, passes, etc. which could be uses to evaluate how exciting the games are. Additionally, humans judges could provide qualitative evaluations on the visual look of the levels similar to the Generative Design in Minecraft Competition (GDMC).
It is also worth noting that Dungeon Bowl is typically played with more than two teams. We could thus either restrict Dungeon Bowl to be played by two teams (at least in the beginning) or start by extending FFAI to support multiple teams. Such an extension would be very valuable but requires fundamental changes to the core in FFAI. It is valuable because it allows for other Blood Bowl variants such as Death Bowl, that is played by three teams on a special pitch.
Regardless of the direction we decide to take, FFAI must be extended to include the Dungeon Bowl rules.
The Bot Bowl League
An interesting idea is to run an AI league that resets perhaps every week where in games are streamed 24/7 online. Here, players can gain star player points and injuries and thus progress as the league is played. The developers behind the bots can update their code or submit new bots when the league is reset. A similar system exists for StarCraft: Brood War, and is called the Student StarCraft AI Tournament (SSCAIT) & Ladder. We are perhaps one or two years away from having a system that can support such kind of a league.