Skip to content
CS 233 // Spimbot
Pages

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/spimbot or ~/.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.