As a Roblox developer, it is currently too hard to provide large games to players who have slow Internet connections.
If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.
I would like to propose a system allowing developers to cache any assets loaded from the Roblox CDN (CSG objects, images, sound files, etc). The Roblox client would save any cacheable files onto the disk and keep an index of them. This would allow games to load much more smoothly and use less bandwidth. Communications with the CDN should be implemented with HTTP ETags
or a similar system.
There may be concerns about this making it easier to spoof the loaded assets, especially animations. Of course, the client should never be trusted. To help combat abuse up to some degree, a check could be implemented on the client to ensure that the hashes of the files stored on the disk match those reported in the index. Should the hash in the index be outdated or mismatch the file, the cache will be updated.
Some developers might also be worried about the potential of their assets being stolen due to being easily accessible on the disk. While there are always ways to copy anything that is available to the client, it might be useful to provide a checkbox that controls whether an asset can be cached or not.
In conclusion, a caching system for multimedia assets would make the general playing experience much smoother for players, especially those using slow connections.
Please feel free to post any suggestions and criticism for this feature proposal.