• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

 SUGGESTION - 9 Tile Autotile

Presently when Auto tiling, we have the possibility of using a 42 tile and 16 tile. These tiles require diagonal tiles which in some cases and in other simple gamnes are not required like in my case. I would suggest the possibility to have a 9 tile autotile set that would have the following:

  • Top right corner
  • Top
  • Top left corner
  • Left
  • Middle (fill tile)
  • Right
  • Bottom right corner
  • Bottom
  • Bottom left corner
I wanted to use a tileset with only these and I have so many problems trying to use the autile even with the 16 autotile tiles set as you need to assign a tile for the diagonals which I do not have.

Anyone else feel the same where a 9 tile autotile set should be made OR a custom one?
 

Aviox

Member
I personally haven't seen many tilesets that can effectively cover all scenarios with only 9 tiles.
For example, with your list. . . what about inside corners? your edge will likely look a bit strange there.

Perhaps I'm wrong! Can you post an example of a workable 9-tile tileset?
 

csanyk

Member
I have never played around with tiles much in old GM, because I found them so limited and frustrating. But would it be possible to use 16-tile system and just use blank, empty tiles where you don't need that particular tile? Or does that not work?
 
I have tried to use only 9 tiles in the 16 autotile scenario. GMS2 did not permit me to use same tiles on the diagonal ones, the box became red and when testing the brush, no tiles ever appeard. SO if GMS2 would permit same tiles in the 16 tile scenario, it could be a good woprkaround because it obliges you to use a 16 tile system while as in my game, it is not necesasary.

I also use only 9 tiles in the 16 tileset and the brush give me weird results. I'll try to post something to prove my point because people just don't seem to take this game making simple enough. For now, GMS2 is too picky on too many things and you have to do too many workarrounds just for simple things like this. I want to have an automatic brush autotile system for 9 tiles, that's all. Nothing too complexe here, just simple. NOW, if GM does NOT want to do it, I'm stuck creating my levels the old way, 1 by 1. I other words, I'll need to create MYSELF an autotiling script because it won't be supported in GMS2 that ALREADY supports it.
 
I've uploaded a few screenshots here on what's happening when autotiling a 9 tileset... You'll that there is a lot of bugs concerning the brush set. Some corners are drawn where they should not or not drawn at all and so on. AND, there is no way to use a 9/16 tile with just 2 tile width. It's 3x3 default while as 2x2 should be clearly acceptable as I do not always have lart 3x3 platforms in the game...

PS: YYG has a lot of problems adding my images inside the feed. I have to manually edit my posts to add my images inside as when uploading image, it uploads it but I don;t see it until I post the comment... It happens 3 times outta 4. Using Firefox on Windows 10...

Nine tileset!


Filling my diagonals with my center tile, notice that my autotile is now red instead of (blue/pourplish) at the bottom. As you can see the brush does not fit at all, I did not even draw yet and my brush looks like a staircase.


AND then I draw...


As you can see the corners are not at all draw properly...


Finally, I removed, just 2 tiles and again, things are not drawn properly...


So Autotiling needs lots of polishing even though I do not use standard tile techniques, this should not happen anyways...
 

Attachments

Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
this should not happen anyways
Umm... Yeah, this should happen with what you are doing. 9 tiles is not a standard autotile. In fact, except for doing UI rects (for message boxes) I don't think I've ever seen a 9 tile autotitle...And trying to shoehorn those tiles into a 16 tile system and then complaining it doesn't work is a bit ridiculous. It SHOULDN'T work, as it's not designed to use 9 tiles. If you understand how autotile systems work then you'll instantly see why, no matter what you do, if you don't supply a proper 16 tile base this will never work.
 

csanyk

