Category Archives: Magic Item Generator

Magic Item Generator – An Update

Gosh it has been a while since I’ve given an update on this project. My last post about this was almost two years ago now… Well, not entirely, as there was an update post a while back, but it got lost when I moved the site’s host around. Regardless, there has been changes!

First and foremost, the original C# project got scrapped. I was only writing it in C# as that was the only GUI language I knew at the time. Since then I’ve grown familiar in other areas, and decided that this kind of project would be better suited to be on the web than a stand-alone program. From a usability standpoint, users wouldn’t take the time to download a piece of software just to roll some dice for them, I know I wouldn’t. It’s key to be able to load up the program, enter a few numbers, and have your answers there. No downloads, no setup, just quick and easy. So, I’ve moved this project over to the web, which wasn’t that bad since all I had originally was a UI. It also allows me to practice my web development skills, something that I’m a bit rusty on anyways.

As for the projects current state, it’s pretty much at the same point… Just a simple UI with some fields the user can type in. It’s not much, but it’s like no progress was lost! I also made a small document attached to it to keep future features listed in, as I’d probably forget them by the time I got around to developing them…

While there hasn’t been too much progress on the development side of things, there has been in the project’s scope. When it comes to actual Dungeons and Dragons, I wouldn’t consider myself an expert in the slightest. While I run a campaign for my friends, I’m not very well-versed in what would be considered “fair” and “just” in terms of enchantments. So, I’ve turned to a few friends of mine who have been playing and running campaigns for years. I explained to them what the project was about, and asked them if they were to use this tool, what would they what as features? Man am I glad I asked them, for they had some ideas that I haven’t even considered, but made complete sense (like enchantment “levels”, how strong is the enchantment/curse). It actually gives this project some complexity, rather than a couple random numbers, which makes all that more excited to begin working on this project again!

As for the next steps, I’m planning to give it some tables of data to load from, so that when a random number is generated, it is able to select an enchantment to present. How I’m going to go about doing that I’m not quite sure, but once I begin developing it again an answer should come to light then. If you want to see the current state of the program, you can view it from here. It won’t be the most “up-to-date” version, but when I get to stable parts of development, the page there will be updated.

Until next time!
-Michael

Magic Item Generator

Language Used: C# WinForms

Skills Used:

  • Practice Designing User Interfaces and their Functionality
  • Writing Generated Data to a File
  • More Practice with the C# Language

Project Overview:

This project started as an idea from a friend. He was running a Dungeons and Dragons group I was apart of and was talking about how he wished there was an easier way of creating magical items for his games, since it took about 5 minutes to generate one magical item. I offered to create him a program that, given a couple parameters, will generate him a collection of magical items. He was interested, and sent me some lists of possible items, enchantments, and other details I needed.

Current Progress: User Interface Designing Complete

As of now, the program’s interface has been made and been approved by my friend. The next step is to wire everything up to make it functional. First step will be Enabling/Disabling UI components as they become usable/unusable. For example, he shouldn’t be able to generate items if the number of items isn’t given. Once that step is done, then it will be the main process of the program, of generating such items and displaying them to the output.

The next steps to this project is the implementation of the program, setting up the logic behind it all. Setting up the randomization and displaying the data I don’t think will very hard to implement. The area in which I want to challenge myself is how to store in all the data for the different types of possible items and their descriptions. I debating between two different ideas for their implementation: a database for each major group of item, or multiple different enumerated types. As of now, I’m leaning towards a database being the most ideal solution to this problem, but I have never used enumerated types before, and this project might be a good introduction to learning them.