Getting You Into Games More Efficiently Than Ever

DIAGGameStartsSecond

Game instances started per second over a 24 hour period.

A little over a year ago, we took an in-depth look at what happens every time you hit the “Play” button. Fact is, a lot goes on behind the scenes when you start a new instance of ROBLOX. That being said, we’ve made several changes over the past couple of months in the constant and never-ending quest to make getting in and out of games as seamless and smooth as possible. We tapped ROBLOX Web Engineer Vlad Fridman to explain the dramatic infrastructural changes that have taken place in the last couple of months, and tell us where they’ll take us in the near future.

Continue reading
     
 

Exploring the Possibilities of Articulated Physics, Part 2

We have a vision for ROBLOX where builders can create complex mechatronic constructs and simulate them in real time with other players. To that end, we’ve been working on implementing a new articulated physics engine, which will ultimately offer greater fidelity and more robust support for joints, motors and multiple articulated bodies. This has been a long and challenging process, but the videos below illustrate the progress we’ve made so far (and since our first article in this series).

Continue reading
     
 

Dynamic Lights Now Support Shadows

Ever since the release of dynamic lighting last spring, our gamers, builders and developers have united in requesting that objects blocking SpotLights and PointLights – in addition to sunlight – cast shadows. We received so many requests for this unarguably intuitive improvement that we prioritized it in our development pipeline and pushed it to production as quickly as possible. While it’s a simple advancement on the surface, the Rendering Team poured significant time into making it happen without a hit to your performance.

Continue reading
     
 

Synchronizing Physics and Rendering at a Smooth 60 FPS

ROBLOX Battle June 2013The ROBLOX game engine interweaves multiple jobs to create an accurate on-screen representation of your multiplayer, physically simulated games. The primary jobs are physics, rendering, networking and Lua scripts, and each job is updated at a frequency that balances performance and fidelity. We are working on rolling out an optimization to those update frequencies – particularly in relation to the physics and rendering jobs – to boost ROBLOX’s max framerate to 60 at almost no cost to performance.

In an ideal world, each of the primary jobs would be updated at exactly the same frequency (let’s say 120Hz), your computer and network would be able to manage the load, and the framerate would stay locked at 120. However, in an online game as complex and variable as ROBLOX, that’s a dream. Instead, we have to optimize the frequency at which each job provides new data for the best possible experience. This is what we’ve done to increase ROBLOX’s framerate to 60: optimize the frequency and distribution of physics updates, and ultimately synchronize the physics frequency with the render frequency.

Continue reading
     
 

With Streaming Join, Levels Load as You Play

Our Client Network Team is focused on getting players into games as quickly and efficiently as possible. Their top three goals: decrease join times, allow builders to make more complex places and creations, and offer support for all types of legacy hardware and mobile devices. The idea of real-time part streaming has been kicked around as a solution that is in keeping with our goals. Soon you will be given the option to enable streaming for your place or game via a new Studio setting. This brings about several ramifications we will discuss in this article, and ROBLOX Engineer Yunpeng Zhu will provide the details.

Continue reading
     
 

Exploring the Possibilities of Articulated Physics in ROBLOX

We’ve been working on testing and implementing a new articulated physics engine, which will offer more robust support for joints and motors, and more accuracy. We have a vision for ROBLOX where builders have the freedom to create the most complex mechatronic creations they can imagine, and simulate them in real time with other players. This has been a long and challenging process, but the video below illustrates the progress we’ve made so far.

Continue reading
     
 

Outlines: Simple Appearance, Complex Technology

outlines1Last month, ROBLOX launched a new rendering feature known as “outlines.” Outlines essentially draw a black border around all the edges you see in ROBLOX worlds; helping to establish a more unified aesthetic between the vast array of creations. While they’re a work in progress and we’ve since decided to make them optional, the way we arrived at their implementation was a challenging process of considering the industry standards and developing our own solution. We ultimately settled on a technique that fits squarely within the confines of our platform and is entirely scalable to a wide range of legacy hardware.

The Extrusion Method

With the extrusion method, developers first create an extruded (slightly bigger) version of the 3D object, render it black, and place the original object on top–the resulting image creates the illusion of a black and bold frame encompassing the 3D object. This is an expensive process computationally–in order to pursue this method, we’d have to render everything twice (the object and the outline frame), which would lead to a larger pool of users with older hardware who simply couldn’t experience ROBLOX. So we took a look at…

Continue reading