Ground tile transition

Started by
1 comment, last by HarriPellikka 12 years, 1 month ago
Heya, I've got a little problem that I can't seem to figure out, even though it should be quite simple...

I have an array of 2D tiles representing ground top-down. The ground is made of primary and secondary textures (for example, grass and mud) and transitions between these two. Now, the ground is generated into the array by clearing all cells with the primary texture (for example, the number '0'), and then the secondary texture is added randomly (as the number '1'). After this, the array looks something like this:

0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1
0 0 1 0 1 0 1 1
0 0 0 1 0 0 1 1
1 1 1 1 1 0 0 0
etc...


Now, the transitions are the problem here. For each '1', I want the surrounding cells to be corresponding numbers for the correct transition. For example, if there is a horizontal line like 0, 0, 1, 0, 0, and '2' would represent left-to-right transition from 0 to 1, and '3' would represent the right-to-left transition from 0 to 1, then the resulting horizontal line would become 0, 2, 1, 3, 0. In one dimension, it only takes two neighbors to each side to check all the possible combinations, but in two dimensions, there's a 5x5 grid of cells to check for each '1'. I haven't found any articles related to this, and hard-coding all the possible combinations of tiles seems a bit tedious. Any help and tips would be appreciated. smile.png

Oh, and the textures and transitions I have in use are:
0 - Primary ground
1 - Secondary ground
2 - Left to right (from 0 to 1 from now on)
3 - Right to left
4 - Up to down
5 - Down to up
6, 7, 8, 9 - All the corners with primary as major part
10, 11, 12, 13 - All the corners with secondary as major part
Advertisement
I recommend the following articles:

http://www.gamedev.net/page/resources/_/technical/game-programming/tilemap-based-game-techniques-handling-terrai-r934
http://www.saltgames.com/2010/a-bitwise-method-for-applying-tilemaps/
/Peter Welzien
Thanks for the saltgames link, I had already read the gamedev article, which wasn't that useful in my case. The saltgames one does seem to do the trick, I'll read it later when I have the time. If you guys know any other articles related to this "neighboring" problem, please let me know. :)

This topic is closed to new replies.

Advertisement