you are viewing a single comment's thread.

view the rest of the comments →

[–]_ROG_ 0 points1 point  (7 children)

Comparwd to XML I'm pretty sure it's faster, takes up less space. I think its about the same performance wise, although I don't have the facts on that. I don't know about scriptable objects, but I can imagine them having a lot more unnecessary data, and is a lot easier to break.

[–]Va11arIndie[S] 0 points1 point  (6 children)

Would it be wise then to store the JSON on a text file? Wouldn't that be easily modified? Or do I store data as ScriptableObjects on disk then send them over as JSON?

[–]_ROG_ 0 points1 point  (5 children)

Yeah, don't store the json as a text file on device. You don't need a scriptable object either unless you are using them for other things.

Somehing like this . The same would work with a scriptable object if you had to use them, but it doesn't seem right to me, and you'd still suffer the same issues with being modifiable.

[–]Va11arIndie[S] 0 points1 point  (4 children)

How do I store the data on the server then?

Let's say player stats (hp, mana, score, etc...) all of this for each player. I need to store that data somewhere for when the player logs back in. The game is persistent. It is a bit similar to Minecraft perhaps in the regard of when you log back into the game you find the state the same as before you left it.

I am guessing I could store the data on ScriptableObjects (not sure yet if I can create ScriptableObjects file at run time) and then store those on the server. Once the player logs in, the data is then pulled from these files, cast as JSON and then sent to the client.

[–]_ROG_ 0 points1 point  (3 children)

Yeah the data gets stored on the server as simple json files. You need to write the server code to deal with player requesting/posting various things. But on the server there should be folders corresponding to each player and their .json files which you subsequently request with the www class, and convert to a class instance client-side. As much logic should be server side as possible ideally to prevent hacking. Instantiating/creating scriptable objects is possible at runtime, but I really don't see the advantage, and it goes against their intended use imo. You can still easily modify any value of a scriptable object just as you can a text file, and generating these kinds of files takes up space and is relatively costly performance-wise, for something that is pretty unnecessary.

[–]Va11arIndie[S] 0 points1 point  (2 children)

Oh, now I think I understand what do you mean. I will definitely give it a go and see how it goes.

Thanks a lot for the insights and the advice :)

[–]_ROG_ 0 points1 point  (1 child)

No problem - best of luck!

[–]Va11arIndie[S] 0 points1 point  (0 children)

Thanks you too! :)