Mid-February Senior Project Progress

I have probably mentioned once or twice that I’m working on a software application for Dungeon Masters, to help generate and manage game content. I have made some great progress thus far, though it’s difficult at times to explain what I’ve done and how it helps.

Many of the people I talk to have at least heard of Dungeons & Dragons, though many have never played. It’s definitely awkward talking to a bunch of nerds and feeling like the biggest nerd in the room. Definitely feeling it when I give my progress reports.

So here’s what I’ve done so far:
– Character generator is currently on version 3 (at least). This is the latest and greatest version of CharGen that I’ve written, as it incorporates OOP principles that I can carry over to creature/monster generation with little or no issues. I’m really looking forward to my implementation of monsters because I’ll basically throw a CSV at my program and it will spit out monsters. Huzzah.
– Dungeon floorplan generator is currently on version 1. I thought I had posted some screenshots from my progress on this, apparently I did not. I’ll post some below so you can see examples of early output. I encountered a weird problem where room/hallway collisions were mostly being detected, except in the “middle.” This meant that MOST collisions were detected, but not all.
– Item/Inventory management is currently in version 3(ish)? My very first item generator just picked random Strings from a list and estimated everything else. My second (or first? or third?) version passed enumerated items around and inferred information from them. Depending on where I was in development, my next version mashed together item data with enums. The new version maintains interfaces for different object types and rocks OOP.

While my item/inventory system doesn’t currently support magic items, I hope to add it in with minimal to no great effort. I found a couple RPG projects on GitHub that I’ve been using for inspiration, but the “Object Oriented Programming” approach has helped me tremendously in the area of… not rewriting tons of code. I reduced hundreds of lines of code to dozens, and built in a framework for later database stuff.

My aim is to build and maintain inventories for characters and monsters, and simulate treasure accumulation among other things.

While your PCs delve Dungeon A, rival NPC adventuring party pillages Dungeon B. When you get back to town, you can pick up rumors of their success (or failure) and follow up on it however you like. Examples include picking over whatever they left behind, ambushing them on the road, hiring a thieves guild to target them and splitting the take, et cetera.

I’m currently developing in Java. If you have Java installed then it’s a download with no install. Once I have all the components working, I have plans to develop a web version but one of my goals is for the application to function offline and act as a server for players to connect to (real time transfer of equipment between PCs, etc), which would suggest an installation on the part of at least one person.