Crate battlesnake_game_types

Crate battlesnake_game_types 

Source
Expand description

Types for working with battlesnake. The goal is to provide simulation tooling and fast representations that enable development of efficient minmax/MCTS. you will likely be most interested in the CellBoard type which implements all the traits necessary for minmax/MCTS and is much faster than using the wire representation, in our benchmarks, we see that our compact representation is on the order of about 33% faster for simulation than the wire representation.

Gnuplot not found, using plotters backend
compact start of game   time:   [2.7520 us 2.7643 us 2.7774 us]
                        change: [-9.0752% -8.5713% -8.0468%] (p = 0.00 < 0.05)
                        Performance has improved.

vec game start of game  time:   [4.1108 us 4.1303 us 4.1498 us]
                        change: [-12.869% -9.2803% -5.8488%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

compact late stage      time:   [14.098 us 14.152 us 14.209 us]

vec late stage          time:   [21.124 us 21.337 us 21.592 us]
Found 14 outliers among 100 measurements (14.00%)

Modules§

compact_representation
A compact board representation that is efficient for simulation
hazard_algorithms
traits and structs for simulating hazard algorithms in battlesnake implements non-deterministic forecasting for randomized algorithms
types
various types that are useful for working with battlesnake
wire_representation
types to match the battlesnake wire representation

Macros§

impl_common_board_traits
Very internal, implements common board traits for any board type that embeds a cellboard

Functions§

game_fixture
Loads a fixture from a given string