At the end of every year, the entire Roblox team gets an opportunity to collaboratively explore visionary ideas and present experimental technology in front of the entire company. This is a tradition we affectionately refer to as “Hack Week.” Over the course of five days, Roblox employees shift gears to work tirelessly on a variety of pet projects ranging from mind boggling engineering achievements to creative process improvement projects. We’d like to share what our team has been cooking up in the Roblox labs for our four-part Hack Week 2016 series.

Model Studio for Mobile by UristMcSparks & Silent137

One of the biggest requests we hear from our community is to make a mobile version of Studio. During last year’s Hack Week, Silent137 and I decided to rise to the challenge and attempt to build a functional prototype of Studio for mobile devices in just five days. In so doing, however, we needed to narrow the scope of our project to create a more manageable mobile experience. Here’s what we came up with!

frameborder="0" allowfullscreen>

For our Hack Week demonstration, we ported over most of the basic Studio tools—Move, Scale, and Rotate, for example—into a 3D space, and added a Toolbox UI on the bottom of the screen so you could easily insert new objects, like constraints and attachments. The idea was to show how someone could build a model of a car using these tools without any scripting knowledge whatsoever. Rather than porting over the full Studio experience on mobile, we wanted to create a scaled down version that would allow developers to create models of anything they could possibly imagine, whether it’s a house or a car, as we illustrate in our demo. Our prototype was also designed to allow objects to snap together so developers could easily attach them without having to fiddle around too much on a smaller screen.

Down the line, our vision is that developers could use this framework to build a model, and then export it to the desktop version of Studio. That way, you could simply drag your model onto your computer and do all sorts of cool things with the full Studio experience. Aside from building, one last big component of our project is that developers could also test their model so they could make sure everything was working properly. All in all, we found that these solutions provided the best Studio experience on phones.

New High-Resolution Lighting Technology by zeuxcg

You may remember back in late 2015 when I previewed a new voxel-based lighting system for Roblox during Hack Week. It was essentially our current lighting system re-imagined so that it would work completely on GPU with minimal CPU intervention and 1x1x1 voxels. Although it was well received by the community at the time, I encountered a few problems that were difficult to surmount and the system did not lay a good enough foundation for us to build on in the future. For example, the shadow quality­­—especially for humanoids—was not as good as I’d like it to be, the system only performed well on top-tier desktop GPUs, the shadow fidelity from CSG/MeshParts was lackluster, and the specular highlights didn’t look quite right if there were several sources of lights nearby each other.

So, for Hack Week, my goal was to create a dynamic non-voxel lighting system that would be more responsive and look significantly better than the technology I showed back in 2015.

frameborder="0" allowfullscreen>

I prepared three separate demos for my project, each one demonstrating how the specular lighting and shadows have been improved over my last iteration. I wanted to create a unified solution that would not only create glare on bright surfaces, but also cast high-quality shadows realistically and dynamically—including shadows being emitted by CSG parts—from multiple light sources. I can even illuminate particles using a much more optimizable solution.