JRPG Tech Devlog — MK1 data tools
As you may have noticed from the title, this is a tech Devlog, or rather, “how I built a thing in the game”. In this log, I am going to talk to you about our Ability system.
In a JRPG, data is everything. I mean you can say that for any game, but in stat-driven games, you need to store a LOT of data. You need a quick and easy way to manipulate all this data.
In my day job, we have a brilliant Content Management System with a lovely web interface where we can set schemas up and retrieve data from a fast readable format.
In our project, we did not have this, so we needed to find a way to replicate this. Scriptable objects. We are using Unity, and Scriptable Objects are one of the most underused parts of the engine. They are really good for storing chunks of data, can be put into asset bundles and you can create custom Inspectors on them to further manage your data.
So, that is what we did.
In the above pic, we see one of our scriptable objects. This is for one of our battle characters. You can see that I can set up the abilities, AI if it is a monster, starting equipment, all that jazz. Also, you can see We can set up stat curves so we can get values at each level.
I threw this at a designer and found an instant problem. Editing stat curves effectively using Unity’s anim curves is a pain in the backside especially if you want to see the raw numbers.
Enter Google Sheets and the CSV format!
Then I also wrote an inspector script to load them:
This was cool, but there were a few other things that I felt needed to make this almost complete. Some designers may want to edit the curves in the editor then update their sheets. Also, it is coming from google sheets, there must be a way to grab that data directly.
So I added both of these:
And that is MK1 of the tools. I am calling it MK1 as I am sure as the game gets more and more data I am going to have to build a more RPG Maker style database tool… which is fine, Unity editor code is not the nicest in the world but hey, it is hopefully doable. I have heard someone got WPF running inside Unreal so maybe that is a possibility…. probably not.
So that is that. Stay tuned for the next one!