How to create a tile set

Started by Ezka, December 27, 2016, 03:08:25 AM

Previous topic - Next topic
I am interested in creating a small zelda game with solarus. However I want to make a custom tileset for that game(possibly based off of another zelda game). I was wondering if someone could help me out here. I know that this will be really difficult, but I would like to try. Thanks for the help!

Hi there :)

I have created a few tilesets for Solarus over the last 8 months or so.  Please refer to my website (located in my signature) for the details if you have not seen my contributions.  I am still working to improve upon my contributions so my time must be dedicated to my own work.  However I can offer you some tips and advice if this is the type of help you seek :) .

The most important thing is that a tileset should be created at your own pace.  try not to think of it as work.  it will not be done in one day, or even in one week, if you are set on making a really thorough one.  Don't let this discourage you though.  My Full Hyrule Tileset began production in early march 2016 awaiting approval by Christopho and to this day is still being improved upon.  The most recent update to the tileset was early this month (December 2016).  If you look back through the game art and music section of the forum, you can see that Full Hyrule Tileset has undergone several visual changes over the course of this year.  Patience paid off in the end :)

The tileset you want to create will have to depend first on the game you wish to base the tileset on (Minish Cap, Link to the Past, Original Legend of Zelda, etc).

When I created my tilesets one thing I always kept in mind was that you have to visualize the look of the tileset before ever getting started.  Things like where you want the tile types to appear on the image (such as traversable, wall, holes, etc), positioning of the tiles themselves, color variations if any, transparencies if any, etc.  You have to remember that before you ever submit a tileset for approval by the community that you will be editing the tileset A LOT.

Make sure that tiles are all organized by type.  You want to place solid tiles of repeating patterns (ground tiles, dirt, water) all in one place.  Varying repeatable patterns such as trees and rocks or mountains in another place, decorations in another, doors and holes in another, and so on.  If the tileset has more than one palette (say you want the same kinds of tiles but in three different color options, one thing I did with mine was to place them all in the spot I wanted in one variation before creating the next color variant and then placing that variant in a place all its own on the image but in exactly the same manner as the previous (see Full Hyrule tileset for what I mean).).  This keeps your tileset neat and tidy, and allows not only the user of your tileset, but also you, the creator, the ability to locate tiles much more quickly and efficiently should you need to make any changes--and I won't mince words--you will be.

Use image editing software that allows for alpha transparency.  GIMP or photoshop are good ones if you are familiar with either.  Christopho uses GIMP to my knowledge, but there are plenty of free options to choose from.  I personally use an outdated old version of Paint Shop pro (version 7 to be exact.  It may be old but it does what I need).  You do not have to use an image editor that allows transparency but if you want an image with blends it is necessary to have a program that can do that.

When saving tileset images, you MUST name the image <filename>.tiles.png for Solarus to recognize it.  Place it within the tilesets folder of the game folder (<game>\data\tilesets\).

When creating the tileset data file, make sure that, when you are laying out patterns, you know what the pattern's function will be.  And when I say "know its function" I am not simply referring to its placement on a map.  I am referring to it's terrain type, it's default layer, its repeatability, and whether or not it shall be a parallax and or animated tile.

Remember that horizontal tile patterns that are intended to have a continuous pattern should be made repeatable horizontally.  The same goes for vertical tiles.

Tiles that are animated can only have three frames.  These frames can be animated by either shifting between frames 1, 2, 3, 1 or 1, 2, 3, 2, 1.  They can either be static animations or parallaxed.  The dimensions of the animation must all be divisible by 3.  In other words, if you intend to have an animated tile that is 8 x 8, then the tile should be at least 24 x 8 (for horizontal animated tile) or 8 x 24 (for a vertical animated tile).

For parallax tiles, they must be on a layer all their own.  Placing them on the same layer as static or animated tiles that are not parallax will result in graphical glitches such as solid squares appearing in places you did not intend for odd colors to show.

You should give your tile patterns unique names.  In overworld tilesets it is not as necessary, but if you intend to make them compatible with the tilesets provided by Christopho you must give your tileset patterns names matching his tile patterns (depending on the type of tileset it is...indoors or out).

