Tech Demo: Dynamic Lighting Exploration

Dynamic LightingMy 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.

Continue reading
     
 

iPad Tech Demo

This is a first look at the ROBLOX code stack running on an iPad. Product specs are in development and there is no announced ship date. The tap-to-move interface shown in the demo is a place holder for future thumb controls. Textures and skyboxes are disabled.

We are building off the same code as our PC and Mac clients. Rendering speed is surprisingly good. Features, bug-fixes and enhancements for the PC/Macintosh ROBLOX will show up on the iPad. Over 95% of our code base is common among all platforms, including networking, rendering, physics, sound, core, threading and lua execution.  The demo is running in full client-server mode with networking.  We can join ROBLOX servers with the iPad demo over WiFi.

Continue reading
     
 

The Big Bang at ROBLOX: Universe Creation

My UniversesHow will our users create bigger and better games? Navin Lal’s Hack Week project presents his vision of the future. 

Universes would allow ROBLOXians to create massive game spaces by linking multiple games together. You would not only travel to and fro (thanks to the ever-handy means of teleportation), but all of your ROBLOXian character’s previous accomplishments within the “Universe” — whether it’s experience, currency, progress, events and more!— would accompany them too.

Continue reading
     
 

The Evolution of Voxels in Video Games

How do you represent objects and terrain in a 3D video game?  A partial list includes triangle-meshes (very common), geometric primitives (ROBLOX), and height maps (terrain).  Today I’m going to talk about another way of modeling objects and terrain – the voxel.

Voxels store information in a 3D grid.  In the simplest case, all of the 3D space in your video game is divided into a grid, and each cell in the grid is either empty (air) or full (ground).  To make the world look more realistic, each cell can be a different color or material.  Just like with your mega-pixel camera or HDTV – the more voxels, the more realistic the game world.

Continue reading