Member
Umm... Yeah, this should happen with what you are doing. 9 tiles is not a standard autotile. In fact, except for doing UI rects (for message boxes) I don't think I've ever seen a 9 tile autotitle...And trying to shoehorn those tiles into a 16 tile system and then complaining it doesn't work is a bit ridiculous. It SHOULDN'T work, as it's not designed to use 9 tiles. If you understand how autotile systems work then you'll instantly see why, no matter what you do, if you don't supply a proper 16 tile base this will never work.
Well I think the OP's asking for a 9-tile autotile scheme to be added as an option, along with the 16- and 42-tile options that are currently offered. I had asked "what happens if you just put the 9 tiles you need into a 16-tile template" and this is what happens. So, yeah, clearly it doesn't work, and he needs a 9-tile system. Which, he could write himself if he has to, but maybe this is something that benefits everyone to include in GMS.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Yeah, but WHAT is this "9 tile" system that they want? Like I said, I've never seen 9 tile autotiling (and Google is not my friend here, as it shows nothing either). I supplied a link explaining 16 tile, so if someone could do the same for 9 tile then I'd appreciate it...
 
@

@Alex@

Guest
Hate to be that guy but this was on the second link when I searched for 9-tile autotiling.

There is no "correct" way to autotile. The images you use will depend on the tile script that you are calling. For example, the one I have on the Marketplace uses 47 tiles (48 if you include the "empty" tile). But I've seen some that use 9 and 16...

As for the in front and behind thing, set the tree depth in the create event to:

Code:
depth = -bbox_bottom;
Then place the same code in the Player step event. ;)
But your right 9-tile auto-tiling doesn't seem to be a common thing at all. Most of the results I scanned through were explaining the concept with 16 tiles. I guess 9-tile autotiles simply ignore the diagonal elements and place them as if the diagonal spaces were free?
 

Cpaz

Member
While I can say that I understand what the OP is saying, I've had little issue with auto-tiling. I figured it all out by just messing with it. and it worked just fine after a little bit of fiddling.
Here's my auto tiling sheet. Again, I also agree that in cases like this, a 9-tile templete would be useful, but I easily worked around that.


And here's what I made with this sheet:

(The white lines are invisible objects, ignore them)
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Lol! Yeah, but like I said a few posts above, I've only seen 9 for doing rects. Like if you have a menu system and you use 9 images for the window (4 corners, 4 sides and a middle). But that's VERY specific to UI, and not at all related to what the OP is suggesting/trying.
 
As I mentionned, there would be no problem into keeping the 16 tile system and put my filler tile (center tile) in place of the diagonals but I get some pretty weird tile drawing as you can see in the screenshots. There is a problem with tiles even using the 16 tile system. And other note, it's maybe a 10 tile system and not a 9 tile system. I did not add the empty tile. I don't know if that can help in your searches. Point is, there seems to be a problem handling the autotile drawing. I'll try to post some more images to clarify.
  • Empty tile
  • Top right corner
  • Top
  • Top left corner
  • Left
  • Middle (fill tile)
  • Right
  • Bottom right corner
  • Bottom
  • Bottom left corner
Just another mention, it's not fun to have to do a full 42 tile configuration for a 9/10 tile system and I really like the example of Cpaz.
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
There is no problem using autotiles as long as you use it as it was designed to be used. If you can create a tileset that gets around the 16 tile (or 47 tile) base like @Cpaz appears y have done, then good for you, but you can't expect a tool with a specific task and design to take anything you throw at it and "just work". Square peg in a round hole, etc... It's a 16 tile autotile for a reason: it needs 16 tiles.
 

Mike

nobody important
GMC Elder
9 tiles is not an autotile, it is a 9-tile-rectangle. We use this extensively in the IDE. This isn't to say we don't do a draw rect with tiles that does this, but it's not an autotile system, it's missing too many cases to work properly. But for a "draw rectangle tool", yeah sure....
 
OK so here are the images with a normal 9 tile system, a 9 tile fit ito a 16 tile system and a normal 16 tile system. All have a problem when drawing.

Using only 9 tiles, you will see that the diagonals are not drawn (normal, I put nothing in)
GameMaker Studio 2   v2.0.1.33 - GMS2-Test_-20161111-134250.png

