RamblingBaba said:
Everything seems to be going together great, and then I started running into examples like this fence and another one is the rugs.
Ah, so familiar ?
This happens because the devil is always in the details. At that level you cannot magically wave hands and “it will work” any more. Thus, if you want to know if you got everything covered go down to the details to check some crucial points.
RamblingBaba said:
And I have GIGS of these sprites and the thought of finding out how much doesn't work together as 64x64 makes my motivation sink.
So don't do all now, just the minimal amount that you cannot live without. Don't go wide, go deep, make sure the details work before expanding the universe.
RamblingBaba said:
I do not have to use Tiled, it is just the only editor I know of that can output to Lua and can basically do whatever you need it too get the job done.
I use Python for thsi job ?
Since Tiled is not a end-user facing tool, you can basically use any sprite there as long as you can make the mapping from the random sprite in Tiled to your actual sprite(s). As such you can decouple your real sprites from the map-edit sprites if that is advantageous.
RamblingBaba said:
but this now leaves me with a sprite taking 6-8 tiles up for a single tile!
What you are assuming here is that a tile in the sprites is also a tile in the game. It's common, but it's not a hard requirement.
You can for example have several sprites at a single game tile. Simply make a list of sprites to paint (with their own offset from the game tile origin) for each game tile. You can also have game tiles without sprite of their own, since their space is used by a sprite of a neighbour game tile.
Similarly, you assume above that a sprite tile must have the same size of a game tile. It's common, but not a hard requirement. Don't think sprites and game tiles as connected. There are two independent layers that don't share anything (exaggerating here to make the point). You have one visual layer with sprites, and one invisible game tile layer used to control eg movement. Only the graphics layer is visible, so the game tile layer can have any tile size you like.
I don't know what your game tile should do, but if it's only about collisions, you could at least in theory, generate the game tile layer from the graphics layer. Just check the sprite layer, and when there is no sprite in the way on the entire area of a game tile, that game tile can be walked on.
In the direction of the graphics layer you can simplify stuff as well. While it is likely useful to have a grid-like layout to define the graphics layer, in the end, the grid isn't used at all (the game uses the game tile layer only). The graphics layer just defines the position of blitting the sprites. As such, instead of a sprite layer, you can make a list of sprites to draw with their position, and completely delete the graphics layer. You can draw the game level from that list alone.
RamblingBaba said:
I've never worked with multiple dimension sprites before
Oh, it's fun, I did that in 2.5D even ?
RamblingBaba said:
If you happen to have an example, tutorial, source code on using different sprite sizes I'd love to read, watch, and learn about it.
The code exists but in 3D data structures it's a mess ? Not to mention it's all generic, as my set graphics wasn't fixed. So it's complicated.
But basically, disconnect sprites from the game logic. To display a sprite you only need a position and a sprite number, nothing else. There is no need to have a 1:1 mapping between game tiles and sprites, a single game tile can have anything from 0 to 10000 sprites to display. Sprite tile sizes and game tile size don't need to be the same.
RamblingBaba said:
I hope I understand your question message correctly.
You did. I had hoped you'd take the bait, so we could have a nice exploration of the area, but you're too eager to get forward, which is fine too.
If you have further questions, just ask, maybe I know the answer (or more likely, an answer).