seamless tileset template
This is a template layout for tilesets, resulting in a sheet of 8x8 tiles.
I hereby license the template and the first preview tileset under CC0.
The template was inspired by http://opengameart.org/content/complete-tileset-template by cemkalyoncu. In contrast to his template, there are no seams between tiles as laid out in the template. (Which is a fun feature, with no implication on in-game seams, just to make this clear.) Another difference is in the multiplicities of redundant variations of tiles.
The template was found by exhaustive search and is as symmetric as possible. In particular, a fully symmetric template does not exist (for the chosen multiplicities).
EDIT: Now there are two layouts. The first one is optimally symmetric with 7 tiles violating symmetry. The second one is what I first submitted, which I keep because people already used it.
EDIT 2: I finally decided on a "favourite" layout. It is the new preview.
EDIT 3: Added another preview with index numbers as in http://opengameart.org/content/wang-%E2%80%98blob%E2%80%99-tileset.
EDIT 4: The abundance of duplicate tiles is intentional: Those are the tiles that can happen to appear next to themselves. And if they do that a lot, there is bound to be a lot of displeasing repetition (depending on the actual tileset). Having multiplicities allows for breaking monotonicity of repetition. There is a flip side, though. That is why I added a variant with little duplication at http://opengameart.org/content/seamless-tileset-template-ii.
Comments
Wow, how long did it took you to find this? Or wrote a software? Nice upgrade and will definitely integrate it to my system too. And a side note, it will definitely make creating new tiles easier. When adding shadows, you should clear the parts having seams.
It was around 200 lines of OCaml.
Before adding symmetry constraints, the program ran for some hours, outputting 268372 solutions before I stopped it. And it still had not even changed the first 8 choices it made...
Anyway, in the meantime I noticed a blunder: The submitted pattern is not, as I claimed, optimally symmetric. It was only optimal within a certain set of additional constraints. I will submit an alternative once I know what the real optimum is. Currently, I am at 7 violations of symmetry (in contrast to the (edit:) 12 from what I submitted).
Can you expand on how to use this? I gather you calculate an index number by assigning bits to the 8 surrounding tiles. But that would result in 256 different tiles; this has only 64 (and many of those are duplicates). So I'm confused.
You are on the right path, only some of those cases are discarded. Corners are only considered if they are between two straight parts. If they are not, you can unset them and recalculate the index. If you look at 241s, having a dot in the top and bottom right corners do not change its shape.
There was a website describing logic behind it and there were useful thing in it. Do you remember that website?
EDIT: I found it. its removed. https://web.archive.org/web/20211128081233/http://www.cr31.co.uk/index.html
Yep, it's a shame that went down, it was a nice summary.
To help fill the void, I wrote up my own: https://dev.to/joestrout/wang-2-corner-tiles-544k
EDIT: Oops, my write-up is about 2-corner tiles.... this may be a different topic. Sorry for the noise!