Wolfire Blog


; Subscribe

Automatic navigation meshes

May 22nd, 2010

One of the hardest parts of developing character AI in 3D games is pathfinding -- making sure that they can figure out how to move from point A to point B in a believable way. This is almost impossible to do using raw rendering data (often referred to as "polygon soup"), because it has both too little and too much information ...

Read more 0

Soft Particles

April 28th, 2010

In games, particle effects like smoke or fire are drawn as image squares that always face torwards the camera. This looks fine in most cases, but the illusion is destroyed when these particles intersect with the environment and reveal a flat intersection line. Below you can see the flat intersection of a 'hard' smoke particle on the left, and the ...

Read more 0

Angular and linear keyframe blending

April 24th, 2010

In games, character animation is usually done using keyframes. That is, by defining important poses and placing them on a timeline. For example, in a roll animation, the keyframes might look like this: Note the green and red borders around keyframes 1 and 2 -- they will make it easier to identify them again later. As you can see, there are ...

Read more 0

Reverse-Engineering Binary Files

April 22nd, 2010

This is a guest post written by Wolf Mathwig aka rudel_ic. Wolf is a long-time forum member who's reverse-engineered Lugaru file formats to enable the modification of 3D models, animations and skeletons for the game. In real life, Wolf is a 30-years-old software developer from Germany. Reverse-engineering binary file formats is like learning another language without a teacher by ...

Read more 0

Catching baked shadows

April 19th, 2010

As some of you noticed in the last alpha, the rabbit would cast shadows on the environment, but wouldn't 'catch' shadows from the environment. This meant that he could stand in a shadow and remain brightly lit, like this: I had been putting this off because casting baked shadows onto dynamic objects seemed like a tricky problem, and I ...

Read more 0

Smaller functions for readable code

April 15th, 2010

When I was teaching myself C++ programming with programs like Black Shades and Lugaru, it hadn't even occured to me to think about how readable the code was. All I cared about was making it work as fast as possible, so there were a lot of duplicated code sections, global variables, and mixed conventions. The game worked, but it ...

Read more 0

Initial Movement Features

April 10th, 2010

There has been a flurry of new movement features added to the Overgrowth alphas recently so I decided it was time to make another video to show them in action. Many were mentioned in the alpha blog posts but in case you forgot, we've added: surface-based footstep noises, inverse kinematics to make sure Robbert's feet are actually placed ...

Read more 0