As a Roblox developer, it is currently too hard to test large games.
For my game, RoCitizens, on my machine it can take 22-30 seconds from the time I hit the studio “Play” button to the point at which I can move my character. Additionally, it takes 10+ seconds from the time I hit the “Stop” before I can resume work in studio.
It is frustratingly common that I make a quick edit to some code and hit play, only to realize seconds later that I made a logic error or typo. I’m then forced to sit through 30-40 seconds of frozen studio windows before I can fix my mistake. Often I have to do this 4+ times in a row as I iterate on my code.
This not only consumes development time, but breaks my flow and diminishes overall productivity.
Technical details for RoCitizens loading
Here are some rough numbers that show a distribution of load times for my game. I obtained them by essentially copying an isolated service into a new place file and comparing it to the baseline load time.
Service | Seconds |
---|---|
Workspace | 6.44 |
ServerStorage | 4.90 |
ReplicatedStorage | 1.56 |
ReplicatedFirst | 4.40 |
ServerScriptService | 0.32 |
StarterPlayerScripts | 0.16 |
StarterGui | 0.90 |
Part count seems to be the greatest offender, even if the models are in storage. Additionally, it seems like having anything in ReplicatedFirst on a baseplate will immediately add 4+ seconds to loading.
Currently, my team creates unique place files for different game aspects so we can avoid the long load times of the main place as much as possible. We spend a lot of time organizing and coordinating between separate builds.
Improving studio load times would make developing and maintaining large games much more practical. It would improve workflow and allow us to focus less on optimizing for performance and more on the game itself. Thanks!