Finally, once your tileset's patterns are laid out the way you want.  Create a map in the map editor.  Test it in game.  Have the Hero run into walls, over holes, swim in water (if you enable swimming) and walking on ladders to make sure everything works.  Create different types of maps with different patterns.  You don't even have to make anything pretty.  Just place a rectangle of a pattern down and have Link walk on it.  If he takes damage on a dirt tile...you may have accidentally made it a "prickles" tile.  if he drowns on a rock you might have made it lava or deep water.  Testing the patterns will avoid any weird glitches the map creator might run into.  You can create more than one test map if you like and link them together using teletransporters that can stretch across the length of the map and scrolled to, you can have Link warp to these tiles, create dynamic tiles, etc.  Just as long as you double check your tileset and then double check again and again.  Remember it took me 8 months to submit a tileset for the overworld that a lot of people here have enjoyed and have told me they wish to use in their games.  Hopefully yours won't take that long, but I'm sure that if you give that tileset enough attention it can become something great (or even greater) than you imagined.  Who knows? maybe it will be better than what is already offered here in this forum lol

In either case, I wish you the best of luck in creating the tileset and I hope my advice was helpful to you <3
My tilesets page can be found here:
http://absolute-hyrule-tutorials.solarus-games.org/

By the way, I should warn you right away: about animated tile patterns, I no longer recommend to use the 1-2-3-2-1 animation type. In Solarus 1.6, animated tiles will be able to have more than 3 frames with a custom delay. And this 1-2-3-1 vs 1-2-3-2-1 setting will disappear because it no longer makes sense. To obtain the same effect as 1-2-3-2-1 you will simply make a pattern with 4 frames. More natural and more general, but the drawback is that existing tilesets having 1-2-3-2-1 animations will have to be modified.

Here is the video tutorial about creating a tileset: https://www.youtube.com/watch?v=bC0IScIohjA&list=PLzJ4jb-Y0ufxwkj7IlfURcvCxaDCSecJY&index=14
You can watch it even if you haven't watched the rest of the tutorial playlist yet.

Quote from: Christopho on December 27, 2016, 09:36:22 AM
By the way, I should warn you right away: about animated tile patterns, I no longer recommend to use the 1-2-3-2-1 animation type. In Solarus 1.6, animated tiles will be able to have more than 3 frames with a custom delay. And this 1-2-3-1 vs 1-2-3-2-1 setting will disappear because it no longer makes sense. To obtain the same effect as 1-2-3-2-1 you will simply make a pattern with 4 frames. More natural and more general, but the drawback is that existing tilesets having 1-2-3-2-1 animations will have to be modified.

Then, in the end, there will not be a "mirror loop" pattern for the general case 1-2-3-4-...(n-1)-n-(n-1)-...2-1? Just to know.
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

No, unless you guys convince me that it is necessary. We don't even have such a setting for sprites, and sprites are more advanced that animated tile patterns.

Yeah, there are very few reasons to keep that pattern (for compatibility with old quests and to reduce a bit the size of tilesets), and it is not really necessary to keep it, so it should be ok if that gets deprecated, imo. The final decision is yours, though.
"If you make people think they're thinking, they'll love you. But if you really make them think, they'll hate you."

Thanks for all the help guys, hopefully I can get it somewhere in the next few months. It will probably be moving fairly slowly however do to school. Also ffomega, the website in your signature does not seem to lead anywhere important. Thanks for the help!

Quote from: Ezka on December 27, 2016, 05:23:34 PM
Thanks for all the help guys, hopefully I can get it somewhere in the next few months. It will probably be moving fairly slowly however do to school. Also ffomega, the website in your signature does not seem to lead anywhere important. Thanks for the help!

Thanks for bringing that to my attention.  I had thought I checked the link.  I will fix it right away :3

Here's the actual link:
http://solarus_resource.site88.net/tutorial/index.htm
My tilesets page can be found here:
http://absolute-hyrule-tutorials.solarus-games.org/