It has been a long time since the last zRPG update. In fact, it’s been a long time since any sort of update to this website. Recently I have made a goal to be more active, so I figured I would pick up where I left off.
I am not very proud to announce that I have not made any progress on the game at all in the past couple months. I opened up the game a day or two ago and remembered why I had stopped. There were multiple game breaking bugs, and some things were just not happening the way they should have been.
The map was broken. If you clicked on any location on the map that didn’t have an NPC, the game would crash. So I fixed that and noticed that the inventory was also broken. If you had an item equipped in a slot, and tried to equip another item in the same slot, your new item would be lost forever, and the old item would be duplicated. That seemed less than desirable, so I fixed that as well.
While I was upset about the bugs that I had introduced before going on hiatus, I was still proud of some of the things that appeared to be working seamlessly; like the trading, combat, navigation, and looting.
I finally have a way for the user to complete a quest. If you have an active quest, and your inventory contains the items needed to complete the quest, the “Turn In Quest” button will now actually do that. A messagebox will show up telling you what your rewards are.
Right now, there is no way to save a characters completed or active quests. If you complete a quest, and start the game over, you can do the same quest again. I have been thinking a lot about how this game could be better. One of the biggest things that can be done to make the game, as well as all of the code better, is a database restructure. Right now there are missing tables, some tables are way too large, and some data is hard-coded in factory classes (which may or may-not be a bad thing). This is bittersweet, but I think it’s time for version 2.0. I am going to rewrite the game from the ground up, starting with the database design, and reusing as much code as I can.
Here are some mock-ups for how I am thinking the data will be structured:
Here are all the main tables, without the linking tables.
A Session can have 1 World, and 1 Player.
A Player can have many Quests and many Items.
A World can have many Locations.
A Location can have many Monsters, NPCs, and Quests.
A Monster can have many Items.
An NPC can have many Items and many Quests.
A Quest can have many Items.
And here are all the tables, with the linking tables. I think there might be at least one more linking table added to this. I may need to add another table between Player and Item for the equipped items. As an alternative to having a separate table for the equipped items, the PlayerItem table can have a yes/no flag for Equipped.
Along with the rebuild of the game, will come a fresh new User Interface. I will try to steer away from the boring gray and gray theme I have going now.
Hopefully I can keep this motivation and keep the updates coming!
Thank you for reading!