What a godsend of a video. Not just an answer to the question, but an entire mental arc through the goals, problems, and solutions. Furthermore it's a mental arc that I've specifically spent huge amounts of time caught up in, just without following it far enough to reach the point of actual success or insight (as you clearly have). You might have single-handedly saved weeks or months of my future time with this. Very based.
@jonteguy3 жыл бұрын
Your videos are always so good, straight to the point and very informative. It also helps believe it or not that you sound so at home with the topics you pick to talk about.
@nickseverny12983 жыл бұрын
Exactly what we needed for an ongoing project of ours. Adam, thank you so much!
@odinisking34583 жыл бұрын
You can combine 2 ruletiles, what you need to do is implement your own rule tile by inheriting the rule tile, and add a friendly tiles field which let's you define what tiles the ruletile considers as itself when evaluating the sprite to use. Basically you can have a red and a blue path that connect seamlessly. This requires a bit of coding and may not be easy for everyone but it is very simple in fact to implement. There are just 2 things to add to the ruletile base which is the field and an override for the evaluation method (i can't remember the specific names sorry) to include a new comparison to the friendly tile.
@djpersonalspace2406 Жыл бұрын
Hi I've been looking to do exactly this but struggling to find any examples online. Can you recommend any resources on this?
@justinhahn8920 Жыл бұрын
Would appreciate any additional info on this, I've also been looking for a solution to this issue specifically
@PeterMilko3 жыл бұрын
Im using Unity to make "Dwerve" (Tower Defense RPG) and use the tile features. They are ok but keep getting better. It use to be so much harder a few years ago.
@BluesInSeattle2 жыл бұрын
Hey Pete. I love Dwerve. Peace dude
@ThePixelExpedition3 жыл бұрын
Thank you for this comprehensive breakdown for the building and implementation of tile sets!
@CatDribble3 жыл бұрын
that outline trick is also away people used to do cell shading, they'd have a bigger version of the 3D character, reverse the normal and set the texture to black, giving the cell shaded outline
@samuelbird45872 жыл бұрын
So so informative and useful. I’ve been struggling with deciding how to draw a tilemap to make it as organic but modular as possible and this really really helps. Oh and thank goodness i’ve not decided to use isometric tiles… that confused the heck outta me! Thanks, as always, for your great content!
@KenAshworth3 жыл бұрын
Thank you for this brain dump! I really enjoyed hearing your experience with tile sets in each of your games. Seeing how powerful Tiled is makes me want to give it another try.
@THEspindoctor843 жыл бұрын
the production quality on your videos is off the charts. There's no doubt you'll be a producer or designer or something like that one day
@djdavidj3 жыл бұрын
Thank you for this video! I’ve been working with Unity’s Tilemaps for a few years and yes they have improved, but mixing and matching has been a pain. I’ve wanted to dive into Tiled in the past but didn’t. After watching this, I’ll check it out and switch up the way I create levels. Thanks for the info on your way you make this work for your games. Thanks.
@surfskatechill1273 жыл бұрын
Thank you so much for this video! Have been wondering as my project progressed if I was choosing the wrong workflow. I'm so happy to learn the artist I like the most is also using unity tilemaps.
@jordenvanvalckenborgh22713 жыл бұрын
Yo thx a lot! its crazy how informative and professional your vids are man. keep it up!
@PakuBaku3 жыл бұрын
Thank you so much for this video, it's very hard to find specific and good information on Unity Tilesets, especially from someone who also is working with it
@InarusLynx2 жыл бұрын
Wow I was not expecting this level of detail. My mind was fried by all the complexities you had to perform for isometric.
@UltiemeHack3 жыл бұрын
Very informative and inspiring (as always)! Been playing around with the Advanced Tilemap stuff from Unity (but lack artistic skill to create a tileset / lack the brain to just go with something simple and focus on it later). The external tool approach seems way more convenient, if you have the need for such advanced tiles. The infinite scrolling and isometric tiles were also interesting to see. Thank you for your time.
@KangooTheDruid3 жыл бұрын
Thank you for putting the effort into this! Felt very comprehensive for the watch time.
@ledu46143 жыл бұрын
What a wonderful informative video! I've learned a lot and the way you explain it is really engaging. I just wish there were subtitles. Thank you very much for taking your time to bring us this high quality content! Wish you the best!
@Anerisian3 жыл бұрын
7:30 you can also use the offset on the collider to tweak where the collision box is. This likely comes with (other) strings attached, but might save you a lot of time and works just fine for your purposes.
@jimkincaidz3 жыл бұрын
Really great stuff man! Thanks so much for sharing your experience with this!
@danielwalley65542 жыл бұрын
I've started working with Unity tilemaps recently, and it's become quickly apparent that I need to implement: - Custom tile classes (derived from TileBase), as a storehouse for tile meta data. - ID generation & tracking for tiles (that is, an integer/short to represent each tile). - A custom tilemap data class which will store tiles as arrays of these IDs - reason being that tile instances themselves when serialized take around 260 bytes - yikes! No good if your world has a larger scale. - Streaming from that tilemap data class to/from a unity tilemap instance which will be used *only* for rendering, and will only contain relevant pages (such as a 3x3 grid around the player). - My own implementation of tile rules, but performed by a custom brush rather than by the tile class (so that one can then paint individual variations over the top of it - the built in rule tiles are not well suited to this). And I'm sure many more surprises await. A little frustrating to have to implement so much of it by hand, but on the other hand it's nice to have the control to be able to do so.
@edurizzoalbu4 ай бұрын
Thank you a lot for this video. This was really deep but easy to follow overview.
@chris.davidoff3 жыл бұрын
You know this would easily get you the highest honors in an undergrad thesis, I wouldn't be surprised if it would be good enough for a master's too! Just this video alone. Great video!!
@chris.davidoff2 жыл бұрын
@@orangestapler8729 it doesn't take much to be an impressive undergrad. Effort into a topic is more than 90% of fellow peers
@chris.davidoff2 жыл бұрын
@@orangestapler8729 sorry, I recognize i am making a heated statement. But in my experience at undergrad at a university in Colorado, it didn't take much. I have seen other schools develop incredibly impressive undergrads, so maybe I should only comment towards my own school and only to that specific program, and not broadly speaking
@TVIDS123 Жыл бұрын
@@chris.davidoff undergrad in what course?
@chris.davidoff Жыл бұрын
@@TVIDS123 computer science
@TVIDS123 Жыл бұрын
@@chris.davidoff no way is a tutorial on how to use a piece of software going to get you a high grade on a computer science course.
@fokeyjo Жыл бұрын
Very interesting look into the world of game development and the sorts of things you do in the job. I'm a senior dev in other fields, but very new to games dev. I see a lot of other devs would jump into code and work out their own tiling system, but you persevered to try and get the system to work for you 👍
@black_squall6 ай бұрын
God damn this is a relaxing and informative watch. Thankyou.
@djpersonalspace2406 Жыл бұрын
What a great video. Didn't think it was what I was looking for but watched out of interest and I have been having trouble with rule tiles and wasn't aware of 3rd party software like what you mentioned. Thanks for this.
@razzledazzle88373 жыл бұрын
This is really good thanks for all the effort and knowledge!
@pacococo37633 жыл бұрын
With every video you make, you help us become better developers, I thank you for that.
@CrypticCode3 жыл бұрын
This was extremely helpful because I am developing my own tile-based game. Thank you for this!
@cagataysuhan2 жыл бұрын
Regarding Streaming Tiles with Multithreading, what I can imagine could also be a working solution is: - When initially loading game, create current and next screen (= set of tiles). - When you go to the next screen, load the already created second screen in, and start creating the third screen in a new thread. - Just to be sure and to avoid weird behaviour, if the player manages somehow to change the current and next screen incerdibly fast, wait for the thread that is creating the next screen to be finished if its still on it. In the case of a vertical game, when you fall down, you might want to have the same sets of tiles again. If your game is infinite and leaving them in memory might prove inefficient, just use a different thread to work on previous screens (maybe up to the second last screen from the current one) to transform them into compressed data (text or json) from which you could generate the same sets of tiles again. That should ease the usage of your memory by a good degree. So with 3 threads (main game thread, creation thread, compression thread) you should be able to have a seamless loading game. All systems which allow gaming should be able to run 3 threads these days.
@brg16463 жыл бұрын
That’s it. Diving into this tomorrow. Thank you.
@TwoVera3 жыл бұрын
Awesome video thanks for the breakdown!
@nigelhill743 жыл бұрын
Super useful video. Appreciated the detail you went into. Thanks!!!
@awildwildwes3 жыл бұрын
Great video. I never used external tools such as Tiled, but I'm inclined to try it now, maybe it'd help make things faster and more natural looking 🤔 I'd just like to mention that having the 2Dextras Tile Rules "connect" to each other is actually very easy and don't really require any coding whatsoever. You can just use the "Custom Tile Rule" option. These already come with two new neighbor cases: "is null" and "is not null", and that's all you need really :)
@nerrickk9024 Жыл бұрын
THANK YOU! That rule tileset is a game changer (literally).
@elementz3013 жыл бұрын
Making an Isometric turn based game rn. Used built in tilemaps for the art, made a custom grid with code and used navmeshplus for pathfinding. Seems to be working good so far.
@benjaminlehmann3 жыл бұрын
Excellent work. Thank you.
@dimensional79153 жыл бұрын
I can tell this was an outstanding video, however, I am not far enough into my game dev journey so a large portion of this flew right over my head so I will need to come back to this later when I have a better grounding in Game Dev
@gilbertgabriel66703 жыл бұрын
Wonderful video, really helpful!
@Pawtacle3 жыл бұрын
12:33 Have you given feedback to Unity on this thing about mixing rule tiles? It feels like a feature they might want to add to it... Especially when it's still in the development stage
@Griva03 жыл бұрын
This statement is wrong. It is possible to create advanced custom rules and it takes literally like 10 lines of code. Documentation even provides example how to do it. I can completely agree this tool is far from perfect, but he actually made invalid argument.
@hhcdghjjgsdrt2353 жыл бұрын
Those who can code and also draw their own arts are legend.
@falaghsepehr55042 жыл бұрын
You really helped me a lot thanks. I'm subscribed
@helloween21863 жыл бұрын
Hey Adam that was very interesting to watch!!! i have watched all of your vids on the isometric perspective!!! Im fiddling with unity Tilemap Z as Y and would love to have a more in depth video about how you did the outline or even the movement into it just to comprehend how its done :D there is not really any channel talking about it and while im researching how to do it nobody use 2d iso Tilemap only 3D,So it would help a lot of young game dev to have a more in depth look a those features. But hey again great video Adam.Take care :D
@wilmirosa70763 жыл бұрын
Wow, Insigina is beautiful, the animations seems to feel so liquid!
@JavierGomez-eb3of2 жыл бұрын
realmente hermoso... gracias por compartir tu experiencia
@geshtu17603 жыл бұрын
Something I've noticed across many 2D games (especially tile-based games) made in Unity is that very few of them use lighting/shadows. Or rather, any such effects are baked into the artwork rather than using Unity's lighting features. I discovered that Unity's Universal Render Pipeline (URP) actually doesn't properly support shadows with tilemaps. Some people seemed to get something working, but even then it doesn't support soft shadows. At all. This has been a major ongoing limitation with Unity since at least 2019 and I hope they eventually address this. There are add-ons that may address the issue but it's usually all-or-nothing, so you can't blend URP features with these add-ons, and often with Unity add-ons the documentation/polish is a bit of a mixed bag. I also quickly ran into performance issues with larger tilemaps in Unity which was surprising. Again there are workarounds but often you have to figure these out yourself. It was interesting to see your "Working Against Unity" segments because in my (very limited) experience I spent at least as much time fighting with Unity compared to actually getting things done. For context, I am a software developer and had no issues at all with the C# aspects of Unity. All of the issues I faced were with the editor or the tilemap/lighting features and lack thereof (in 2D).
@ChronoCZ3 жыл бұрын
Just think about it. HOW would light work in a 2D enviroment. There are generally two aproaches. Either light is represented by a semi-transparent overlay sprite. OR each and every sprite has a normal map and the light distance/angle/blocking/shadows are just.... guess work. Unless you force developers to define thickness and a exact Z position for every asset light in 2D makes no sense. Also just generally why would you even want to use URP for a 2D game??? URP is terribly unfinished and still lacks many features. Stay AWAY unless you need it. (same goes for HDRP)
@gameclips573410 ай бұрын
really informative video. has unity improved any of these features now? edit: nevermind, saw that you released an update a few months ago!
@H0110WF0X2 жыл бұрын
Wow... Find this the day after I write my own custom TMX loader for Tiled to Unity. Time to migrate.
@laserbean000012 жыл бұрын
There's a method using Ienumerators where you can continue filling in tiles in the next frame so that it doesn't lag.
@xSephironx Жыл бұрын
Holy shit that tile outline solution is horrible. I mean yeah, it works and looks good, but that would cause lots of performance issues on huge maps lol
@tomeryud3 жыл бұрын
dang your game looks amazing!
@Kepsin Жыл бұрын
Never thought I'd see a powerpoint as a youtube video x-x
@Miguel7456lmkuutti2 жыл бұрын
Thank you for the detailed explanation! This is gold! I've been experimenting with this in my spare time and ran into many of the issues mentioned. One question about using a composite collider for that awkward ghost collision problem: how would you then go about doing destroyable tiles e.g. the blocks in Mario? To my understanding the same issue arises when using plain old prefabs to build a continuous platform from blocks. Drives me nuts! :) I've been looking for a silvet bullet solution, such as "ghost vertices" described in Box2D concepts...
@VladimirDemidovIllusiveMan2 жыл бұрын
From my experience with tile system in unity, you should either only use tiles, or set coordtinates with matrix-like grid and offsets via scripts. I learned the hard way not to combine the two, both get some slight misalignment on different screen sizes. I wish I would have seen this video before I started my project
@benjamingerd47033 жыл бұрын
Can you make a separate video about the grass movement / perlin noise, please?
@kimmsoft26913 жыл бұрын
Wow so much good information! I feel like I leveled up.
@Ghostus63 жыл бұрын
Hey Adam, I've been going through a lot of your videos recently. Learning so much from you :) Just a quick question: can you make an image of your Tiled automapping rules? At 14:55 the rules are different than the ones from your Tiled Auto-Tiling (stream highlights) video. I'm struggeling a bit, especially since I'm also using sloped tiles (1:1 and 2:1).
@beefchief89323 жыл бұрын
Yep, this one is going in the archives
@SuperEssenceOfficial2 жыл бұрын
It seems like there are two common ways to outlining objects in 3d, one is to look at neighboring pixels in post processing with a depth buffer (could work for you) and the other is to render the same object in black, behind the object, with the edges pushed out. Basically what you did ! Yeah either way it feels weird and takes more processing.
@andrewcgs2 жыл бұрын
Wow, this is like, Unity tutorials for grown-ups! Amazing. Keep up the good work!
@christopherkarlsson49193 жыл бұрын
Thanks for saving other developers so much of their most valuable resource, their time
@DevVand3 жыл бұрын
i'm shocked you could literally make a clip of that tutorial part where you explain how to use the tilemap editor and sell it as a separate tutorial video and it would work just fine
@Cjoudan3 жыл бұрын
Adam have you thought to find a publisher? Or make a team to lighten the work load? Did you ever make a demo of a game to show to a publisher?
@sjoer2 жыл бұрын
You can also use a raycast to figure out what GameObject was under the mouse on lets say a click!
@DerClaudius3 жыл бұрын
Good shit, thank you...
@impawsiblegames3 жыл бұрын
Rule Tiles! Thank you so much for improving my workflow
@aeonianosiris65632 жыл бұрын
My character cant move now, even though the tilemap has the ground layer that worked before there were tiles
@Hanzi07073 жыл бұрын
Really helpful video. I'm wondering how to make a fall-through platforms with Tiled, cause Unity's Tile didn't achieve that by a handy way.
@estebanbarrios66063 жыл бұрын
no sé mucho ingles pero me inspiras :'), espero ser un día tan bueno como vos
@shayneoneill1506 Жыл бұрын
Cant you just use the painters algorithm for isometric selection? Cache the screen-space Z (as in "what order is it drawn" and then just pick the top one that intersects that?
@veteranxt44812 жыл бұрын
Custom Rule TIle Scrip solves that problem.
@Zkingz17 Жыл бұрын
I have a question, in the isometric section, how does one go about determining which tiles a character can and cannot move on based on elevation? For example if you have a stair tile and a normal tile at the same z coordinate, but you only want the character to go up the stair tile and not skip and climb the normal tile. How would you program this? Can you do this without colliders?
@jarekshark13562 жыл бұрын
tile offset. genious
@AlexGorskov2 жыл бұрын
Hey man, what accent is this? nice vid too!
@alessiosais2633 жыл бұрын
I had several problems with composite collider 2d in unity
@EddiePedalo3 жыл бұрын
I used Unity's tile features, along with tiled2unity and Aesprite, in my last couple of projects. The project I'm currently working on, I'm generating tiled shapes using nested loops in Bolt to place sprite render objects into my scene, which has been so much quicker and easier imo. the power of arrays, and simple High School maths baby! BTW. Thanks Ad Rock, you are as ever, an inspiation :;)
@asemov27072 жыл бұрын
Hey this might be a shot in the dark, but would you happen to have played with verticality with a Tiled2Unity in isometric? I can get Unity to recognize the bottom layer, but I cannot for the life of me get Unity to interact with the other Z levels (Layers)
@EddiePedalo2 жыл бұрын
@@asemov2707 I had rendering issues with the isometric tiling, and eventually opted not to use it in my project, and rendered my isometric art in photoshop and importing whole screen layers and complete objects instead.
@asemov27072 жыл бұрын
@@EddiePedalo can't blame you, I actually wound up switching to Godot due to some annoyances with TileMaps in Unity, Godot is even worse feature wise for TileMaps, but I'd rather deal with having to come up with solutions to missing features than to deal with weirdness.
@EddiePedalo2 жыл бұрын
@@asemov2707 Interesting. I've often considered switching to Godot. I work primarily in 2d, and I've heard good things, but I like the flexibility of Unity, and if I hit one of those "weird" issues, there are lots of other users and content creators, and it's usually easy to find a solution.
@asemov27072 жыл бұрын
@@EddiePedalo I wouldn't suggest it for an isometric tactics style game unless you're prepared to either: build your own height system, fake it (actually pretty easy, look me about a week to accomplish & implement A* pathfinding (still a bit more work to do, and I have to sort out the height faking), or just do everything in 3D to make a 2D game. Godot 4.0 is coming which is supposed to add a lot more to 3D, and improve upon Godots tilemap system (height isn't yet, but they're implementing a layer system for now)
@thachnguyen57763 жыл бұрын
I'm just curious. Have you used Godot engine? If yes then what do you think about it?
@Tommy-hl2ic3 жыл бұрын
He mentioned on stream once that he opened it and that was it
@thachnguyen57763 жыл бұрын
@@Tommy-hl2ic oh, thanks. I must have missed it.
@ftrwar8 ай бұрын
sped up my process lol i tried tiled and tiled2unity and they kept giving me errors
@JustSomeGameDev Жыл бұрын
Yes
@yisforyellow70143 жыл бұрын
Quick question, If I wanna make a huge game. Would It be okay to use unity assets for all of the stuff?
@Kieran_Martin Жыл бұрын
Hi Adam, I have a question about Unity in regard to compression, my friend started working with Unity and is really new to the application I have been watching your tutorials and have improved my skills, though the compression and size of the pixels seem to be wrong from what he is showing me, do you have any ideas what could be causing pixel distortion and blurring? Kind regards. - Kieran
@AdamCYounis Жыл бұрын
Definitely check the sprite import settings on your PNG assets for "bilinear filtering", which should be set to "point" for clean pixel art.
@Kieran_Martin Жыл бұрын
@@AdamCYounis Thanks for your reply Adam
@alexandrevieiramendes6353 Жыл бұрын
can anyone help me pls. ive been trying over and over again. this video is cool but it lacks a lot of things, what are the grid sizes for example? cause i cant draw at all, i follow the steps to set up the tile map and its simply doesnt draw
@simpson67003 жыл бұрын
why use such a complicated way to open the sprite editor? there is a button right in the inspector.
@Temus_3 жыл бұрын
Sooo, serializing tilemaps is a thing or not? I couldn't find any good tutorials on it.
@AdamCYounis3 жыл бұрын
I don't believe so, but I've successfully serialized representations of the maps and reconstructed them later. If you're using rule tiles it's almost trivial, since you're only storing the positions of the tiles in a 2D array.
@Temus_3 жыл бұрын
@@AdamCYounis Thanks a lot Adam, I will try it. I've learn a lot from your video, as always.
@hansa58672 жыл бұрын
Any chance that insignia hits ios?
@_placeholder3 жыл бұрын
Hey do you know if in unity you can make 2 different auto tile sets fit together, so that say a brick wall can join a wooden wall and join be shown or could I code it to spawn this in when it occurs?
@Hyrule4523 жыл бұрын
Great
@marc13bautista3 жыл бұрын
You should review RPG Paper Maker!
@nagalakshmi59033 жыл бұрын
That is the reason I switched to Godot from unity. I am not an experienced developer, so saying to beginners that ' u have to download this and that ' is overwhelming. MeanWhile, in Godot there is something called bitmask and it's just drawing the rules and u don't need to download any package it comes pre-installed.
@justfg-makoto3 жыл бұрын
The best😍
@peterholub43753 жыл бұрын
I wonder if for you it wouldn't be better off to just drop the 3D and use a custom 2D engine. 2D engines after some initial thought are really easy to implement(even custom from scratch). Well you will lose some magics like dynamic shadow, 3D camera and shader effects.. But... all the problems that you mentioned in this video will drop like nothing. Also you will not be able to do videos like this :P but hey, you might finish you projects faster right?
@AdamCYounis3 жыл бұрын
I think it's very easy to underestimate the power of having a fully fledged scene editor, and multiplatform build support. Those two aspects alone make me never want to try building my own engine.
@peterholub43753 жыл бұрын
I see you point. There is some fixed cost you would have to spend to get started. And the deployment.. yes it's better to know if the target platform is desktop only or mobile only etc.. Perhaps it's also a matter of taste where you choose either to struggle with the engine or struggle to make your own way.
@itsME-dc4vm3 жыл бұрын
nice ;D
@Ziplock9000 Жыл бұрын
They have some major limitations with some very basic functionality either half arse or none existent. Things that tile engine have had since the 1980s
@hiltonvarian33522 ай бұрын
You are out of touch with Unity I am using the latest Unity for 3d Games and it has got no problems Get your Facts Right Before You Comment. You are living in the Past that was 1980. we are know in 2022. Unity has improved Massively with 2d and 3d Game Development and More.
@ashisheady88413 жыл бұрын
why no one noticed new music.
@Louis-fh4sh3 жыл бұрын
It's very nice :o
@notnullnotvoid3 жыл бұрын
As someone who doesn't typically use Unity, it seems insane to me that loading 180 pixel art tiles could ever be a performance bottleneck. I'm not sure I can even imagine how that could possibly take long enough to cause frame hitches. Unity must be doing something terribly wrong here for something like that to be an issue. That algorithm for getting good isometric edges is neat. It reminds me of the inverted hull method for outlining 3D objects. Good stuff.
@AdamCYounis3 жыл бұрын
It's not a particularly performant setup, once you have rule tiles and composite colliders. These aren't quite O(n^2) operations but they do scale with the number of tiles. Every time you remove or add a rule tile, all adjacent tiles get checked and refactored. With composite colliders I think it's the entire connected shape. I'm no performance expert so there may well have been a better way, but with most of unity it's kind of a black box, so it's hard to know how best to optimise it.
@notnullnotvoid3 жыл бұрын
@@AdamCYounis Even so, with a frame budget of 240hz and assuming everything is single-threaded, that still gives tens of thousands of CPU cycles per tile, which should be more than enough time to apply a fairly long list of replacement rules and generate a collider. I hear you on the black box thing though. Working with tools without source access (or with source access, but the documentation or source is just hard to work with) is a huge drag on development... in a case like this it's almost certainly the right choice to just work around the problem instead of trying to get to the root of it, sadly.
@razzledazzle88373 жыл бұрын
PAY THIS MAN or hire him deserves it!
@eboatwright_3 жыл бұрын
Short answer: Yes, but if you want more advanced, use Tiled.
@simmzzzz3 жыл бұрын
Unity's rule tiles are extremely annoying to set up. Unity could take a page from Godot's autotile system where you just paint your bitmap. It's way easier and much faster.
@isitanos3 жыл бұрын
This system to set up the collisions is pretty disgusting. I hate how Unity has so many half-baked, unprofessional features.
@friendly_krakenletsplays72122 жыл бұрын
Artists learn programming on the side, programmers just cry. =(