So I decided to fill the diagonals with the same tile to fill (the center tile). Oooooh. Bad stuff here, really, really bad stuff. I get corner tiles right in the middle of strait border tiles. Not good!GameMaker Studio 2   v2.0.1.33 - GMS2-Test_-20161111-134310.png

And now, the normal 16 tile sheet has some flaws too as diagonals are put where CLEARLY, no diagonals should be BUT there are no more problems with the corners... GameMaker Studio 2   v2.0.1.33 - GMS2-Test_-20161111-134330.png

My guess is that when you define more than one tile position in the autotile with identical tiles, the system goes beserk and does not know what to do. Of course, that's not programming vocabulary here but you get the point. That's why, a 9/10 tile system would be good to prevent these problems!
 

Mike

nobody important
GMC Elder
The system just uses the tile you entered as a lookup. So when you enter the same tile, it has no idea which one to look up and will probably get it wrong. If you use different "Blank" tiles it would work fine - but look wrong.
 
I won't create 16 tiles for a 9 tile system just for the sake of having no more issues. This is the Beta release of GMS2, that's the kind of stuff they can look into and fix.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
We can't fix what isn't broken. 16 and 47 tile autotile is pretty much the standard. If you are trying to use a saw to hammer in a nail, you can't complain when it doesn't work. Search the internet and you'll find hundreds of articles on how to make 16 and 47 tile autotiles - they are pretty much standard - and so that's what you get with GMS2. If you need something other than that, then maybe program it yourself? I made my own auto tiling (for 47 tiles) in GM:S 1.4 because none was available, so do the same? If it's a feature that a lot of people want then you could make a bit of money from it (my autotile scripts have always sold VERY well). But you can't expect the devs to add in a feature that only one person wants and that isn't clearly understood/explained...
 
I AM NOT ASKING a MANDATORY UPDATE to add a 9/10 autotile. I am just saying that there is a bug when using the autotile system. As I mentionned in a previous post, I do not care to use the 16 autotile sheet but I want to use the same tiles for diagonals which GMS2 does not permit.
 

Mike

nobody important
GMC Elder
There is no bug, this is as designed. If you fill in 16 unique tiles it works. If you use the same tile over and over, there is no way to tell how that tile should stitch to what. We aren't going to change the way the current one works because it works exactly the way we expect it to.
 

csanyk

Member
I won't create 16 tiles for a 9 tile system just for the sake of having no more issues. This is the Beta release of GMS2, that's the kind of stuff they can look into and fix.
They're telling you you're pretty much going to have to.

On the bright side, once you build your 9-tile system, you can try to sell it on the Marketplace. If it's really that useful, you may make some money off of it.
 
  • Like
Reactions: Yal
There is no bug, this is as designed. If you fill in 16 unique tiles it works. If you use the same tile over and over, there is no way to tell how that tile should stitch to what. We aren't going to change the way the current one works because it works exactly the way we expect it to.
I just can't believe what I'm reading. Every single GIU issues I submit, it's the same answer: "GMS2 works, nothing is broklen and it works the way it's supposed to work..." THAT answer, is a lazy answer as it says that you just don't feel like fiddling arround with the GUI in GMS2. I know you guys cannot satisfy every single user's suggestion BUT hey. I just showed you that for a new user, his automatic reaction to your interface will drive him mad and crazy as I am.

Your automatic tile system needs work, your GUI needs lots, and I mean A LOT, of polishing. The user friendliness is just not taken care of and almost ignored as soon as we touch your interface. I showed proof that even WELL configured, your system puts corners where it should not AND there is no way to mke the system use a 2x2 or even a 1x1 tile as when you choose a brush size of 1, you are still left with a 3x3 brush in reality.

I'm just saying that AGAIN, your user interface needs polishing and that would not drive me crazy if you would actually think behind my suggestions and also see the bugs I submitted that are clearly seen in the screenshots I took time to take for you guys to see. If my english is THAT bad for you to not understand there are problems (real ones) well, tell me because after 2 posts, I'm being blasted for help I'm trying to bring and all we say is - It will stay that way.

