Here we are at Dev Log #4. I'm planning on doing these a little more often since I'm getting more into bug fixing AND implementation of things. I think the best format for these is going to be a quick list, then sections going over the list. So here we go:
- Fixing the market system module
- Players unable to purchase items higher than Tier 1.
- Unknown as to who is purchasing what from whom.
- Players wanted to see more information on their purchases.
- Changed the .csv format for imports.
- Overhaul for the barter system.
- Resizing windows.
- Fixing the wiring between NPC sheets and the market system. (buttons not firing)
- Websocket failure for the storage/upgrade NPCs.
- Compendiums
- Overwrote the previous entries
- Design intent for future interactions/upgrades
- Character classes and bestiary entries
- Change the headers for easier to read
- Other
- Pop up or hover over a creature token for basic info
- Players unable to access bestiary entries
- Quest tracking
- Overhaul character sheet into character codex
- Upgrades on items
For the market system module, the fixes were mostly minor but still had to be fixed by the next session. On initial testing, my players were unable to purchase anything that was higher than Tier 1. I have a total of 6 tiers, so this was a bit of a priority, especially when my players are needing to purchase upgrades before their next adventure. Turns out, I inadvertently soft-locked this. In the past, I was originally thinking of having things tied to player levels and tiers, but decided against it due to unwanted complications that may arise. Simply removing that fixed it.
When the players were testing everything on the initial central hub instance, there was a lot of chaos. I built in a chat ping that told me the transaction history with what NPC for how much and what item. What I didn't put in there was the part of WHO was buying that item. That was just a simple field addition. No more chaos.
As I progress in creating the items/armor/weapons, more information and stats are getting added. Turns out, my players wanted to see these as well. It makes sense. Anyone playing a game would want to know as much information as possible when investing their currency. On my end, the GM end, I could see all of the information, so I just put that to display for my players as well.
To handle the numerous NPCs that handle different vending sectors, I decided to code the market system to utilize .csv documents. That way I can control the inventory without having to be in the game at all times. I can just simply work on it wherever, then click the import. Boom, vending NPC. While working on the upgrade NPC, I found out that I needed to add in a few more fields, so tracking down 3 files to adjust that was kind of a pain, but worth it.
When players are making purchases, I incorporated a barter system. Originally, this was going to be handled via roleplay, but after the initial test, I decided against that. It did make for some nice interactions, but overall it was really hard to manage when everything else is handled via player interaction (scrolling through the market, purchasing via a button press, etc). After I implemented it, I had a player test it off hours and I had the math backwards. Quick fix via flipping words and math.
As I keep adding more things to the game for players to interact with, I got sloppy on the window displays. It bothered me and my players that in order to see everything, one would have to resize the window manually. I locked the sizes and now have to work within those dimensions. Definitely a good way to keep me in check for wanting to display everything at once.
Did a fix where the wiring between NPC sheets and the market system weren't firing properly. The players have buttons to press in order to do tasks, such as purchasing items and eventually (now implemented as of this post) installing upgrades. Got that fixed now.
Biggest pain I have experienced this far was trying to figure out why my storage/upgrade NPC logic wasn't working. Turns out, this has been a bug reported on Github. I seriously thought I was going crazy because things SHOULD be working but they weren't. I know that this is a bit dated and I thought that by now, it would have been dealt with but I guess not. In the meantime, I have a workaround. I had to give my players Ownership of these particular NPCs, but they can also do some edits to the text fields. I still need to remove that from them, much like I did for them not being able to access the storage of other players. It's stupid, but it works. I did this by just utilizing actor flags.
I'm going to sum up the compendiums list into a big chunk of information. My initial entries for the classes were overwritten when I redid the entire aesthetic. It's fine because I have all of that information saved in an Obsidian vault. In order to keep things simple and easy for me to keep up with, I decided that for both my classes and bestiary entries, why not just create a copy/paste system? So that is exactly what I did. I made a macro where I simply name the entry and then copy/paste my .md file. It then takes out sections in the file and parses it into fields. Basically, if I update/change the core file, all I have to do is copy/paste and everything updates. Along with the rewrite of the compendium stuff, I decided to give it a more "useful" format. Slapped up navigation tabs and have sections that my players can access in order to learn more about these creatures. Same goes for the class compendium, just navigational tabs and sections. Finally, I had to redo the compendium packs banner icons that FoundryVTT uses as default. One of my players said that the white text was hard to read on the green and blue backgrounds. I just put in a dark slate color with some edge hues that indicate different fields.
Final stretch! My players wanted to have a hover field pop up when encountering a creature token. I couldn't figure out how to do this, so I instead created a pop-up window that displays the important quick-decision stuff, with a dossier button that they can click and it takes them to the full compendium entry. Along with this, I fixed the part where my players couldn't access the bestiary entries. Not sure what the hangup was with this, but I think it got fixed with the whole redoing of the compendiums. I wanted to change up the character sheet. My system had a more "involved" character sheet than the default ones I've come across in the past. As I've progressed in creating the inventory, storage, abilities, etc, I decided that a simple character sheet won't cut it anymore. Since one of the creatures that I created is called the Shelf-Stalker Codex, it was only fair that I implement that now. My players now have their own codex. It's essentially all of their information in a single, journal-like presentation. It contains their overview, equipped gear, inventory, storage log, upgrade log, abilities (they can pick and choose which ones to have equipped before going out on adventures), quest log tracking, and a general notes section. I had to do some adjustments when it came to showing the upgrades on items because it really didn't want to display that information most of the time. I think that got fixed when I fixed the storage/upgrade NPC stuff.
I know this is weird stuff that you might be thinking "what's the point" and that's fair. This game is designed as a ttrpg with the future development as a video game. One of the things taught to us in university was that if you want to make a good video game, it has to be playable as a board game or card game or some kind of analogue game. If I can make this happen here and now, it'll be easier in translation phase.