Ludum Dare 35
The Theme is:
Shapeshift

Judging ends in
Click here to start

PlayRate80Star

Thanks everyone for coming out! For the next 3 weeks, we’ll be Playing and Rating the games you created.
You NEED ratings to get a score at the end. Play and Rate games to help others find your game.
We’ll be announcing Ludum Dare 36’s August date alongside the results.

2D Tile Engine!

Posted by
April 30th, 2011 7:37 am

Yay!

Just a few demos using only 10×10 tiles:

How it happens:
A 10×10 tile is created using a boolean array:

for(int i=0;i<10;i++){
	for(int j=0;j<10;j++){
 		tiles[i,j] = (Random.Range(0.0f,1.0f)>=0.5f);
	}
}

Then each tile checks its surrounding tiles and records the environment status into a flag:

byte getFlagsForTile(int i, int j){
	byte result = 0;
	int curPos = 0;
	for(int k=-1;k<=1;k++){
		for(int l=-1;l<=1;l++){
			if(!(k==0&&l==0)){
				if(hasTile(i+k,j+l))
					result|=(byte)(1<<curPos);
				curPos++;
			}
		}
	}
	return result;
}

Based on this flag system:

So if the flag’s first bit is 1, that means there’s a tile on the lower right of this tile.

Using the flag as a guide, the tile can then pick its graphics from this sprite sheet:

 

That’s it … also I will use the flag information to generate collision.


One Response to “2D Tile Engine!”

  1. snowyowl says:

    Wow. That is an awesome sprite sheet.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]