I’ve been writing a game recently and I’ve noticed a couple things about datastores that has been bothering me.
Firstly, I’ve noticed that the only way to run a simple query (request, whatever other term you’d like) to a datastore is to be either in studio or in-game. I find this cumbersome and quite restricting.
Lets say that in some magical universe, I have a game that’s maintaining around 100 players per day and my backend data system utilizes datastores. If those users have an issue, I have to physically join their game or any random game (based on how it’s stored: id or username) just to fix whatever it is.
Secondly, I know that an external database would effectively solve this but, external databases aren’t free and most new users (of which this platform attracts) do not know how to set up a database externally let alone connect to it via some sort of web interface or RESTful API.
Which again, brings me to the cumbersome issue of how to effectively manage hundreds of users or any at all in a way that allows me to have control.
So, in the spirit of all this, I firmly believe that an actual API (whether that be web-based or not) should be provided to allow & connect to datastores externally while logged in. Perhaps, being under the configure game or place menu. Accessible in its own tab or similar.
I do not, in full faith, believe that in-game only access is appropriate nor leverages the power that datastores can provide (being a free; cost effective solution).
I also don’t believe that the only other solution or alternative to this is an external database. Like I’ve stated in the past, external databases that scale are hard to set up and the average user on this platform probably won’t be able to do it. It also costs a lot to host a database & deployment may be more work that it’s worth.
Instead, providing external access (adding basic functionality to a system that is built in & already scales) would not only give power to developers but, would provide an ample reason as to why datastores are better than the solutions that Roblox is inherently competing with.
If this is a duplicate of some other post, my apologies.