Not logged in

rpgsheet is a CLI/TUI character sheet application for tabletop RPGs.

rpgsheet screenshot



Unimplemented planned features

Planned related projects


Install Nim and run:

nimble install rpgsheet

You can also clone this repo and then run this in the directory:

nimble install

The sheet format

Sheets are stored as YAML files. Keys are limited to alphanumeric characters, plus _, ~, and '. When displayed "nicely" in the interface, _ is converted to a space, and ~ to a hyphen.

All window names and expressions (items that go in windows) must have unique names.

Here is an extremely pared-down design so you can see the structure:

name: Character Name
class: Character Class
level: 1
  - main:
    - stats
    - inventory
  - attacks:
    - weapons
    - spells
expressions: # items that appear in the windows
    modifier: 15 # use `modifier` for flat values
    window: stats
    # Modifiers can be defined in terms of
    # other diceless expressions
    modifier: (strength-10)/2 
    window: stats
  sword_attack: # we cannot have two expressions named `sword`
    dice: d20 # must be in NUMdSIDES format; no modifiers
    modifier: STR # here is where your modifier goes
    window: weapons
    # Extra information, shown at the bottom of the screen
    desc: Swing your really cool sword
    # Note that you don't need to supply dice or modifiers
    desc: Your really cool sword
    window: inventory
  # will be displayed as "Carl's Terrifyingly-hideous Face"
    dice: 8d12
    desc: 9th level. Oh god, oh no, look away if you want to live.
    window: spells