Every part of your ROBLOX character is fully customizable–you can change your hat, shirt, appendages, and even the look on your face. Like with every facet of ROBLOX, we want to give you as much creative freedom as possible. But what happens behind the scenes when you change the appearance of your ROBLOXian? We turned to Creative Director John Shedletsky to tell us. John?
Every item of clothing is a ROBLOX asset–a ROBLOX asset can include a wide range of things, like shirts, pants, decals, and models. Each and every asset has a unique number attached to it–the famous Domino Crown, for example, has an asset ID of 31174270, while the Shiny Teeth face has an ID of 20722130. On a fundamental level, the look of your character is determined by a list of combined numbers–IDs of all the assets you are wearing.
We save these lists of numbers in our database, and use the numbers to generate a picture of what you look like. As soon as you make a change to your character, a dedicated farm of computers begins searching our archive of number-combinations to see if this particular combination of clothing items has ever been created. ROBLOX has rendered billions of clothing combinations over the years, and even still, there are more possible clothing combos then there are atoms in the universe, so our system is constantly thumbnailing new combinations.
These combinations of numbers are stored on Amazon S3. But what happens if you manage to put together a combination of clothing that we haven’t rendered yet? We’re constantly bringing out new items and shirts; what happens when we don’t have an instance of your dress-combination on file? A different conversation happens between our web server and our database.
When you create a new or completely unique clothing combination, our database tells our web server, “We’ve never made something like this before. Please render it and store it.” We have a default, standard, blank ROBLOX character model onto which we can load assets directly in full 3D space. So we render a single frame of the character, and save it to S3. We then store the new combination of numbers with our existing ones. This process usually takes a couple of seconds (you know, when you see the huge question mark) before the changes can be seen. We just wanted you to know what was going in those couple of seconds.
Our clothing thumbnail system was built for efficiency–you’d cringe if you knew how many users were altering or changing their look at any given moment (hint: check out the graphic below). We keep the experience snappy by working with a system that is constantly updating itself with newer combinations. One elegant aspect of our system is that a list of asset IDs and body limb colors is sufficient to describe any possible ROBLOX character.
Finally, here’s another random fun-fact: Did you know that when you’re making changes to your characters’ look, other users can actually watch it happen in real time? In other words, if someone were to visit your profile while you were changing clothing, they’d actually see your character transform into their new outfit.