File formats
| File | Holds | Written by | Read by |
|---|---|---|---|
.s |
A bot's assembly source | You | gui, run, check, exec, tournament, grade |
.spr |
A replay | run --replay, tournament --replays |
replay info, replay verify, export |
.spv |
A recording | run --recording, export, the arena |
The tournament site |
.png |
The map, 600 by 700 pixels at the default scale | run --png, export, the debugger |
|
.mp4, .webm, .gif |
A video of the match | run --video, export, the debugger |
|
imgui.ini, settings.conf |
The debugger's layout and settings | The debugger | The debugger |
Replays
#A replay holds the seed, mode and limits of a match, each bot's name, file names and source text, the console input the bots received, a checksum of the match state every 100,000 cycles, and the end cycle with its checksum and the outcome.
Keep replays private: they hold the bots' source code. replay verify and export run the programs in a replay, and outside tournament rules a program can read and write your files, so open only replays you trust. To share a match, share a recording or a video.
Recordings
#A recording holds the match as drawn at cycle 0, every --every cycles and at the end. It holds no program text or console input, so you can publish it.
Videos
#Videos run at 60 frames per second and need ffmpeg on your PATH. .mp4 is H.264 and needs libx264, .webm is VP9 and needs libvpx-vp9, and .gif uses a 256-color palette.
Debugger settings
#The debugger keeps imgui.ini, the panel layout, and settings.conf in a spimbot directory under your configuration directory:
- Linux:
$XDG_CONFIG_HOME/spimbotor~/.config/spimbot - macOS:
~/Library/Application Support/spimbot - Windows:
%APPDATA%\spimbot
Delete imgui.ini or choose View > Reset layout to restore the default layout. settings.conf has one key = value line per setting and is saved when the window closes:
| Key | Values | Default |
|---|---|---|
theme |
system, light or dark |
system |
speed |
max, or a positive number of cycles per second |
max |
loop |
true or false |
false |
zoom |
Text and spacing size in percent, 50 to 300 | 100 |
pause_on_exceptions |
true or false |
true |
grid |
true or false: whether the map shows its grid (View > Show grid) |
false |
Format versions
#Replays and recordings are at format version 1. A file with another version fails with an error such as unsupported replay format version 2.