I've got a map that is being procedurally generated at run-time and I'm currently investigating methods of rendering this map. I've taken an interest in the look of Starcraft 2 and I'd like some advise on what methods it employs to achieve it. Secondarily, I'd like to see any tutorials, articles, or even source code examples if possible.

There are a couple of main things I'd like to get some advise on, but please also feel free to suggest anything else that could help me.

  1. Snappable Tilesets - A typical starcraft map seems to consist of a tileset of models that one can snap together to create the cliffs, ramps and other elevated terrain. What methods do they employ to make them look so natural? What I mean is, its very hard to spot repetition.

  2. Terrain Textures - The terrain textures are so varied and even dynamic (Zerg creep). What methods are used to do this?


  • \$\begingroup\$ Regarding #2, research "texture splatting". \$\endgroup\$ Commented Apr 19, 2012 at 9:35

1 Answer 1


I think part of it may just be that Blizzard has an amazing number of texture artists. But let's rephrase the question a bit:

I have a limited budget and want to make a realtime strategy game without obviously tiling textures. How can I accomplish that?

Good question! Here's a few big tools that I'd use:

1) A reasonably large set of interchangeable tiles. Say you're going with a 64x64 texture size on your grid: make eight 64x64 textures, any of which can tile with any others, and you've got a nice-looking tilebased game with a lot of variation!

2) Decals or megatexturing. Take your repeated texture and a small number of "smudge" or "dirt" or "scuff" overlay textures. Splatter a few of those overlays on your textures. These can be rendered in realtime, in which case they're decals, or baked into a ginormous texture, in which case it's called megatexturing. In either case you can probably do it semi-randomly, and you'll get a lot of variation with only a few applied overlays.

3) Cicada tiles. Check out this for more detail on how this works. In summary, it's a way to take a small number of partially-transparent obviously-tiling backgrounds and use it to generate a far-less-obviously-tiling background.

4) Texture splatting. I've saved this one for last because it's not really about avoiding tiling on a single texture, it's really about combining multiple textures seamlessly. However, if you can manage to eke out a few extra textures in your budget, this can be a critical tool - in fact, I'd say if you're not using this, you're probably doing something wrong. This won't help with large obviously-tiled sections of a single texture type, but this is what you'll use to make your various textures look good next to each other.

  • \$\begingroup\$ For those interested Starcraft 1 uses #1 on this list, and Starcraft 2 uses #4. In both cases this is for the basic terrain. As far as 'doodads' in SC1 they were #2(decals, not megatextures) and in SC2 they are all 3D models. - As an aside, what makes SC2 maps look so great is that most locations feature two textures splatted over each other at various degrees in a why that ends up looking more like the Cicada tiles. (which I didn't know about until now and plan to use.) \$\endgroup\$
    – DampeS8N
    Commented Apr 19, 2012 at 14:55
  • \$\begingroup\$ @DampeS8N: Actually SC1 doesn't do #1 per-se. Instead, what they have are a small palette of tiles that tile with each other, as well as certain tiles that only tile with certain other tiles. The map editor has a table of what tiles with what, so when you place tiles that don't tile with what's near them, it goes through its tables and replaces those tiles with what does tile with what you placed. Recursively. \$\endgroup\$ Commented Apr 19, 2012 at 16:45
  • \$\begingroup\$ @NicolBolas Technically true, but the underling philosophy is of butted-together interchangeable tiles. Relatedly, my friends and I used to see how many tile flips we could cause in the SC1 editor as a chain reaction. \$\endgroup\$
    – DampeS8N
    Commented Apr 19, 2012 at 17:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .