SRDcat Sneak Peek: Hero Sheet

For this sneak peek, we’ll be doing a visual overview of the hero sheet interface, rolling tests, changing stats, importing/exporting hero data, and random hero generation.

The main goal of SRDcat is to make more games of SEACAT possible, and allow SEACAT to reach more people. On the design side, I wanted to tackle this by examining the processes and workflows by which TTRPGs are played, and then methodically start carving those processes down into simpler forms by automating steps and reducing button presses.

(This is the second part in a series covering SRDcat. The first part covers the app’s Digital Collections of all the objects in SEACAT.)

(This app is mobile friendly. Any instance of “click” can be replaced with “tap”.)

The Hero Sheet Display

Here is the Hero Sheet Screen:


Over Discord VC, you describe the action you want to take to your TC. Your TC responds, “make a Moderate Strength test with advantage”. With just three button presses on your part, SRDcat gives you the result that you can copy/paste with a single click into the Discord chat.

Clicking on one of the main SEACAT stats will open up the test screen. From here, you have the option to roll a test using one of the five main levels of difficulty. The buttons at the top row give you the option to test with proficiency, double proficiency, advantage, and/or disadvantage, all automatically calculated for you.

Opening one of the difficulty tabs will give some additional information.

Clicking on the orange die icon will automatically perform the roll, generating result text:

The result text is actually also a button. If you click on it, it will automatically copy the result text to the clipboard. From there, you can paste that text into Discord (seen below).


You get attacked by a hostile creature whose ha attack bonus is +1. Your TC tells you, “make a ha save at +1”. SRDcat can give you the result in 2 button presses.

SEACAT doesn’t technically have Saves, but SRDcat benefits from this change in terminology. Let me explain.

In SRDcat, I’ve made the design choice to have players run their own saves, because it flows more naturally out of the hero sheet, and it’s a responsibility that I can move off of the TC’s shoulders, and it is another small brick in the foundation of a TCless SEACAT game.

Much like with tests, clicking on the text will give you a copy/pastable text snippet describing the result.

With both tests and saves, there is the option to edit the stat involved. Clicking on the “edit” button will bring up this menu, which will allow you to modulate your stat.

Modifying Resource Amounts

Stats like Life, Hero Dice, XP, and Cash are simpler. Clicking on one of them will bring up the amount screen, seen below:

For resources like XP and Cash that deal with much higher amounts, the amounts scale differently.

You can also set your resources amount manually, by clicking on the amount. This will open an input where you can type in a new amount, and click “set” to set it.

Saving and Loading

SRDcat has the ability to save and load different characters. This data is stored locally in the browser rather than on a server, so it will not carry over between different browsers. The upside to this is that saving and loading happen blindingly fast. Here is a view of the save slots of multiple test characters:

Clicking “Save” creates a slot with your current character saved in it. Clicking the folder icon will load a character, clicking the trash can will delete a character.

Importing and Exporting

SRDcat lets you import characters from .json data, and export characters in multiple data formats.

Exporting as .json will create a blob of data like the one seen below:

If you were to click the “copy” button and then paste the JSON blob into the import box, seen below, SRDcat would read the data and load the character.

This allows you to send a character’s data to another player to upload into their instance of SRDcat.

Meanwhile, if you were to click the “export as .txt”, SRDcat would give you a text description of your character. An example can be seen below:

name: Rakes Ssotar

str: 1
end: 1
agi: 1
cha: 1
aur: 1
tho: 1
ha: 0
ka: 0
ba: 0
life: 20
maxlife: 20
level: 1
PRO: 1
XP: 300

========================= skills =========================

Name: Agriculturalist Farmer Description: Grows beans. Wakes up early. Tills greenhouses. Works long hours. Pays onerous taxes. Understands magic legumes. Joins the levies. Avoids attention very, very well. Wields farm implements and light long arms. Also farms other valuable foodstuffs squashes. Rank 1: [+] to looking nondescript.

========================= traits =========================

Name: Citoyen Formidable Rank 1: The natural city-slicker. Hero gains [+] to social interactions, travel, and navigation in cities.

========================= items =========================

Name: Iksan Heat Ray Tags: offensive energy rifle Weight: 1 Stones Value: 2d6* x 100 Damage: 2d6 ha

Name: Iksan Leveller Suit Tags: defensive armour Weight: 3 Stones Value: 5d6 x 300 Defense: 7 ha

========================= spells =========================

Random Generation

SRDcat provides a method to generate random characters. You can choose from one of the four tiers of character provided in the SEACAT book:

Clicking on the name of an option will expand the details.

Clicking on the D20 button, or on the Generate button, will generate the random character.

Currently the procedural logic is fairly simple, sampling the entire collection and pulling random results. In the future, I would like to further develop the logic to give greater consistency to the generated results. Additionally, Luka and I are developing a system that might help with pregenning characters… but that’s a sneak peek for another time.

That’s all for now!

In the next segment, we’ll cover Inventories, Attacks, Creatures, and Spells! Until then, may your mutations always be beneficial!

ziggurat icon of the stratometaship
The mechanical cat grows.

Feed it digital
nutrition kibbles

they look like money, but don’t be fooled.

Leave a Reply

Your email address will not be published. Required fields are marked *