As a Roblox developer, it is currently too hard to make good looking games, 3D models, and big objects with the current resolution limitations.
Before you read
I made a video that you can watch if you do not feel like reading a wall of text (I totally understand). I highly recommend watching the video instead as it explains the problems of having a 1024x1024 resolution limit much better than text. Here is the link : Roblox Dev Forum Request - YouTube I am sorry for the low quality video. I honestly don’t know why YouTube did that…
My objective in writing this request is to have Roblox reconsider the importing requirements for images. Currently, our files are limited by resolution. I would like to propose the importing requirements be based on file size as well as resolution. Specifically, changed to:
- An image must have a resolution of 1024x1024 or less
- The file size must be under 500KB
(Note: The 500KB is just a suggestion, it could be whatever file size would optimize the balance between Roblox server space and performance with the best experience for Roblox users, as well as improving the quality of images that developers are able to upload.)
This is just is one solution that Roblox could use, however, Roblox are the ones to decide how they could go about doing this. I am just explaining what the optimal solution would be to the issues I will explain later, if I could have a say.
My reasoning is set forth below.
Currently Roblox only accepts 1024x1024 images within Roblox Studio. When uploading an image larger than that, they automatically get scaled down to 1024x1024. For many 3D modelers, this makes their job harder than it needs to be.
When creating 3D models, developers need to make some UV islands bigger than other UV islands on their UV maps. This allows important parts to have more pixels and detail than their smaller counterparts. This is the case with every UV map no matter what is being textured; however, the 1024x1024 restriction makes the UV mapping and texturing process extremely time consuming and tedious. I will explain why:
For instance, if a developer has a singular model that has two or more very important parts that will be seen up close by players, they need to provide those two important parts with adequate space on the UV map. After texturing everything in 1024x1024, those two parts will look very low quality even though the developer made the UV islands as large as possible on the UV map. This low-quality result is because Roblox’s rule requires the developer to use 1024x1024 images.
To overcome this problem, and to make these two parts look good up close, a developer must separate the parts into two separate UV maps, thus creating twice as many images to upload to Roblox.
The downsides of splitting parts into separate UV maps and images:
Separating them into multiple UV maps requires twice as much critical thinking and physical work, which slows down production time for 3D modeling.
If we were able to use image resolutions over 1024x1024, modelers would not need to separate their models into multiple UV maps. This would result in high quality final textures, less time consuming work for developers, less images uploaded to Roblox (which is good for storage), and making Roblox look even more professional and appealing to users.
Again. Here is one solution that Roblox could use, however, Roblox are the ones to decide how they could go about doing this. I am just explaining what the optimal solution would be to the issues explained above, if I could have a say.
I feel the best way to allow high resolution images would be to allow developers to import images by file size instead of by image resolution. Of course, Roblox would decide the file requirements. Roblox would also be able to limit the file requirements so that trolls/hackers couldn’t upload damaging files. Personally, I think 500KB would keep the Roblox servers running at the current, maintainable storage capacity, and the developers would be able to have more control over their games. This would be a win-win solution.
I got 500KB by looking at a variety of 2k texture maps made by me. All of the texture maps were around that 500KB range. 500KB is a good medium as you can get in that 500KB range easily by just changing the file format to JPG instead of PNG.
Under the current Roblox system, uploads are checked for image resolutions over 1024x1024. However, if the system were modified to also check for file sizes over 500KB (for example), then developers would be able to upload high quality textures while still keeping file sizes small and robust.
CURRENT ENVIRONMENT: Automatic Downscaling
Currently, when a developer imports an image, the Roblox system checks to see if the resolution is over 1024x1024. If it is, the Roblox system automatically downscales the image to 1024x1024.
PROPOSED ENVIRONMENT: 4 Scenarios
Here are 4 development scenarios and how they could be handled using a system that checks both image resolution as well as file size:
SCENARIO 1: Both Image Resolution and File Size are Over Limit
Suppose a developer has an image that is 3019x2014 (Over limit) and 3MB (Over limit). While it is being uploaded, a popup window could show up, warning the developer that the image is unable to be imported because the file is too large. Under that message it there could be the options to either automatically downscale the image to 1024x1024, OR to cancel the upload (thus allowing the developer to modify their files until they are within specs)
Example of what this could look like:
SCENARIO 2: Image Resolution is Over Limit, but File Size is Within Specs
In this example a developer has an image that is 3019x2014 (Over limit) and 450KB (Under limit). While it is uploading, a popup window could show up asking the developer if they want to downscale the image, and in parentheses it tells the developer that if they do, it will improve the game’s performance just like above. This encourages developers to downscale their image, thus being a benefit for Roblox and the developer (if the developer is trying to conserve space and have a smooth experience for all types of players).
Example of what this could look like:
SCENARIO 3: Both Image Resolution and File Size Within Specs
In this example a developer has an image that is 512x790 (Under limit) and 400KB (Under limit). During upload, no popup window will open since the image resolution is under 1024x1024 and the file size is under 500KB.
SCENARIO 4: Image Resolution Within Specs, but File Size Over Limit
In this example, suppose a developer has an image that is 512x790 (Under limit) and 3MB (Over limit). During upload, a popup window could open and say that the image is unable to be imported because the file size is too large. No other buttons will show up other than just a “Cancel” button.
It would be great to help Roblox expand their player base. Currently their player base consists mainly of people under the age of 13. However, by allowing the option to import higher resolution images, developers will be able to create games that have a more realistic style. These realistic looking games are favored by people above the age of 13. This will lead to the player base expanding.
If Roblox is able to address this issue, it would improve the development experience, provide a better experience for players, and should have no impact on server storage or performance issues for Roblox. It is a win-win situation. It would allow developers to provide higher quality 3D models for Roblox users, as well as reduce the time developers spend splitting up images and UV maps to get a 2k resolution effect with 1k images.