SimArena is a powerful toolkit for creating, configuring, and running simulations with multiple agents in various scenarios. It provides a robust foundation for AI research and development, with support for custom objectives, brains, weapons, and maps.
SimArena’s map system is powered by the RogueSharp library. It provides a flexible map system that supports different types of map configurations and templates for creating diverse combat environments.
Simple maps are basic rectangular areas with all cells walkable and transparent. They’re perfect for open combat scenarios and only need their width and height specified for them to immediately work out of the box.
Procedural maps use algorithms to generate complex layouts with rooms, corridors, and obstacles.
Creates a map with randomly placed rooms connected by corridors. See RandomRoomsMapCreationStrategy for more information on how these are generated.
Creates a map with walls only around the border, creating a fortress-like environment. See BorderOnlyMapCreationStrategy for more information on how these are generated.
Creates a map using cellular automata. See CaveMapCreationStrategy for more information on how these are generated.
Creates a map from a string representation.
The following symbols represent cells on the map:
.
: Cell is transparent and walkables
: Cell is walkable (but not transparent)o
: Cell is transparent (but not walkable)#
: Cell is not transparent or walkableSee StringMapCreationStrategy for more information on how these are generated.
Maps loaded from text files with custom layouts. The format is described in detail in File Based Maps.
Map templates allow you to create reusable map configurations that can be shared across different game scenarios. See Custom Maps for more information and examples on how to implement your own.
SimArena comes with several pre-built map templates:
small_arena
)medium_battlefield
)large_warzone
)urban_complex
)fortress_siege
)training_ground
)