Very interesting, CV!
rexrainbow -- I'm curious, for building a persistent world, do you think Firebase would be well-suited for:
a) the database of player characters' statistics and inventories
b) tracking all the various events going on in the world -- which NPCs are happy, which ones are angry, what time of day is it, etc. etc.
...or c) both of those?
Looking at your example and trying it out on multiple PCs I was impressed with how well it worked for that purpose.
Just trying to make the right decisions early on in my project so I don't end up having to redo major things down the road.
I currently am learning the firebase system of handling files to do part A of your question. Using CSV's I am attempting to have the player download their CSV off the firebase and use that to handle all their inventory. So when the game loads and the player logs in it will call firebase
for var player name = MyUsername
call order by key MyUsername; == str("MyUsername"&Character.CSV)
Then with that CSV file Pull any needed data for that one object in this instance my character
",Weapon,Body,Head,HeldItem
AA,Lv1WS,Lv1BClok,None,Potion3
Then you will have an array (Or another CSV which is my aim) with all your items listed.
",ItemName,Attk,Speed,Value
Lv1WS,Level One Wooden Sword,3,5,20 Gold
Lv2WS,Level Two Wooden Sword,6,4,25 Gold
Lv1SS, etc etc etc"
This way each item of your character CSV can have links to the master for its information so long as the row name is the same as the string of that item. This should work for any needed data and to save you having to call the masterCSV every time you need something just make variables with a value from that masterCSV
So you can make a variable for the damage you deal when you hit something like Var Attack == masterCSV.At(CharacterCSV.At("AA","Weapon"), "Attk)"
Then when you hit something just set enemyHealth == enemyHealth - Attack
I wish I know code to more esaly say that but that is why I use C2 lol.
tldr
Login>Call CharacterCSV>Use that to reference a MasterCSV(the .At of first as the row name of second)>make variables based off that call for faster processing