Jump to content
  • Advertisement
Sign in to follow this  
HarriPellikka

Ground tile transition

This topic is 2306 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
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

Share this post


Link to post
Share on other sites
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/

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!