A different tile animation system
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 12.9k
- Forks
- 2k
- Avg merge
- 4h 27m
- Merged PRs (30d)
- 8
Description
I just wanted to throw out this idea.
Currently, AFAIK, the tile animation system is kind of broken and limited and I wanted to try to suggest an easier solution.
Many years ago some friends and I wrote a tile editor back in the MS-DOS days called tUME. We didn't have many of the features of Tiled and we didn't support tile animation in the editor directly. Instead we ran post processing tools, converters, on the data made in tUME depending on the game and what that game needed.
tUME supported multiple maps per file (we called them "rooms") and each room was assigned a "type". Using that type a post processing converter could decide how to use that "room" to generate data. A room of type "level" might be the game level where as a room of type "animation" might be used to create tile animation. These "types" were user defined and just meta data passed to the converters.
Anyway, that's probably all beside the point.
The idea I wanted to pass on was that what one of the converters did for tile animation was it would look at any room of type "tile animation". Going down each column it would look for rows of tiles and then a line of no tiles, followed but a row of matching size, etc. From this it would make generate tile animations.
If I'm not making sense, imagine I have a tileset that looks like this

I then make a map that looks like this

The simple algorithm scans down each column of tiles, looking for a blank tile. That becomes one frame. The next set of files below that until the next blank tile becomes the next frame and so on. The advantage to this style is that it's super easy to specify tile animation of any number of frames. Each animation can have a different number of frames. There's no need to call out individual tiles to specify the animation as you can paste whole blocks of tiles. On top of that no special UI is required. You just use the existing map editor.
The only thing that might need to be added if you want to see the animations live is a way to specify a speed for each animation. The easiest way to separate animations would be by a blank column. So in the example above there are 3 tiles animations because they are separated by a tile. You could also assume if a column as a different number of frames than the previous column it is starting a new animation.
Anyway, of course I can use this style of tile animation in Tiled already, I just don't get a live preview. But I thought I'd pass on the idea because rather than spending time making a custom tile animation UI you might find you'd get a lot more features out of this seemingly simpler to implement system. All you need is a list of speeds and some way to specify which Tiled file(s) should be used as the tile animation map for the current file being edited
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by reviewing how Tiled currently represents and previews tile animations, then assess the proposed map-based animation workflow and its handling of frames, separators, and speeds. Done would require an agreed implementation scope rather than the idea alone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100