Update on progress since March

Oops, we forgot to keep you up to date about what is going on. There hasn’t been any really major new features added but there has been a lot of work on small features, and a lot of churn in the source code. Refactoring, and redesigns, to remove some of the limitations and to allow us to go forward from here. In particular, isolating the graphics engines is a step towards having dedicated servers. The rewrites and refactorings cover almost all the code: physics, resource system, background loading, rendering, shaders, materials, … Also there have been plenty of bug fixes (and perhaps some new bugs :) ).

Here is a summary of some of the more visible work people have been doing the last few months:

  • Complete reimplementation of the background streaming subsystem
  • Background loading of textual collision mesh files
  • Binary collision mesh files
  • Texture streaming is now automatic — you don’t have to specify the list of used textures in your class definition
  • Communal work on ‘project’ map has started, a tiling city block that we can instantiate multiple times to make a large city, and Brian has started a new ‘urban’ map
  • Camera now tracks vehicles automatically
  • Added a low power mode for laptop debugging (mostly for development, this is an idea I stole from portal)
  • Overlays — useful for road markings, z offset scaled by vertical distance from camera
  • Work in progress for bloom
  • Mesh material remapping from class objects
  • Added a nice exploding oil drum, and a traffic control orange barrel for roadworks
  • Added the sponza map, very high poly! include “sponza/init.lua”
  • PCF shadow filter can now use a noise map instead of just the simple dither pattern (enabled by default)

In addition to this, we have moved the website, forums, and wiki, to another host.

So, even if we aren’t posting, we are keeping busy :)

1500 SVN revisions

We recently reached an arbitrary, and meaningless, but strangely satisfying milestone. Of course the previous svn repository (before the move to sourceforge) also had a lot of revisions that we lost. And before then there was a prolonged period of development with no svn repository at all. Nevertheless, progress is progress so congrats everyone!

More news on new features will appear soon. :)

Finally we have deferred lighting!

Deferred Lighting in the Playground map.

After a large amount of effort restructuring the engine into a deferred shading pipeline, it has finally been possible to implement point lights and spotlights through a deferred lighting pass. There is a reasonable performance hit with the switch to deferred shading, but individual lights are now quite cheap, so we should be able to build some pretty nice looking scenes.

Documentation for the new lights can be found at on the wiki.

The next step is to implement coronas so we can get a nice effect at the actual light location. There remains a lot more to do beyond that as well. We plan to implement a smooth fade out instead of the abrupt removal of the light, support for blinking / flickering lights (i.e. damaged neon tubes), support for turning off the lights during the day (with a bit of noise in the timings) and turning on/off the car lights when the car is not being driven. Car brake lights should also be possible soon. Finally, there should be some way of rendering emissive textures so we can render the actual ‘bulb’ of the light.

Quick Start Game Engine Exporter Tutorials Up

Game Engine LogoFirst a note to Blender Artists: We’d like to begin preliminary support for Blender and get some Blender Artists around, what do you think? Let us know at the forum.

There are two new tutorials up around the site and there has been a lot of new information added to the game engine wiki. Some improvements have been made to the pipeline for artists, so even if you’ve used the tools already, you’ll want to at least skim through the asset export tutorial.

The first game engine tutorial to share here today is the script installation tutorial itself. If you’ve already installed the scripts, take a peek at the bottom of the page and catch a savory tip for automatically updating the scripts when new versions roll out. In the future there will be more formal installation routines when scripts are updated less often, but the tip at the game engine wiki will make this as painless as it gets.

The second tutorial is the max to game engine export tutorial. After you’ve installed the scripts, you need to put some models in the game engine, right?  This is as quick and dirty as it gets. Go through the steps, see the model in the game. The game engine export tutorial like anything else could use some improvement, please make suggestions and don’t hesitate to ask if there is something unclear. That’s why we’re here.

Grit project contains 50000 lines of code

A semi-important milestone, I suppose. The actual number is 50044, including exporters, lua, maxscript, etc. If you include generated code the figure is nearer 180000. If you include dependencies, the total will be well over half a million…