Posted Tue, Jan 10, 2006 by Awenyddion
It's been awhile but Heidi is back with a new log on Portals and the Nav Zone.
A portal system is a way to more intelligently decide what we draw and simulate within a scene. Basically, we divide the level into a series of “rooms”, which is essentially an group of stuff you expect to see at a single time. Connecting these rooms are volumes called “portals”. Those allow me to tell which rooms I should expect to see from other rooms. So when I’m in a room I can quickly determine which portals I see, which I can then use to quickly determine which other rooms I can see from which I can determine … etc. etc.. Anything not seen is discarded and not drawn. Not terribly exciting, but it allows us to have bigger “play areas” and to allow you to stay in them longer before we have to have a giant load from the disk. One of the problems found along the way was that our art really wasn’t created with this system in mind, so I had to write some code to appropriately split the art along the boundaries of the chambers. While this wasn’t terribly tricky it was gruelingly slow. Hence the part of my job where I go back and make existing stuff work faster.
The nav zone uses this system but was a bit tricky because it is so VAST. Our normal pipeline for rooms is to simply export from Maya, and then run through a conversion program to get it into the game. Unfortunately the file that got spat from Maya was close to 2 gigs size. When we went to convert it, our machine simply didn’t have enough memory to handle it. In the end we had to redo our process to be more piece meal – processing smaller files which are then added to the overall scene, but cached to the disk instead of wiping out your machine.
Awen goes to studiously brush up on her pirate speak