as the title says, this is not a priority, it's jsut somthing i think would be fun (potentially "Fun" too)
The idea is to have a snake several tiles long (dunno, i guess somthing like 7 would be a minimum), it would not be able to move backward (or would do it only when there is no other choice), the head would be able to change to any of the remaining 7 directions, plus up and down if there is access. When the head moves the body tile right after the head would move to it's last position, the body tile after the first tile would move to the first tile's previous position and so on. If it needs to go backward, the tail would behave like the head in regards to movement, but on the opposite end of the body. If it won't eat too much processing power, limit how many times the snake can occupy a single tile to avoid it coiling itself too much, and also have a maximum amount for multiple tiles over the same X and Y coordinate contiguously, if there is space above, parts of the snake can go to the Z level above. The how much of the snake is on a given tile should influence the path generation for the snake so it will tend to not go over itself, while still being allowed to if it's worth it, but still avoiding if it won't fit. Snakes should be capable of dropping significant heights even without ramps, i've seen snakes with less than a third of it's body held on a branch and the rest of the body hanging as it tried to reach somewhere down bellow.