So during the day, when I'm not working on Chaotic Rage - I actually have a day job, and that day job is becoming a bit of a Chaotic Rage itself!
You see, at work we manage the production of a website for a motorsport race in Australia. Any aussies here should be able to fire it out based on the date of this post.
As a result, I have been so busy recently that this fortnights Chaotic Rage is going to be delayed by a week, and even then it's probably not going to be a big one. Sorry guys.
Beta 13 is out!
So here it is...beta 13! I've added two new things: Campaigns and GLSL support.
Campaigns are fairly simple. A mod can define one or more campaigns, and if they do so, a "campaign" menu option shows up. A campaign is just a list of gametype+map combos.
The other new thing is OpenGL GLSL support. This is a feature of all modern video cards, and I now use it to get some really nice effects, like per-pixel lighting, and the dissolve shader. It's still a little incomplete, but I really didn't want to slip out to four weeks!
Updated water rendering
Just a little progress update on the GLSL conversion. I know I'm a couple days late for a release this cycle - it's going to be a 3-week one I think, instead of the normal 2 weeks.
Anyway, one of the benefits of the new rendering code is that it's much easier to make good looking effects, such as this updated water.
There isn't actually much more to convert over - only the particle effects, and lighting. Theres also a few bits I probably won't change - debug physics render, gui bits, text overlays, etc.
So yesterday I implemented a cool idea I had, which can only be done with shaders.
It's called "dissolve textures". I haven't seen any games using this much, but I might just not of been looking hard enough.
So for a given entity (e.g. a zombie), I've added an extra greyscale texture, which maps out which areas of the mesh should "die" first. Then the health of the entity is compared to the texture, and fragments are nuked if they have died.
In my textures, hands go first (black), followed by arms (dark grey), head and legs last (light grey). The torso is white, so it is there until the end.
I hope to improve this further though - I want to have body parts lying on the ground, and also have it know which part you shot, and have that area "die" more - once I have bones in place that is.
So I've been playing OpenGL shaders the last few days. It was finally time to upgrade to the OpenGL 3.0+ spec (which is shader only). The renderer is currently a hybrid, but it will all be converted over soon.
As part of the process, I took a read of the spec and wrote up a list of everything which has been removed. It's not 100% complete (because some of the stuff they removed was just options to functions), but it's a good start.
Once the shaders are in, I'm going to start working with bone animation - the most efficient way is using shaders, so I have to build that first.