About Kevin He

Client Physics and Networking Lead at ROBLOX. @GongfuTiger on Twitter.

Removing “Tool Lag” from ROBLOX’s First-Person Camera

ROBLOX Battle Slingshot ScreenshotWe’re constantly striving to perfect the feel of building and playing in ROBLOX. To that end, we recently addressed “tool lag” — a delay seen from the first-person perspective between the view of the camera and the tool or weapon in the player’s hand. While this may seem like a minor enhancement, it goes a long way in improving the quality of the first-person ROBLOX experience. This article serves as not just an introduction to the improvement, but a documented timeline of testing and eventually implementing it.

Continue reading

Physics Performance Demo: Domino Stress Test

As you may recall, we recently published an in-depth article about how we’ve sped up ROBLOX’s physics by 2-4x as a result of modeling collisions using impulses rather than springs. The “impulse solver,” together with three recent bug fixes, has drastically improved the performance and realism of one of our favorite physics-engine stress tests: Ultimate Dominoes! by armitroner. In this test, a single force cascades through thousands of standing parts, causing them to topple in quick succession.

Continue reading

Impulse Solver Gives ROBLOX’s Physics a Serious Speed Boost

Big CrashIn late 2012, a significant fraction of ROBLOX developers worked together to make games run on performance-constrained hardware (iPad, iPhone and iPod touch, to be exact). The team set off on an exhaustive hunt for inefficient processes within the ROBLOX source code, then found ways to optimize the problem areas that had substantial performance payoffs. This allowed us to bring the full in-game multiplayer ROBLOX experience to mobile devices in December, but we did have to make a concession: there would not be a destructible environment in ROBLOX Battle. The physics simulation was too resource intensive.

Soon, that’s going to change, as Kevin He has altered the way ROBLOX handles collisions – one of the major components of our distributed physics engine. Better yet, you’re about to see a 2-4x increase in physics performance across all games and hardware.

Continue reading

Smoothing ROBLOX Character and Vehicle Motion

Character in MotionWhen you see ROBLOX characters moving in-game, their motion occasionally appears to “stutter.” The problem is magnified in certain scenarios; for example, two characters standing in close proximity on a moving conveyor will appear to stutter dramatically in each other’s camera. ROBLOX Client Physics and Networking Lead Kevin He recently dove deep into this problem, as it applies to characters and vehicles, and has some observable improvements to share.

First off, let’s take a look at some before-and-after video. In both clips, there are three players in a vehicle and the video is captured from the camera of a non-driver passenger. On the “new” side, it’s clear that much of the vehicle’s motion stuttering has been eliminated.

Continue reading

Enhanced Water Physics, Vehicle Seats Support Rear Propellers

ROBLOX BoatingWe’ve talked previously about our ongoing effort to build robust joints and motors, and even touched on implementing seats for boats that support rear propellers. We’re still ironing out bugs with our soon-to-be released robust joints and motors, but we decided to release our new boat seat and water propeller support first. These features function independently, letting you experiment with propellers and watercraft today. Though this blog post features some pretty complex ideas in terms of building, we are hard at work on streamlining these building methods in the future so they’re intuitive for all uses. For now, check out what we’ve got so far.

Continue reading

Robust Joints and Motors: Keys to Better Vehicles in ROBLOX

Advanced Physics - Robust MotorsAt ROBLOX Game Conference 2012, Kevin He dissected the steps he’s taken to refine ROBLOX’s water physics, hinges and motors so that vehicles – especially boats – perform more realistically. In this blog post, we’re recapping the key parts of the development process. You might be surprised at how much work goes into physically simulating real-world machines in a life-like fashion.

ROBLOX’s water, released in June, gives you the ability to create a boat that floats based on actual physical properties, rather than lines of Lua code. While the release of water marked a big step forward for ROBLOX, it has its limits; for example, if you want to create a propeller-powered boat, the propellers have to be on the side of the boat, as though they’re mimicking wheels on a car.

We’re working toward releasing a vehicle seat that gives players greater boat control, namely over rear-facing propellers that function based on real physical forces. It sounds simple, but it’s actually the culmination of two complex physics engine developments.

Continue reading

A Deep Look at ROBLOX’s Buoyancy and Water Physics

Water Physics and BuoyancyBoats. Waterfalls and geysers. Swimming and diving. Flowing rivers and deep pools. With version 1.0 of ROBLOX’s buoyancy and water physics, carefully crafted and researched by our Physics Team, these things are not only possible, but also realistic. We’re featuring ROBLOX Physics Engineers Kevin He and Tyler Mullen today, as they explain the latest iteration of buoyancy (see the original here) and its implementation in ROBLOX.

Continue reading