Over the past couple of weeks I have been primarily working on the performance. I can finally say that I'm pretty happy with it.
The new LOD system sped up the rendering & animation a good bit.
The Cell / Portal / Anti-Portal system is working well also, really speeding up all 3 levels right now.
Doors & keys now work, so you can't just go anywhere without the proper key. OMG - gameplay!
I also made doors so they can have an associated portal with them. You add a 'portal' facet to the door, and give it the portal name, like 'Portal_0123', and when the door closes, it will disable the portal, culling the cell contents more aggressively, and when the door is partly open, the portal is marked enabled, and the system processes the cell as normal.
This can be used in certain levels to completely cut off part of the level either before you get there, or after you achieve something. I was thinking the final crypt boss area could have a spiked wall come out and block your return, and this would cut off the portal to save framerate.
I just added better shadow culling. Now I don't bother rendering shadow maps to objects that are more than 3 meters away from the view frustum, as measured by the direction from the light. In other words, if the light is to the left, it takes the object's
visual bounding box, extends it 3 meters to the right, then checks if that is partly visible. If not, it doesn't even render the shadow map at all. This was a large boost on the temple level, where it was drawing a shadow map for every shadow casting entity every frame.
I also changed the skybox to render after the diffuse geometry & z are rendered to save fillrate & bandwidth.
Next week is GDC. If any of you are coming out, I am talking on Thursday at the NVIDIA Performance Tools talk, where I will be demonstrating NVPerfHUD with Ancient Galaxy.
We are also looking for a coder local to the Bay Area ( Our office is in Sunnyvae ) who wants to join the team, either part-time or full-time. Paid programmers as well as interns can apply. At this point, I don't think someone remote will work, as we have a lot of integration to do.
If there are any game designer types, we will be setting up an alpha night in a few weeks. If you are interested in giving design & gameplay feedback, send me an e-mail at email@example.com.