I'm not creating these posts just for the fun of it, I'm taking MY time to make sure GMS2 takes part on my next purchase but for now, noone is giving me a good taste of this software.

Of course I can make money off of an engine BUT, I'm a GML programmer and want to create games, not engines or addons or tools. I did not buy GMS for tools and programs, I baught it for games. So creating an engine just to make my life easier like TBPE takes A LOT of time which I do not take to make my games.

I'll leave you guys at least with a positive note, the GM community IS responsive and people do have interests in everyone. No one is left out whatever their project, their ideas or their mentalities. Just that is a very good point for YYG.
 

csanyk

Member
I've felt this sort of frustration at times when I've asked for features and gotten responses that I felt were dismissive or not helpful. So I get that.

I don't think how you're going about this is at all productive though. Lumping a bunch of additional vague negative criticism about UI polish and whatnot... what does that accomplish? YYG are working hard on their product, and are actively participating in these forums. They are here listening and they want to hear from users.

But if you have points to make about UI polish, you need to make those points very specifically, and probably separately from one another, so each can be addressed in turn. Going off topic in a rant here when you're frustrated that you're not getting the answers you want to hear about your other concerns just makes you come off poorly, I'm afraid.

As far as building engines, addons, and tools, sometimes you do need to make those things, in order to make the game you want. The trick is to make those things only when you need them, so making them doesn't distract you too much from making actual games, and to make them in such a way that they are generally useful, and re-usable for other projects.

This gives them lasting value and they won't be such a waste of your time that way -- indeed, you'll find that as you build up a toolbox they will tend to speed up your development, since they'll already be built and allow you to do more with them than with just GMS alone.

And as you build them, you'll also be building your skill at programming. Any programming work you do will make you a better programmer, and the better you get, the faster you will be able to develop. What may seem like a waste of time now will enable you to be so much faster in time that it will actually save you time in the long run.

Any sizable game project will involve creating utilities that support development of the game, in addition to the game itself. YYG can't be expected to provide everything anyone could ever need in that regard. They give you the bricks; there's infinite ways to put them together, so you have to put them together the way you need them.

Once you have those tools well honed, you can share them or sell them as you like. This is appreciated by the community, and will earn you respect of your peers, credit for providing assets that benefit everyone, and bolster your reputation.

It's also fine to make requests of YYG to add things that you'd like, but you should respect when they say no, especially when they give reasons. It's their product, their business.

You're their customer, and obviously it's good for them to be receptive to customer requests. But you're not the only customer, and they have to do things that are in the best interest of the business overall. Having given you the response that they're not implementing something, this at least tells you that if you do it yourself, you won't be competing with some future release that they may come out with down the road.

GMS1.x had no autotiling built-in, so people had to come up with it on their own. GMS2 has 16- and 47-tile systems built in, which is a terrific improvement. Unfortunately they don't have what you need for your project, but that's to be expected -- at some point you have to build your own thing.
So go on and make a 9/10-tile autotiler script yourself. Make it good enough that they wish they had done it themselves.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Your automatic tile system needs work, your GUI needs lots, and I mean A LOT, of polishing. The user friendliness is just not taken care of and almost ignored as soon as we touch your interface. I showed proof that even WELL configured, your system puts corners where it should not AND there is no way to mke the system use a 2x2 or even a 1x1 tile as when you choose a brush size of 1, you are still left with a 3x3 brush in reality.
I'm afraid that this hows you haven't understood what the autotile system does... a single tile looks at the 8 tiles surrounding it and then calculates which tile is needed to "fit" with those around it (also changing those around it if required). So a 1x1 brush will affect 9 tiles, a 2x2 brush will affect 16 tiles, etc... as each tile affects those around it.

