If you’ve read zRPG – Update 6, you know that I am rebuilding zRPG from the ground up due to some major database design flaws. There was way too much code where it didn’t belong, and the classes were far from object oriented.
There were a lot of things that I wasn’t able to save/load, and I would have had to add a lot of stuff to the existing database. Instead of adding tables to the database, or adding fields to the existing tables, I’ve decided to start from scratch.
The previous database had only 4 tables; 3 of them objects, and 1 link between two objects. With the new structure, there will be (at least) 9 tables for objects, and (at least) 13 tables for links between objects.
This time around, I’m trying to do as mush design as possible before I start diving too deep into code. Day 1, this is how my classes are setup:
So far, I have 5 class libraries, Base, Factories, LinkingObjects, Objects, and Utility. At this time, most of these classes are nearly empty, some contain the database fields, but no logic yet. The factory classes will be similar to how they were setup before. They will contain all of the information to populate Items, Locations, NPCs, Monsters, and Quests; so that every time a new game is created, they will all be created the same way. These objects may be changed throughout the game, but they must start the same for every new play-through.
My first “User Story” that I planned out is the first time player, opening the game for the first time. I think it will go something like this:
Over the next few days, I hope to create the Start screen, the Choose Character screen, the Create Character screen, and start working on the logic behind this User Story. I haven’t decided on a theme, but I know I want to keep it simple, and only have 2 or 3 colors. Here are three ideas that I had, but I am still open to anything.
I also plan on getting started on creating Items, Locations, NPCs, Monsters, and Quests, within their respective factories.
I know I have been scrambling and kind of going all over the place, so thanks for sticking with me! Next update should be up in a few days!