Blood Omnicide blog

Blood Omnicide development diary: fighting against entropy

In today's update: stuff that was done during summer/autumn 2012 and overall Blood Omnicide 0.1 progress.

Mausoleum retexturing, Ambient Occlusion effect in action

Chapter 1. Retrospective

Blood Omnicide v0.1 has been in development for almost 3 years now. It started as a map pack and features update to the demo version. In course of time, we got huge response from the community: the critics, opinions and requests. Many of those were reasonable so we decided to add new features to the plan for v0.1: raising overall quality, get more blood omen-like gameplay (and restore things that were missed), add real-time physics for destruction and interaction, improve multilanguage support and add new faithful features to extend gameplay. Making all that stuff required us to revise the whole project skeleton. There are very few of things that were left unchanged since the demo had been released.

One of side effects of that major reroute was growing entropy. You can't significantly change many things without adding chaos to the structure. Big improvements demand more improvements, making rewrite cycle last longer. For example, by increasing lighting quality, we got nice surface shading which demands high definition textures. Once high definition textures were done, it was clear that sprites, even being upscaled with advanced techniques, start to look blurry and misfit with map environments. It requires to upgrade all sprites to models. Models require rag doll animation for nice death scenes... STOP. Improvements without any doubts is nice thing, but that’s too much work to do in a single update. It is unacceptable that too much features will throw project into remaking hell, holding it away from the release.

Chapter 2. The plan

Work-In-Progress: retexturing trees

After all reflections we've decided to dedicate summer and autumn to stabilizing Blood Omnicide development - finishing up stuff that is not done and cutting out some of the most slow progressing features (such as first person viewport, models for all characters and so on). The task list was:

  • Lock the texture quality level at 8x (8 times higher than original tiles) and make all textures look in a same way.
  • Finish mausoleum retexturing.
  • Fix and polish lighting technique.
  • Start the spirit forge and blood fountain themes.
  • Start with finalizing Wilderness location.
  • Temporarily disable code parts that are not required by the current game progress, lowering amount of supported code.
  • Fix and lock progress for all new game features until v0.1 will be out.

Chapter 3. Result

Massive texture update, about 300 HD textures were produced (with normalmaps and gloss maps that would be around 800 textures). ~20 new map models, and many existing ones (~70) were updated to use smoothing groups (recent version of Darkplaces .MD3 exporter - a tool created to export map models got support for smoothing groups). Wolf cave and wilderness location got progress, bone crypt theme was finished, test colored materials for location prototyping were added etc.

Sun dawn in Ziegsturh

On the rendering side, global sunlight to simulate sunset/dawn was added. Q3map2 (map compiler) got new ambient occlusion technique for lightmap calculations, this new techique produces both highlight and darken effect. World textures (such as town signs) can be translated now. Blood Omnicide Development Wiki was created in order to increase efficiency of team work.

As a sample of our results, we would like to present a new gameplay video: