Archive for December, 2009

Getting paint splatters to feel just right in our game has been a challenge. There are some amazing tools for animating fluids in movies, but they can take hours to render a single frame. Since our game is aiming for 60 frames a second, realistic fluid simulation is pretty much impossible. So we do the next best thing: we cheat.

The trick in games is knowing what you can fake that isn’t going to betoo obvious for players. For example, we’re not currently animating the splats at all. When a paintball collides with a wall we just immediately draw the splatter on top of it. Of course in the real world, if you were to look at a splat in slow motion you’d see the paint gradually spreading out. Surprisingly, even without animations the splats look pretty good. But we were curious about how much better it’d look if we made the splattering more realistic.

So we decided to go out and shoot some reference footage of us throwing paint at a wall. As game developers we tend to solve most of our problems with computers (or denial) so it’s easy to overlook times where it’s easier to just go out in the real world and do something rather than simulating it. In this case reality had the advantages of being incredibly beautiful (super realistic) as well as faster, cheaper, and more fun than the traditional digital route.

After securing a location that we could get messy and hanging multiple tarps we were ready to set to work. We tried a few different paint dispersal techniques — throwing it out of the can, filling water balloons with it, and throwing a plastic ball filled with paint. We opted not to use a paintball gun because the splats made by paintballs aren’t as large and juicy as we hoped to get. This was our loading setup:

Having never actually thrown real paint before, we learned a handful of things. First, while a turkey baster is a good way to fill a water balloon with paint, after a while the paint will start to thicken up inside the baster’s bulb and neck. Next time we’ll bring a backup baster. Second, getting latex paint on a latex balloon makes it incredibly slippery. Slippery enough that it is difficult to throw accurately as it tends to slip and wobble out of the thrower’s fingertips at the point of release.

Third, it takes a lot of paint (6-8 fluid ounces—3 or 4 baster-loads) to get a really juicy splat. Any less than that and the balloon may bounce instead of bursting.

Fourth, the plastic ball method was a surprise success. We found a clear ball (labeled as a “candy ball”) for 99¢ at a party supply store. Its two hemispheres screw together and when thrown hard enough, they burst apart on impact. Unlike a balloon, this creates something closer to a “directed splash” than a burst. The only downside is that it uses a lot of paint.

Fifth and finally, splashing paint around leads to a lot of collateral splats, spots, drips, and spatters. The actual distance appears to be proportional to the size of the tarp you lay down — the farthest splatters will always go a few inches past the edge of your tarp. Don’t try this at home. Unless you’re about to move.