I’ve been working away on my Senior Project for CS.

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.