In the interest of accommodating guests in my game, I thought it would be a good idea to show, once a guest hits a certain milestone, a prompt to create an account on the website. However, it kind of sucks to inform them, “Hey, you should make an account so that your data can be saved! The thing is, no data from this session will be saved, so you’ll have to start all over again! Yay!”
The obvious solution is to tell them to make an account before they play, but I have an idea that may be a win-win-win for developers, guests, and ROBLOX.
I’m suggesting method of Player called PromptRegisterAccount (or whatever) that would open a CoreGui prompt (similar to the developer product purchase prompt) asking the user if they’d like to sign up for an account. If the user selects yes, the signup page is opened in their browser. This method would throw an error if called on a Player object that is not actually a guest.
To complete this feature, an event is needed: Player.RegisteredAccount. This event would be fired when a user currently playing as a guest signs up for a ROBLOX account on the same machine. It would pass as a parameter the UserId of their new account, allowing us to create and save DataStore keys using that new id.
ROBLOX would somehow have to know in which server the new user is playing as a guest, and notify that server of the new signup. I have never done any sort of web programming, so I’m not sure how feasible this is. I imagine lol maybe? it could be done with some IP tracking of the signup machine and guest playing machines? I really don’t know how implementation would work.
This feature would benefit all parties involved. Developers would be able to better satisfy players by keeping data. ROBLOX would see an increase in user conversion and retention. Guests would be able to have their data saved to new accounts.
Please, let me know what you think! Any suggestions are welcome; I’d love to hear what you guys have to say!