Hi. I am a new developer with a new game. While I was designing the game, I didn’t have any visitors so I would routinely publish the game as I developed and wrote code. But now visitors are coming to the game and I can’t afford to keep publishing code that could produce errors. I would like to create a new system and habits around publishing less frequently, keeping track of releases, etc. Is there any standardized advice for how to do this? Is the idea to work in Roblox Studio and do all testing in studio and only publish when I am 100% done with a cluster of improvements? Is there any merit to having a copy of the game, one private version which I keep evolving, and one public one which I save to occasionally? I have searched for this topic and couldn’t find anything too helpful. Thank you.
I think taht the safest way is having a private place and test everything with some friends, and solo, to check if either single player or multiplayer have bugs, so you don’t risk to introduce game-breaking bugs
Thank you. When you say private place do you technically mean a different place within the same game? Or a different game / experience?
Also you mentioned testing for bugs: Once the game is up and running with lots of traffic in multiple servers, is there any way I can track bugs / crashes? The only way I know is to be in the game and open the console to look for red errors but I can’t be in every game all the time.
Not really.
Depends.
Yes. (In my opinion)
The advantage of having a private place, and creating your scripts in there, then once you are done with an update or bug fix or something, you can copy your changes over to your main public game. Is that that if a script isn’t working correctly or something and you decide to fix it the next day because you are too tired or something, you don’t have players complaining that the game isn’t playable because of these issues, because these issues are only in the private game, not the public game.
Ok, i mean like having the copied game, making it private and testing there with friends or solo, and then overwriting the public one with the private one, updating, and from what I know there isn’t any way to track bugs, you should make a discord server or something moine taht were players can report bugs etc.
It’s not this complicated. Instead of clicking “Publish to Roblox”, you click “Save To Roblox.”
This will allow you to start where you left off and players will not see the change until you publish.
Or, a more organized approach, is to save the “beta place” as a separate place. Then, you just “Publish To Roblox As…” in there when done.
thank you. just started the process. a related question: how do game developers monitor their games in terms of crashes and bugs? My game could have crashed (and does sometimes crash) in one or more servers and there’s no way to be alerted to that real time or later so that I can address unforseen problems. Any advice here?
As I said, the only way of doing this is by making a Discord server or a place we’re players can report bugs and crashes, sadly Roblox doesn’t give a built in service for that
No idea. The analytics can show you the average visit length, but I think there might be a separate section.
Just make sure the game doesn’t take up too much memory on the client.
And also that the CPU doesn’t get too high! There’s a script to check that Server CPU Load Measuring
That’s on the server. On the server, it’s a completely different story. You can detect if the server crashes if BindToClose
never fires ever.
Additionally, I don’t think it’s possible to measure the CPU if the server already crashed. Also, the CPU being high doesn’t necessarily mean a crash is about to happen.
Yes but it almost always does from what I know, and also there’s local CPU, so it’s not only on the server
That’s true, but only after it crashes, meaning you can’t detect it.
That’s the hard part. I’m not sure how to detect if the client crashes at all.
Again, you can’t measure the client’s CPU very well enough to detect if it crashes. Only average visit length.
Yes, but having a CPU control means that thsi way you will be able to lower the activity on either the server or the client and lower the CPU, thus making it harder to crash for either of the two
As I was trying to reply to this post, the website froze up for around 15 seconds. The CPU usage did not increase one bit though.
CPU throttling is what you are referring to. Almost every computer already throttles CPUs (to save energy). The problem is at the software level, not the hardware level.
Again, when the CPU goes up, it probably means that it’s trying to do an intense operation until it crashes or uses up too much RAM.