Jello-cam

From OniGalore
Revision as of 17:55, 4 January 2017 by Iritscen (talk | contribs) (Created page with ""'''Jello-cam'''" is the commonly-used term for a feature of Oni's engine which makes walls semi-opaque when they block the player's view of Konoko. The term came from an inte...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

"Jello-cam" is the commonly-used term for a feature of Oni's engine which makes walls semi-opaque when they block the player's view of Konoko. The term came from an interview with Design Lead Hardy LeBel here.

The relevant BSL commands are cm_jello, a function that toggles "Jello mode", cm_jello_amt, a variable that determines the opacity of jelloed quads, and cm_jello_radius, a variable that determines how large of a visual space to clear in the quads between the camera and Konoko. The boxes are named with the suffix "_jello_fix" when OniSplit exports a level model to DAE.

The jello-cam created a problem for Bungie West when they realized that allowing the camera to escape the room would show not only the intervening walls and the adjacent room, but other unintended scenery like the skybox or other parts of the level in the distance. The solution to this problem was surprisingly low-tech, but high-labor. The story of the solution was originally told by Hardy on OCF here, then re-told in more detail in a YouTube video here: someone had to create black boxes around every piece of a level that needed to exclude other pieces of the level that the jello-cam might reveal. This task fell upon one of the level designers, Dave Dunn, who put in long hours to create the boxes; the other designer, Sean Turbitt, was probably no longer around, as he left the team at the end of 1999.

The best way to understand the "jello fix" solution is to look at some screenshots. First, here is a wireframe view of the first level. The floor grids are highlighted to help orient you.

JelloFix-wireframe model.jpg

Keep in mind that the level model is a combination of the rooms from CHAPTER 00 . COMBAT TRAINING and CHAPTER 01 . TRIAL RUN. Notice that the training rooms were placed on a plane below the Warehouse. The starting room in Training is closest to the camera. Now here is a hidden-line rendering of the same view:

JelloFix-solid model.jpg

As you can see, the level is grouped into boxes, including one box for the entire Training area. Here's what that box does in-game:

JelloFix-normal cam.jpg

When the camera escapes the room, anything beyond the room is blackness. That's not because the renderer knows better than to show the skybox; it's because you are literally looking at the inside of a black box textured with "TXMPBLACKNESS"! The boxes were placed at a sufficient distance to contain the camera when Konoko got close to a wall; after all, the camera is never exceeds a maximum distance from Konoko, which is 33 world units (11 feet), so this was a known constant. Here's what happens when you use cm_distance to increase the camera's distance to 200 units:

JelloFix-distant cam.jpg

Now we have escaped Training's jello-fix box and can see what BWest never wanted players to see.