« WWDC 2004 | Main | Goodbye, Cotton »

What's this? An update?

I've started to get some grief about the lack of blog updates recently, but the truth is I've been really in the thick of it with KOTOR. Luckily it's starting to finally wind down, but it's been a pretty hectic month. I've learned quite a bit of interesting details as this beta period has progressed. Here are some highlights.

1. Some of the vertex shaders in KOTOR are extremely long and complex, and cause some video cards to fall off the "fast path" because they exceed the hardware-accelerated programmability on those cards. When this happens, they fall back to the software vertex program "emulator" (for lack of a better word) to give you the same visual end-result. In those cases, OpenGL doesn't give you an error (or any way to tell this has happened) other than performance taking a hit in some scenes. Luckily it's not a common occurrence on the affected cards, but it's a bit of a downer nonetheless.

2. KOTOR does some interesting, albeit perfectly legal, things with the client state that can cause OpenGL to crash on the Mac. For example, if you enable, say, GL_VERTEX_ARRAY, then call something that causes OpenGL to want to "validate" its internal state (like clearing the stencil buffer) and have not called glVertexPointer in between those calls, the current GL implementation will try to map the vertex array during the stencil clear (or other operation). If it's not been set and is NULL, this causes a crash. Luckily I've been able to work around this, so it's not a big deal.

3. Hands-up everyone who has played a game that uses fragment programs (also known as pixel shaders and/or register combiners) on 10.2.8. Now hands-up everyone who has noticed that they are considerably more bug free on 10.3.4. :-)

4. Vertex buffer objects (VBOs) are so much easier to program for than Apple's old vertex array range combined with vertex array objects. I like that they encompass the VAO/VAR stuff and also encompass Apple's "element array" extension in one tidy package without having to manage memory or deal with gl fences or any of that other bothersome stuff.

5. KOTOR has a whole lot of game in it. I've been poking away at it in my spare time on the Mac. Right now I'm 35 hours into it (according to the timestamp on the saved game) and I've still got the last third of the game to go. I've been playing as a "light side" male, and I understand there are some pretty big changes to the quests if you play dark side or female. I'm very curious to go through and play as a dark side female to maximize that.

Comments

I can't wait for KotOR! Hurry! :p

what's kotor?

Alex, KOTOR stands for Knights Of The Old Republic, a Star Wars game.