YYG is very receptive to suggestions about things, which is why this forum exists and why there is an open beta. There have already been a number of things that many peple have brought up and which the developers have addressed and said they'll add or fix (like code-folding being requested and the devs saying they'll add in #region tags to do just that). However that does not mean they can "fix" things that aren't broken. In this case, you are trying to use the autotile in a way that it was never designed for and without a complete understanding of the way it works... and then you are complaining! If there was a genuine error then I can assure you that YYG would fix it, but I'm afraid to say that this time there is no error except in how you are trying to use the tool...

I mean, look, a washing machine and a microwave both have doors on them, can both be switched on, and both do essentially the same thing (put something in, wait, take the same thing out but changed), however you wouldn't complain to the washing machine manufacturer that your popcorn came out wet and not hot in the washing machine would you? No, because you understand that the washing machine isn't meant to heat up popcorn, just as you understand that the microwave isn't for cleaning clothes. The auto-tile system is the same. It's designed to be used in a specific way to fulfill a specific set of needs, and when you work with it as it was intended to be used it works very, very well. However if you try to use it do something it was never designed to do, then you shouldn't be surprised that it doesn't work.

Now, I've said this already and I'll repeat it again... If you can explain exactly how a nine-tile system will work for EVERYBODY in EVERY case then it could be considered. I mean, there are loads of articles about the mathematics behind a 16 or 47 tile autotile system, so if you could explain the mathematics behind how you think a 9 tile system would work, and provide examples of how this will benefit everyone, then I'm sure it would be considered. But at the moment, all you've shown is that you have a SPECIFIC usage case where you are trying to do something particular that is unique to your project and that is NOT what the system is designed for. The developers are not going to spend time on a feature that only one person will benefit from, especially when that one person shows an incomplete understanding of how it works.

