How can I assemble a tileset?

Tileset are used to theme games, normally on change of level.

If you purchase a tileset look for ones which have data definitions (like what Texture Packer would generate) to save a lot of time.

Now if the tileset is just rows and columns then you can load as an image sheet and index by ordinal.

Great thread, I’m going to pile on…

To me tiles are a physical world thing that you generally come in squares and you glue them to your floor or wall and they are generally in a grid. Using that metaphor in the game world, a tile would be a single image. A collection of them is a tile set. When they are glued together into a single file, it becomes a tile sheet.

Lets backup and do a little history with this. You generally want to build a map. Think about a top-down game like Zelda:

3ds-zelda-link-1024x614.jpg

where your game world is massive and you’re only seeing a small part of it at a time. Even today, to build this map out of a single image would blow past the texture size limits on mobile devices and back in the day, it was even worse. The fix for this was to create small “tiles” that represents different areas like a block of grass, paved roads, etc. and then use a map editor to drag each small image onto the big map to design the level.

From here, your engine can only show the tiles that are on screen, they stay small like 32x32 or 64x64 so you’re not hitting texture size limits and it keeps memory usage lower.

To build this you need a map editor that works with tiles, ergo Tiled from http://www.mapeditor.org/.  With this tool you can load in tilesets (generally works best with square tiles) and you can drag and drop the individual tiles on the map until you get  your level design done.

Tiles are not just for overhead maps, they can also be used to construct platform games like Super Mario Bros. These are the graphics you are looking at. It’s the same principle. You drag your ground, ramps, platforms and such to create the game level. Then in a different layer you can place objects like coins, monsters, doors, and your character.  

Tiled will then let you output the map, with the images into something you can drop into your Corona folder. However, Corona can’t read those tile map files directly. Instead you need to find a library that will do it for you. The community has taken care of you with this respect.

Search for Million Tile Engine (MTE) – don’t know if it’s still being developed or not, but it was pretty solid. Then there is Dusk Engine, which may be based on MTE and I don’t now if it’s still in development or not but a lot of people swear by it.

Where I would recommend you start is to look at the Sticker Knight template 

https://docs.coronalabs.com/guide/programming/index.html#sticker-knight-platformer

This is a modern sample app that you can use to start building a platformer on. @ponywolf has included his own Tiled map reader in it and getting the map on the screen is literally one line. 

Each engine probably expects layers to be named in particular ways, so there will be some learning to get it all working.

Rob

I’m pretty new too and have been playing with Sticker Knight for the last couple of days. It’s the single greatest Corona tutorial + cheatsheet I’ve found.

Here’s how to use Tiled:

https://www.youtube.com/watch?v=LPKrDwosYHM&t=421s (check the subsequent parts as well)

And you might need to check the importer (Tiled -> Corona) documentation:

https://github.com/ponywolf/ponytiled

PS: There are tons of free tilesets on opengameart.org that you can import into Tiled for practicing and prototyping.