||[Feb. 16th, 2008|12:24 am]
Spectre Gruedorf Challenge Blog
Today: more work on the object creation and content management model, and seventy gazillion bugfixes.|
Also: here is our new logo:
courtesy of Daniel Harris.
EDIT: Okay, so Ben asked me around 11 PM for a way to add detail to the Perseus terrain maps (Perseus: our little toy terrain engine for a tactics game.) Naturally, John Carmack has already solved this problem - stamps! - so I set out to implementing arbitrary stamping on our existing geometry.
A few hours of work later, and a thorough debugging of my plane, vector, and clipping classes, and we have stamps. Unlike the implementation in idTech 5, no MegaTextures were harmed during the making of this production. Since the level is so small, they're hardly needed. Instead, we analyze the stamp content, build texture atlases, and dump the entire bloody mess onto the graphics card in one swell foop. The downside: you do have to worry about how many stamps you use, although I'm not really bothered by having a couple of large texture atlases kicking around. The plus side: you can also splat arbitrary geometry, which is good because the Perseus terrain engine has some very strange, interesting ideas about the sort of geometry it can create (because this is a tactics engine, every square of the terrain map has its own unique set of up, down, left and right heights, and then the engine "fills in" the holes with vertical walls.)
I haven't decided if I'll actually enable that particularily strange feature yet, but I might. There's something quite nifty about being able to just draw on stuff. There's also quite a clever little scheme in place for being able to render 32,000 splats drawn on top of each other without z-fighting; although I'm sure anybody with a few braincells can probably figure it out, I'm still proud of it.
I also knocked in a fix for the blend bug that has been plaguing my ass for the past year and a half. It's still a little noticeable, but with lighting on and stuff happening, you'll never notice it. So I'm pleased.