Tiled for creating Arkanoid (breakout) lile game levels


#1

Hi all,

I’m currently developping a breakout Arkanoid like game for my kids :slight_smile:
Yes, I played hours on amstrad CPC on this game :slight_smile:

Anyway, I plan to choose Tiled to build my levels.
That is:

  1. the background tiles (with and height etc.)
  2. display the tile rectangles that the ball should break.

But, I set up my background tilemap based on 32x32 square tiles.
But the bricks being hit by the ball are rather rectangle tiles (i…e 32x20).

But, is it possible to create a layer with different tile width height ?
How can I fix this issue ?

Any suggestion is welcome.

Z.


(Thorbjørn Lindeijer) #2

Currently you have to either use different maps for the background and the foreground, or make sure that the tile grid can be the same size. In the future Tiled may support different tile sizes per layer, which is covered by the following issue:


#3

Hi Bjorn,

oh, I didn’t realize this feature was discussed for a long time :slight_smile:
I’ll try to follow your advice, and maybe consider using different maps…

Thanks.

Z


#4

Hi Bjorn,

I spent my whooooole day to find a tool that would allow me to edit tilemap with various tile size based layers.

So I discussed about the “Super TileMap Editor” (compatible with unity but I’m still not satisfied by the exporting capabilities.

I searched and find out an old “DAME” “Deadly Alien Map Editor” that doesn’t seem to work on Windows 10…

And I finally found out a tool named “tIDE” developped in C# (aaaarrhgh…my noise is bleeding…).
A basic tool without the friendly tools you developped.
Creating a complicated layer is therefore more difficult, no terrain brushes etc.
But, it allows the creation of tilemap and layers with different tile size.

As we would say in French: “Tiled a une grosse carte à jouer !”

Z.


(Thorbjørn Lindeijer) #5

Hey @zyend, I know it’s sometimes difficult to find the right tool! They will all have a shortcoming somewhere, and then the question is which shortcoming can you live with or can you find a workaround for.

I’d love to work on supporting different tile sizes per layer, but it has lingered for years because it’s not trivial. Especially since Tiled 1.2 added multi-layer tile editing, which really relies on the fact that tile selection is consistent across all selected tile layers, which is not the case if each layer can have its own tile size. So now when implementing different tile sizes per layer, the biggest challenge is probably to find an intuitive and not too complicated solution for the multi-layer tile editing feature.

There’s a few options:

  • Restrict which layers can be selected together, so that you can’t select tile layers with different tile sizes. This is probably the easiest thing to do, though the question remains what happens to the tile selection when you switch to a layer with a different tile size.

  • Alternatively, it could involve creating a tile selection region per “tile size”, based on which a stamp could be created. Then, when painting with a multi-layer stamp containing different tile sizes, it would snap to positions in which the relative positions of the tiles can stay the same. This essentially means finding the least common multiple of the different tile sizes involved. In your case of having tiles of 32x32 and 32x20, that is 160 pixels in height. Editing with such a brush would be rather annoying, but I guess it’s not something you were expecting to do.

  • As another alternative, I’m considering a different setup where within a map, you can set up stacks of layers that follow the same settings (tile size, orientation, etc.). Multi-layer editing would be limited to edits done within the same stack (since there is no way I can really see this work across stacks, when we even allow the orientation to be different). This would be a possible direction to take when doing a major overhaul of the current data structures, since there are other changes I’d like to make as well that could go alongside.

Any other suggestions are welcome. Do you know what tIDE does with tile selection when using different tile sizes per layer?


#6

Hi Bjorn,

As for a senior software engineer, I know how difficult it is to refactor a huge part of a program, especially when it impacts its core model and features.

I think I’ll try to manage my foreground layers to use the same tile size…just to make things easier. But I still do think that it would be a great and usefull improvement. Despite the necessary refactoring.

Regarding tIDE, unfortunately the tile selection is very very basic, far from Tiled. I don’t like using tIDE.

Another thing about TIled, I’m mostly working with Atlas sheets, gatherting sprite tiles and map tiles.
But, as far as I know, as I try to create a tileset by importing an image, I can specify a margin corresponding to an identical horizontal and vertical offset. Isn’t it ?

Z.


(Thorbjørn Lindeijer) #7

Alright, thanks for understanding and the additional feedback! :slight_smile:

Yes, that’s the way margin works, and in hindsight it really should have been a separate offset for x and y, though usually it’s the same value (and usually either 0 or 1). Well, it can always still be added, but I don’t recall anybody ever asking for it. Are you asking for it?


(Raihn) #8

WARNING, RAMBLY BABBLINGS:

This may be somewhat related, but perhaps not. In developing the level editor for our game we designed seeded objects that had their own tile properties. You’d have to, say, right click the object to ‘break apart’ and edit the actual tile set, and then double click off the object to reseal it.

This is not very unlike Photoshop Smart Objects, seeded files within a file.

I believe this could be an approach to look at for solving the above issue without afflicting the core Tiled design.

Essentially, this concept works in Tiled now if you are tenationious. One would have their basic root tile map open, and when needed create a new tiled file that has the different tile set sizes. The objects requiring the differed tile constraints would be exported as images, then placed in the root map as object layers. Editing of the divergent tile properties objects would occur on their own save file, and need to be re-exported to refresh the root map.

Digression:

Concurrently, I’ve been playing around with mapping Fallout76 zones and often think of creating a Tile set to use in Tiled. The engine is fascinating in that all the buildings (or whatever prefab) are constrained to 90 degree angles (top down perspective). This means the floor plan of any set of buildings is an extremely simple tile set, not including 45s, or anything more. Just the good ol’ 90 degree concave and vex tiles accommodate this.

The stacking of these within the 3d world is where a layer of complication obfuscates the design restraint from the player. Essentially seeded tile based objects are place on another tiled grid. The seeded objects seem to snap to 30, 60, and 90 degrees I haven’t 100% confirmed this, may more likely be 0, 22.5, 45, 67.5, 90 etc…

Personal Tenat of game design: Stack simple design system over simple design system until conveyence of convincing fantastical reality is adequately achieved. This allows for tenable production without sacrificing product quality.

I’ve thought of submitting a suggestion to the forums of allowing object placing to include other Tile maps. Once these other tile maps are imported as objects, they are no longer constrained to the rules of the root map. They can be rotated, and placed, requiring the object layer only needs an anchor point to map, the source reference, and the rotation property (if any). Editing the seeded Tiled Map wouldn’t occure in the root map, you’d have to open the source for the seed and edit it there; streamlining the user interface, reducing complication for use as well as Tiled application.

If this method is a bit too complex, or even impossible for tiled, I believe perhaps an easier route would be as mentioned above, but removing the user friction.

Allow placement of other Tiled maps within Tiled map, but as image only. The process for tiled would be to open the selected map (behind the scenes), export it as a png, create/make pallet of exported image as an object (adding this image to the ‘root’ Tile folder to reference). The user can update these objects as needed, and would have to be responsible for any mayhem larger (once tile maps) images as objects might wreak.


#9

Hi Bjorn,

Yes, that would be a useful feature. Not only for me but for those who are mainly working with “huge” sprite atlas.
Having a fixed margin for both x y is a constraint and a waste of space into the texture.

Should I fill a “Feature” request, please let me know.

Z.