So, you can take this however you want (and that'll probably be badly), but believe it or not, we ARE trying to help and work out exactly what it is you need, but so-far it seems to be a case of you not quite getting what autotile is nor how it works. That's fine! It's no insult to you in any way! This is new software and issues like this are bound to crop up, especially with a tool like the autotiler! This is why the developers have posted here to explain how it works and the idea behind it... to help you get the most from GMS2. So, please, don't come back ranting about how nobody listens when you've had multiple courteous replies here from the developers of the software and other members of this community.
 

Yal

šŸ§ *penguin noises*
GMC Elder
16 tiles is pretty much required to do anything reasonable with autotiling from my experiences... 9 tiles only work if you don't mind seeing seams between rectangular blocks and know that the smallest level design blocks you'll ever use are 2x2 in size.
 

Alice

Toolmaker of Bucuresti
Forum Staff
Moderator
Well, while we're talking about autotiling... how about a system of 5 macrotiles/20 microtiles? Basically, it would work like 47 tiles, but more concisely, as corners from 5 macrotiles would be mapped to specific images of 47-tile.

So, if we provide a sequence of the following macrotiles A, B, C, D, E:


Then their corners would be distributed as such among all 47 tiles:
Code:
EE BE EB BB EE BE EB BB
EE EE EE EE EB EB EB EB

EE BE EB BB EE BE EB BB
BE BE BE BE BB BB BB BB

CE CB CE CB DD DD DD DD
CE CE CB CB EE EB BE BB

EC EC BC BC EE BE EB BB
EC BC EC BC DD DD DD DD

CC DD AD AD DA DA ED BD
CC DD CE CB EC BC DA DA

CE CB AA AD CC DA AA
AD AD CC AD AA DA AA
Or, to illustrate it with a picture (the colours correspond to specific letters; note that the lettered macrotiles have only one hue):


That could really speed things up for 47-tiles style autotiling, and with all macrotiles defined except for B it would be a good substitute for 9-tile suggested here (while involving even less than 9 tiles).
 
Last edited:
R

renex

Guest
I have a system in place that simplifies autotiling by cutting room blocks in four. This way you can ignore 5 out of 8 neighbors. This reduces the possible edge types to only 8. Then, using tile rotation, only 8 tiles are sufficient. But this method is limited to games where all four sides of blocks are identical.



I also had a version of this that used four rotated copies of the base 8-tileset for a complete emulation of 47-auto with much simpler code. Building the tiles for this is bothersome but it's really fast for rutime building.

upload_2016-11-12_14-38-34.png
 

Yal

šŸ§ *penguin noises*
GMC Elder
Well, while we're talking about autotiling... how about a system of 5 macrotiles/20 microtiles? Basically, it would work like 47 tiles, but more concisely, as corners from 5 macrotiles would be mapped to specific images of 47-tile.

So, if we provide a sequence of the following macrotiles A, B, C, D, E:


Then their corners would be distributed as such among all 47 tiles:
Code:
EE BE EB BB EE BE EB BB
EE EE EE EE EB EB EB EB

EE BE EB BB EE BE EB BB
BE BE BE BE BB BB BB BB

CE CB CE CB DD DD DD DD
CE CE CB CB EE EB BE BB

EC EC BC BC EE BE EB BB
EC BC EC BC DD DD DD DD

CC DD AD AD DA DA ED BD
CC DD CE CB EC BC DA DA

CE CB AA AD CC DA AA
AD AD CC AD AA DA AA
Or, to illustrate it with a picture (the colours correspond to specific letters; note that the lettered macrotiles have only one hue):


That could really speed things up for 47-tiles style autotiling, and with all macrotiles defined except for B it would be a good substitute for 9-tile suggested here (while involving even less than 9 tiles).
This approach looks awesome... very simple to remember design-wise, and really powerful as well. I gotta memorize the gist of it.
 
Just a small note as to my needs here. I was pointing out,NOT as a need but as a problem when drawing the tiles where corners are drawn instead of straits. I can asjust my 9 tile to the 16 tile but the problem lies on the fact that the corners and top are not drawn at the right places AND I cannot draw a 1x1 strait line for a very small platform unless I draw my tiles manually the old GMS style.

As for the 9 tile technique, it's the exact same technique as the 16 tile technique but the center tile is used instead of the diagonals and NO, if you tiles are well drawn and calculated on the borders, the seams should not be visible on the interior corners.

There's also the idea that you could use randomly generated fill tiles where you could shoose between 4 or 8 different fill tiles (the center ones) to put a bit of variety. For example, the so much used sand or dirt tiles could have some flowers or rocks at some places. The tile generator or autotiling could use such random tiles to draw and could make interesting platform designs.

For now, because of the problem on what to draw where and when, the autotile, even with correctly done 16 tile tiles does not draw properly, please see for yourself in this image, you'll notice a straight line of land right in the middle of the land and I did not lift my brush once.:


Just for your information, I'm not mad for the 9 tile technique that won't be applied, I'm just mad because people get the 9 tile request and forget about the autotiling problem I found in the picture above AND the fact, I need to draw smaller pieces of land manually the old way because the size does not permit real size. AND just for the info, when showing the brush image with the size scroller, it would be grate to see the actual brush that will be draw and not just the center tiles in mosaic, but that is just a suggestion.

Have a nice rest of weekend YYG forumers :)
 
V

VampireJesus

Guest
Any chance you could provide a mockup of what it should look like? Looking at your tileset and autotile, I'm not entirely sure how all of those pieces are supposed to fit together. I've been playing around with the autotile system the past few days, including using a 9 tile set, and it's been working really well for me.

I made a autotile template file for myself in photoshop, based on GM:S2's layout, for both 47 and 16
Auto-Tile Template.png
And here I'm using a tile set from Final Fantasy 3 for the NES. This is a 9 tile set, so the outside corners and diagonals have been replaced with extra water tiles
Auto-Tile NES1.png
This a printscreen from the room editor of the result using this tileset, and it works perfectly
example_ff3.png
Then I made a 16 tile set using the Final Fantasy 6 tileset
Auto-Tile ff6.png
And his is the output with that tileset
example_ff6.png
Note that this is the exact same tilemap. All I did was swap out the source sprite. There are differences, of course, but both provide natural looking results.
 
Top