This is the process of a simple hand-painted tileable texture.
I started by just tossing down a bunch of different browns. I’m not trying to create specific shapes, just to make some variation while avoiding anything that will look weird or obvious when tiled.
I added shadows for cracks and rocks. I sort of start to define shapes here but again, the priority is just making sure it tiles well.
I added highlights on the cracks, edges of the rock-hole-shadows, and along the dirt to define the shape more.
Added rocks!
When I’m doing a tileable texture, I apply an “offset” filter with both directions half  the size of the full image. So in this case, this is a 512x512 texture, so I set the offset filter to 256x256. Once you have applied the filter once, you can do it again with ctrl + f, so I’ll just hit that occasionally while working to make sure I’m covering all portions of the image.
More complicated textures are obviously harder, dirt is about as easy as it gets.

This is the process of a simple hand-painted tileable texture.

  1. I started by just tossing down a bunch of different browns. I’m not trying to create specific shapes, just to make some variation while avoiding anything that will look weird or obvious when tiled.
  2. I added shadows for cracks and rocks. I sort of start to define shapes here but again, the priority is just making sure it tiles well.
  3. I added highlights on the cracks, edges of the rock-hole-shadows, and along the dirt to define the shape more.
  4. Added rocks!

When I’m doing a tileable texture, I apply an “offset” filter with both directions half ┬áthe size of the full image. So in this case, this is a 512x512 texture, so I set the offset filter to 256x256. Once you have applied the filter once, you can do it again with ctrl + f, so I’ll just hit that occasionally while working to make sure I’m covering all portions of the image.

More complicated textures are obviously harder, dirt is about as easy as it gets.