Inspiration

Both members of our team are big fans of Dungeons and Dragons, and are beginner Dungeon Masters as well. Given that we already had some desires for better or newer software for campaign organization, it did not take us very long to come up with the idea of having a quicker, more direct, and highly information-based method to access important stats for our adventurers.

What it does

Currently, it does just about everything except run. We built this project entirely from the ground up, meaning that much of our working time was spent filling out the structure of the system rather than the user-interface side. In the near future, it will essentially be a databank for all of the creatures of the Monster Manual, allowing DMs to quickly navigate to different monsters to get the most important and relevant information for combat and other on-the-fly checks that would normally take unnecessarily long, stopping the momentum of the game so that the DM can flip through a book for clarification on one specific thing. Essentially, think of it as a PokeDex for far deadlier creatures.

How we built it

As mentioned above, we built it entirely from the ground up. Though we planned to start with a flowchart, we ended up being so motivated to work on the project itself that we focused on that for most of our work time. We worked parallel, always knowing where the other was writing so as to not do the same work twice, and occasionally merging the project branches via Github to keep on the same page. Most of our time during the Hackathon itself was spent building the systems, tools, and general framework to help us categorize monsters later on. Essentially, designing a jigsaw puzzle's pieces before you can put it together. Unfortunately, we were not able to complete a portion of the data-reading functions, but we are highly motivated to continue work on this after the event.

Challenges we ran into

With the time constraints and the fact that we were using an unfamiliar language, some portions and functions took some time to figure out. The big one that slowed momentum was writing functions to access, store, and display information from a CSV data file. Neither of us were entirely sure how to do this, and unfortunately due to running into other various puzzling issues and the exhaustion of continuous usage of brainpower all day caught up to us, slowing us down considerably. Fortunately, with breaks and off periods comes newer perspectives, allowing us to continue to work until the time came to turn in for the night.

Accomplishments that we're proud of

Overall, I feel that our biggest accomplishments included how much we were able to figure out with just each other, and how far we were able to get with this fairly ambitious goal (there are quite a lot of entries into the Monster Manual), especially given the time constraints. An accomplishment we look forward to is being able to have made something that can be shared and used to better connect with friends and family.

What we learned

Quite a lot about C++, and more about the different systems and practices behind object-oriented programming that make up the unique tools and effects it can provide. We also learned how effective a rubber-duck intern really is.

What's next for DND MonsterDex

We plan to continue development until we are both happy with the result, as we will likely be the first of its regular users. This will allow us the chance to take development in the directions that we know may be more needed than others. For the near future, we plan to finish and integrate the system used to read the information from the data file, design a solid and efficient method of displaying it to a user, and finally, enter all the data and stats from each monster into our storage. Potential future features include tracking player character stats as well, likely along with sorting monsters by combat rating, and options to view subtypes of different creatures, plus some slightly more detailed information.

Share this project:

Updates