Dice rolling and more on Minimal Character Sheet

Back in July of last year, I blogged about breathing new life into my freeform digital character sheet app. Well, I’ve been paying it more attention these past few months and I’m happy to say that (to my own surprise) I’ve added enough new features and quality of life enhancements that it warrants another post.

There’s dice rolling, Open5e integration, character management, and more coming soon.

Rolling dice with true randomness

You can now roll dice directly from your character sheet! This is something I’ve wanted to add for a long time as it’s quite annoying to have to jump to a different app just to roll a quick d20.

You have two options for dice rolling. The default option is a floating panel. It’s minimized until you click it, then you are presented with a tray of (beautiful, thanks to Font Awesome) dice buttons. Select any combination of dice to roll. You’ll get a nice breakdown of what you rolled with a grand total and sub-totals by die type.

A floating dice panel is opened in the foreground showing various dice buttons and a log of previous rolls.

Or if you would rather have a side-by-side view of your sheet and your dice log, hit the maximize button in the corner of the dice panel.

Now, allow me to digress momentarily.

You may not realize this, but it’s hard to get a computer—a machine built around math and logic—to generate a truly random number. Perhaps it’s impossible, but I’ll let the comp-sci majors argue about that. Fortunately, one of the oldest sites on the web—RANDOM.ORG—has an API that offers true random numbers based on atmospheric noise. When you roll a die with Minimal Character Sheet, that’s what you are getting. Sophisticated processes of the atmosphere—like lightning discharges—power your Divine Smite against a beholder. One might say atmospheric processes aren’t truly random, even that the universe is deterministic—but I’ll let physicists and philosophers argue about that.

Point is, you get high quality RNG! And if you don’t want to see the dice rolling panel, there’s an option in settings to hide it completely.

Spell content and more from Open5e

Perhaps the best feature of Minimal Character Sheet is its freeform rich text fields. This is what allows you to give your character any ability you can dream up. But it also means typing, or often copying and pasting, from other sources. I’ve made this a lot easier when it comes to spells, feats, and backgrounds by adding partial support for the Open5e API.

A dialog showing a search box for spells where the user has typed in Hunter's Mark followed by a result that has been expanded which describes all the properties of the spell Hunter's Mark along with a button to copy the text and close the dialog.

Open5e supplies tons of content from the main rulebooks and other sources. And now you can access them from the little spellbook icon in the character sheet menu bar. For now you can search spells, feats, and backgrounds with support for class features and other content coming in the future. When you find a result you like, you can click a button to copy it and paste richly formatted content directly into your character sheet.

Character management

You can now export and import characters in Minimal Character Sheet, right from the dashboard. When you export a character, you download a JSON file. You can send this file to anyone to import. You can import your own characters too—a copy will be created, leaving your existing characters untouched. You can also create a duplicate of any character sheet, useful for saving a snapshot of a character or using an existing character as a starting point for another.

Behind the scenes

I’ve been updating the foundations of the code. The frontend build system was quite dated, so I’ve modernized it. I’ve made some changes that make it easier for people who want to self-host the application (Minimal Character Sheet is free and open source software), though I still have more to go in that area. These changes and more planned will make maintaining the project, and especially adding on new features, easier.

Level up

I’m going to be a little cagey about the exact things I’m working on, but I am actively developing the app. I place a priority on user requests. I don’t implement every user request, but they guide me on what to work on next. If there are things you’d like to see, get in touch. But to give you a teaser, here’s a taste of the roadmap.

So that’s it! I hope you’ll try Minimal Character Sheet for your next adventure.