Rock evolution

Add comment!

December 12th, 2009

Rocks are an important part of almost any terrain, and they help organize areas for gameplay. While they may not seem very interesting, poorly-rendered rocks can break immersion, and poorly-optimized rocks can reduce the framerate. I've been trying to optimize rocks in Overgrowth for awhile now. I haven't yet developed what I consider a perfect rock, but I feel like I've made a lot of progress. Here are some of my first rocks. They took a lot of work, but I think they looked pretty nice:

They had some major problem besides being work-intensive: they used a lot of texture space (since they had unique textures for the entire rock), and they were pretty small. Here's my next attempt (the rock on the right):

It was a lot bigger because I was able to use tiling textures. I used an experimental displacement-mapping technique to make the geometry support the texture details, which you can read about here. It looked okay, but had one pretty big problem -- it used a lot of geometry, which can slow down physics calculations. The rock on the right in this next picture is my most recent attempt, using a tiling texture with less geometry:

It's fast to produce, big, and doesn't use a lot of polygons, which is great -- but it's kind of ugly. I have some ideas to make it look better, and I've been looking at a lot of cool reference.

All of these techniques can be useful, and we may use all of them. Once I finish my next set of rocks I think I'll have a pretty comprehensive grasp of rock optimization, so stay tuned for more technical details!