We both love to play Dungeons and Dragons (DnD). It has been a great way to decompress from the stresses of adult life and meet new friends. In an era where technology can make people more distance and discourage face to face interaction, we wanted to work on a project that would foster human connection rather than invalidate it. Our program also makes the game of DnD more accessible to newcomers by smoothing DnD's rough learning curve.

What it does

Best Character Sheet keeps track of important DnD character information. It also allows you to apply status effects like damage to your character and does the math and legwork to calculate your character's stats. It is much faster and more flexible than other open source character sheets.

How we built it

We built Best Character Sheet with the Intelliji IDE using JavaFX, XML, and CSS for styling. The character sheets and player handbook information are stored in XML documents so that you can save your progress and brings up the possibility of extending the character sheet into different rules sets and DnD editions. There was open source XML data for the DnD player handbook available online which we utilized.

Challenges we ran into

The main challenges were synchronizing version control. With any large scale IDE there are strange and obscure version control issues that can arise. For example, the Idea files that Intelliji stores for your project must be ignored in when pushing to a main repository, or they will cause all sorts of merge conflicts. This is especially true if you and your partner are using different Java SDKs.

Accomplishments that we're proud of

We are proud that we were able to construct a desktop application from the ground up. This was a very extensive project for only a day and a half of work. There was a lot of legwork to be done and constant adjustment of priorities and goals.

What we learned

We learned a lot of about version control and the Intelliji IDE. We also learned how to work with JavaFX and XML via Java. We learned how to use CSS to style a JavaFX desktop application, and also how to budget time and prioritize features to make a deadline.

What's next for Best Character Sheet

We plan on extending Best Character Sheet to include more player character information and classes. We currently only support one class and some of the data displayed on the character sheet is static data used for demoing .

Share this project: