My hack week project was to explore rendering styles and visual effects that would take ROBLOX to the next level. The ROBLOX rendering engine works in a difficult environment compared to traditional games –
- ROBLOX places are made by our users
(rather than by hired-on level designers)
Usually game companies can control their content. They can impose a strict set of rules about how many polygons are used, how to place particular items, and how much of a level is static. ROBLOX is different – builders can come up with anything, with no restrictions and no budgets.
- ROBLOX places are very dynamic
In ROBLOX, any part is physically simulated by default – so it could move or change every frame. Even anchored parts could be changed at any point in time through scripting (they often do). Terrain is a great example – although it’s always anchored and cannot move, scripts and tools change it all time.
- ROBLOX runs on wide range of machines
ROBLOX works on 10 year old computers with a 32MB video card, as well as on the latest monsters with gigabytes of memory. Any rendering effects we use must gracefully scale down and up immensely.
Whenever we think about improving the look and rendering effects on ROBLOX we need to keep all of this in mind.
My idea for hack week was to export ROBLOX scenes to some common format that professional rendering tools can understand (like Autodesk’s 3ds Max or Maya). That way, artists can experiment with different shaders, effects and materials in a matter of minutes – instead of implementing all of them in the engine, which could take a long time!
Now artists were able to use the full power of 3ds Max to play with different rendering effects! Here’s what we got one hour later:
One thing we all realized immediately – it’s all about lighting. Lighting makes all of these shots look good – shadows on the bridge and on the house and occlusion on cracks between the terrain parts. All the subtle darkening makes it look real.
The next step is to come up with the right mix of various effects and techniques to see how they all work together. Here is one idea we have for the future look of ROBLOX. Keep in mind, this is all completely experimental, just very early prototyping and brainstorming. Thank you to our friend Alexey Vlasov for his insights on this. Honestly, we haven’t really decided if this is the right look for us at all – so tell us what you think.
Bonus: we are thinking about whether this is possible on an iPad as well. Check this out – again, this is not a ROBLOX engine build, but a sample prototype that just renders chunks of geometry with a particular shader to see what an iPad can do.
We did a poll yesterday and received an energetic response from our community asking for dynamic lighting. These tech demos will pave the way to next generation lighting in ROBLOX.