Jump to content
  • Advertisement
Sign in to follow this  

Ground tile transition

This topic is 2770 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

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

Share this post

Link to post
Share on other sites
I recommend the following articles:


Share this post

Link to post
Share on other sites
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. :)

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!