Draw fewer tiles - by using a Dual-Grid system!

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 892

  • @parmesanzero7678
    @parmesanzero7678 3 місяці тому +2545

    This is some old-school game dev efficiency vs. the modern brute-force mentality. Indie devs are rediscovering and reinventing things the big studios have forgotten and schools no longer teach.

    • @minalgadhethariya
      @minalgadhethariya 3 місяці тому +159

      Constraints forces them to innovate.

    • @boines
      @boines 3 місяці тому +14

      2 grids take up way more than say 1 uh. i saw another showing pixel icons etc which explains this.

    • @jendorei
      @jendorei 3 місяці тому +246

      ​@@boinesTake up more of… what? This video is about workflow optimization and reducing the amount of work you have to do.

    • @sheepcommander_
      @sheepcommander_ 3 місяці тому +81

      @@boines wtf are you sayihng

    • @eftorq
      @eftorq 3 місяці тому +25

      I got a little bit into game boy game making & is crazy too wrap your head around all these limitations. But once your understand you have so many ideas to optimise

  • @cinderwolf32
    @cinderwolf32 3 місяці тому +764

    I will never forgive youtube for the 1.5 year period where all I got recommended was garbage slop content and couldn't find awesome channels like this.

    • @le9038
      @le9038 3 місяці тому +16

      And don't forget all the overly sexual recommendations like what I have been suffering through...

    • @viralshark
      @viralshark 3 місяці тому +36

      @@le9038 its because youve clicked on some of them 😂

    • @le9038
      @le9038 3 місяці тому +1

      @viralshark but I don't like looking at that kind of stuff on UA-cam! And any suspicious activities I do are Done on another browser (Tor), under different accounts with separate email addresses using SimpleLogin...

    • @GoblinArmyInYourWalls
      @GoblinArmyInYourWalls 3 місяці тому +8

      Yeah especially in the game dev world. We definitely need more "I'm a Unity user who used godot for twenty minutes, here's an hour long video" /s

    • @MollyHJohns
      @MollyHJohns 2 місяці тому +10

      Don't forget to clean your watch and search histories on UA-cam so they don't keep recommending what you accidentally clicked. And choose "Don't recommend this channel" to avoid what you dislike. From this point on you can manually key in what you want to watch.

  • @chrismeyer9990
    @chrismeyer9990 3 місяці тому +861

    Old programmer here, and I'm so happy that all of this is having a revival! I remember that problem from my DOS games too well. Many opted to just not build on unsuited border tiles, before this came along (and then it all went out of fashion together with times based games). At least opting for this solution is a no-brainer, as opposed to the question how to layout isometric maps: diamond shaped or square with offset odd rows. Maybe that discussion is coming back, too 😊

    • @YourWalkerex
      @YourWalkerex 3 місяці тому +7

      Diamond shape!
      Honestly I dont care.

    • @DsiakMondala
      @DsiakMondala 3 місяці тому +1

      wow!!! I am so happy you did it!!! normaly you go 40 at 30 but you did it!!! I hope I can go that far keep on being such a good man!

    • @RogerioSilva-v1q
      @RogerioSilva-v1q 3 місяці тому

      You...don't look that...old.🤔

    • @chrismeyer9990
      @chrismeyer9990 3 місяці тому

      ​@@RogerioSilva-v1q Looking younger than most mode 13h games.

    • @johncheng9253
      @johncheng9253 3 місяці тому

      nice work bro

  • @sylvan4042
    @sylvan4042 3 місяці тому +2305

    As a game dev, hearing another dev say "I've got a new game idea" shakes me to my core 😅But it makes sense for scope reasons. Scope is hard 😔

    • @matthewcharles9813
      @matthewcharles9813 3 місяці тому +18

      What do you mean? Why does it shake you?

    • @sylvan4042
      @sylvan4042 3 місяці тому +308

      @@matthewcharles9813 While there can be nothing wrong with starting a new project, it can become a bad habit of constantly restarting and never finishing. This can happen for many reasons, commonly by passing the honeymoon phase of your project, where difficulty starts to ramp up. Why it shakes me is what it can do to a dev who stays stuck in the loop, it's happened to me for a time and I know plenty of devs who have been stuck in a loop constantly restarting projects or changing the scope/design of their games for years and never finishing anything.

    • @MarsterMikkel
      @MarsterMikkel 3 місяці тому +49

      @@sylvan4042 I'm kinda in this stage right now, everytime I start on a project and it gets boring, I move on to a new one that I find interresting. Do you have any tips for getting out of the bad habits?

    • @matthewcharles9813
      @matthewcharles9813 3 місяці тому +8

      @@sylvan4042 okay tank you got explaining. Wasn't quite understanding your first comment.

    • @imaguyyesmale
      @imaguyyesmale 3 місяці тому +6

      ​@@MarsterMikkeldiscipline, set goals?

  • @narwhals6465
    @narwhals6465 3 місяці тому +311

    I think the craziest part of this is that it's the first time anything in the world of graphics programming has actually made intuitive sense to me. Instead of having each time correspond to a world tile and have 9 neighbors, each display tile corresponds to a corner and only has four neighbors. The display tiles don't have a "base tile," they are only made by combinations of neighbors.
    I didn't even plan on making a 2D game but it's a cool hack to know!

    • @MagicGonads
      @MagicGonads 3 місяці тому +22

      this is the opposite of a hack, it simplifies the design concisely rather than working around a design limitation by generating unmaintainable excess or unsupported behaviour.

    • @GikamesShadow
      @GikamesShadow 2 місяці тому +1

      Not really a hack like MagicGonads says. Say you make 16x16 tiles. All this process does is cut the 16x16 tile into 4 pieces that it can then choose from to use for the actual tile you wanna place. Now granted the program here can do this automatically. But even for paralax mapping this works wonders and can help you a lot.

  • @danieldavis2017
    @danieldavis2017 3 місяці тому +531

    This may be the single best game design video I've ever seen. It gives an interesting idea. Shows how it works. Suggests where you can get more detailed information. And gives a code example. Perfect.

    • @Polymeron
      @Polymeron 3 місяці тому +18

      Bonus points for open source engine example!

    • @cupostuff9929
      @cupostuff9929 3 місяці тому +12

      suggesting where to get more detailed information is something all tutorials should do, too many people acting like gospel

    • @harriehausenman8623
      @harriehausenman8623 Місяць тому +1

      Couldn't agree more.

  • @DevDuck
    @DevDuck 3 місяці тому +134

    This is super helpful! At this point whenever I see you post I just wonder what I'll be refactoring in my game next. Thanks so much for sharing. Looking forward to your new project!

    • @atomialep
      @atomialep 25 днів тому

      yayaya nice promotion of your game. Keep making videos showing your impossibly impeccable everything, instead of game dev.

    • @neozoid7009
      @neozoid7009 13 днів тому

      DevDuck is here !why I didn't notice it later .

  • @salvationindustries
    @salvationindustries 3 місяці тому +334

    "I think this scope will be a lot smaller" it's like famous last words. haha.
    Hope it actually is smaller in scope because we all been in the situation when it starts "small" but it becomes big after a while.
    Best of luck!

  • @NobleCrowDev
    @NobleCrowDev 2 місяці тому +17

    I spent soo many hours creating 47 tiles for each terrain and finding ways to simplify it. This video just saved me a ton of time.

  • @erik-sandberg
    @erik-sandberg 3 місяці тому +42

    Thank you SO MUCH for 1. Exploring the different standard tile set sizes, 2. Showing an example in a game engine, and 3. Linking to more educational tools and videos. I was literally searching for this information and having trouble finding it, and UA-cam recommended this to me. Thanks again! Subscribed.

  • @echox_ray
    @echox_ray 3 місяці тому +26

    I just have to say this: In my eyes, this video is exceptionally good. It's informative, sticks to the topic, no unnecessary long intro and a nice flow and commentary. This is what I like to see when I go on UA-cam to find a solution to a problem. Great job, keep up your good work and best wishes for your games! :)

    • @josephreynolds2401
      @josephreynolds2401 Місяць тому +1

      Brevity is the soul of good writing, imo. Even artistic, flowery writing that some might consider "droning" can express many elements like theme, atmosphere, environment, characterization, etc.
      My personal go-to's are Cormac McCarthy for flowery writing that isn't needless (among many other praises). Frank Herbert truncates complex concepts and dialogues into a workable narrative and a subtle meta-narrative.
      The latter being quite odd because I've seen Herbert's writing described as bad, when it is a long-time journalist's (when journalism was a real mainstream profession) try at a fictional narrative.
      It'd be nice to see a push for short and effective communication in education and workplaces rather than bloat. "Show, don't tell" is oft uttered as a rule in essay writing, a hallmark of American Ed., when it's more applicable to visual media and brief environmental descriptions. Essay writing is meant to communicate a thesis, "Show, don't tell" obfuscates the point of an essay more than it enhances it. Formal office communications are incredibly bogged down in the optics of respectability and less focused on actual respectability, clarity, and any semblance of efficiency. There are so many bloat articles that are a mere repetition of what AP and other big media outlets have said that offer nothing new to the subject.
      UA-cam Essays/presentations are incredibly accessible. I'm delighted to see so many creators making well-written, concise, and digestible material. The entertainment factors do not crowd the subject matter unduly and subject diversity is such a wide range. God bless em

  • @CypiXmusic
    @CypiXmusic 3 місяці тому +25

    I don't even develop games anymore, but love when people come up with slick and efficient solutions

  • @paradachshund
    @paradachshund 3 місяці тому +14

    I'm so impressed by people like you who seem to get so much done in your spare time devving. I'm also a spare time dev and it's such a struggle to get progress done being a busy adult!

  • @squiddler7731
    @squiddler7731 3 місяці тому +48

    I remember coming up with this exact system for one of my games, and once I did I was honestly amazed that an idea like this wasn't already well known and used in the wider game industry. I remember the reason I looked into it was because I wanted to make a level editor with slopes, but in a way that's more free-form than something like mario maker 2 (where slopes are this dedicated object that can only be used in specific ways). Eventually I realized that trying to account for 8 neighboring tiles in my algorithm would've been nigh impossible once slopes were brought into the mix, so in my search to simplify things I came up with this system. Even ignoring slopes it made everything so much simpler, and expanded the options I had when designing tiles (now they're allowed to extend outside of the grid rather than being strictly limited to it, which was another issue I had). In the end I found that I would need 20 different slope tiles for every type of slope I wanted in the game along with the 16 base ones, so I can only imagine how many that would've been had I had to worry about 8 neighbors instead of 4

  • @AlexFigar
    @AlexFigar 3 місяці тому +8

    Perfectly timed video. Was about to draw 47 tiles for an assignment like some kind of chump.

  • @AdamtronskyMe
    @AdamtronskyMe 3 місяці тому +10

    It's really interesting watching how it actually works.
    I actually "discovered" this method while creating a cistom tileset for RPG Maker, I was trying to figure out how it worked and came to the conclusion the tiles were divided (More than what is shown) so it can "Build" all the tiles combinations

  • @AnimatingBeats
    @AnimatingBeats 3 місяці тому +17

    This is a lifesaver. It’s near impossible to find a good video in tile sets so this is very appreciated

  • @KosinsStuff
    @KosinsStuff 3 місяці тому +5

    Game development is its own science, i learned so many cool tricks to make things so much easier

    • @josephreynolds2401
      @josephreynolds2401 Місяць тому

      It's interesting how simulation concepts in video games are so applicable to improving practical applications and modeling for unrelated professional fields.

  • @ЗинаидаЛеонова-ю5у
    @ЗинаидаЛеонова-ю5у 3 місяці тому +8

    A creator, especially a developer, lives and breathes by side projects. They're as important as regular sleep. They prevent burnout and let you try out new ideas and techniques without uprooting the primary project.

  • @codingidiot6754
    @codingidiot6754 3 місяці тому +36

    casually dropping the most GOATED tutorial i've ever seen in my entire life, if i hadn't watched this video i would've literally never even thought something like this was possible. The amount of time this saves is incredible. 10/10 would learn again.

  • @_hallowed_
    @_hallowed_ 3 місяці тому +4

    I honestly can't believe I've been drawing all those unneeded tiles all along. Super helpful video!

  • @bagandtag4391
    @bagandtag4391 3 місяці тому +457

    I feel like a caveman that was just given a fanta and experienced something they were not meant to.

  • @APrettyGoodChannel
    @APrettyGoodChannel Місяць тому +2

    That little snippet of your game looks way more appealing than most games in that style, and it looks like a genuine contender in the Stardew-like space.

  • @TheNewton
    @TheNewton 3 місяці тому +2

    high effort no cruft, amazing high level presentation really simplifies understanding tile concepts AND visualizes the drawbacks.

  • @warmwalker371
    @warmwalker371 3 місяці тому +9

    This got me more invested into working on my 2.5D game using pixel-art without the anxiety im having from working on a lot of tiles for it, thank you! And goodluck on your game!!!!

  • @joebobilly
    @joebobilly 19 днів тому

    Really simple and elegant solution, right when you mentioned the first system I had thought of doing something like offsetting, but I loved the explanation on exactly how to do it, especially implementing it with code and giving examples!

  • @oddpenguin8996
    @oddpenguin8996 3 місяці тому +7

    I absolutely adore that farmer sprite at 2:03

  • @hirowbp
    @hirowbp 2 місяці тому +1

    The current small project is so cute, I hope you keep doing it 🥺

  • @DewlentDesigns
    @DewlentDesigns 5 днів тому

    Thank you for sharing this alternative approach! I managed to add it to my game with some custom code and OMG it makes the farming etc feel SO SO much nicer!! (Plus the tilesets become super quick to make in comparison! - 15 tiles and one seamless pattern vs days spent matching across multiple join points and trying to finesse the textures)
    This has honestly made my game demo feel achievable before the end of the year now, thank you!!!

  • @empty5013
    @empty5013 3 місяці тому +1

    amazing, i was having this exact problem implementing fog of war (that i was using tilemaps for so i could have a nice 90s rts style hand drawn fog edges) and came to the exact same solution of offsetting the grid, after a week of pulling my hair out trying a million different approaches.
    then this video drops literally 24 hours after i figured it out and the algorithm recommends it to me. incredible.

  • @TheWildDeadHero
    @TheWildDeadHero 3 місяці тому +5

    We use tiles and meta tiles all the time in GBA development! Having a handful of 8x8 tiles create a wide variety of 16x16 tiles really saves space and compute time. And layers/transparency really help too.

  • @csaki01
    @csaki01 2 місяці тому +1

    Finally clicked on this video. Don't think I'll work on anything tile-based any time soon, but if I do, I'll keep this in mind.

  • @jurakarok3343
    @jurakarok3343 3 місяці тому +1

    I thought this was going to be a D&D map drawing guide. I liked this more than what I was expecting.

  • @elhazthorn918
    @elhazthorn918 3 місяці тому +1

    This is genuinely fascinating. I had no idea so much thought and theory went into tilesets.

  • @willowbercaw8404
    @willowbercaw8404 Місяць тому

    I am literally A SECOND into your video and I exclaimed "OH THAT'S A CUTE GAME!"
    Your artstyle is ADORABLE!!

  • @kasiamleczarska9078
    @kasiamleczarska9078 2 місяці тому +1

    I'm not even a dev nor a programmer but this was an interesting and relaxing watch

  • @thewoodsi9204
    @thewoodsi9204 2 місяці тому +1

    Wow! This video really helped me decide how I want to go about tilesets for my games. And I was so pleasantly surprised by how good your games look! I especially love the character design from your newer idea, and how the plants bounce a bit when you place them. It's so dynamic and lively!

  • @OnigoroshiZero
    @OnigoroshiZero 24 дні тому

    I love watching or reading for things like this that show how people think to find such solutions in any field. Human ingenuity is an amazing thing.
    And this was an amazing video explaining such a topic.
    Great work, you got a new sub.

  • @multiapples6215
    @multiapples6215 3 місяці тому +62

    Neat! The Dual-Grid system actually reminds me a lot of marching squares. Very interesting!

    • @chaumas
      @chaumas 3 місяці тому +13

      I was thinking that too. It's basically exactly marching squares, except that the lookup table contains bitmaps instead of edge lists. It also leaves out the interpolation step, but interpolation wouldn't do anything here because the original scalar field is binary anyway.
      That does bring up the possibility, though, of having individual tiles be procedurally generated according to up to two line segments, and doing the full marching squares algorithm to generate those line segments in each tile. Then you could have a "strength" for each tile, rather than simply being on or off. Implementing a countour-lines-to-tile generator with a rich looking output would be really involved, of course.
      Edit: Alternatively, instead of having "strength", you could make the actual game logic tile grid higher resolution than the display tile grid, then apply a scaling filter to it to get the field to apply MS algorithm to. So each display tile, for example, could cover a 3x3 grid of game tiles. You scale that down to get a more smoothly varying field to compute the contours of.

    • @feuermurmel
      @feuermurmel 3 місяці тому +4

      That is a good analogy! When I started building tile systems, I came from a background of working with marching squares (I built software to convert implicit surfaces to meshes) so I didn't even occur to me that there would be other possibilities than the "dual grid system" 😅 I considered the ground type to be located at the corners of the tiles and the tiles interpolating/blending between them. This means that I wouldn't consider there to be 2 coordinate systems involved.

    • @chaumas
      @chaumas 3 місяці тому +2

      @@feuermurmel I’m working on a side project using marching cubes and voxels right now, and I keep having to remind myself that the voxels are offset from the cubes as I think through details.
      It would be interesting to build a voxel rendering engine which uses 3D “tiles” and a 3D version of the dual grid system. You’d have to make 256 tiles for that, although you could start with 15 and add special cases when you want to break symmetry.

    • @MadsterV
      @MadsterV 3 місяці тому +1

      ​@@chaumasI've seen it done lately in what they call "Wave Function Collapse". It's built on top of a grid system and they need matching tiles, so they use variations on these ideas. It's perfectly doable in a regular 3D grid with cube tiles. If you introduce tile rotation, you can drastically reduce the number of required tiles (you can do that in 2D as well)

    • @MadsterV
      @MadsterV 3 місяці тому +1

      @@feuermurmel Yes! this kind of tiling is commonly known as "corner tiles" for this same reason.
      You can just do a Bresenham line along your grid using it, although they are not very good at diagonal lines: either it's too coarse or it has too much repetition, depending on scale.
      The "blob" tileset does a tad better since you can spot diagonals within a tile and you can draw them as proper diagonals, but they're more tiles (which makes sense, since now you're accounting for diagonals). You can find 6x8 and 7x7 packings of these (with a tiny bit of repetition), though if you allow for tile rotation (which means the tile is not directional -- no shadows, no vertical hints) you can get away with just 15 of them (no packing though). Your lines will have 45 degree steps instead of 90 deg, which is better but still not great.

  • @Pichuscute
    @Pichuscute 3 місяці тому +4

    Was very confused at the premise of this video for the first couple minutes, until you got to the part explaining why you weren't just doing the type of tileset at 1:45, haha.
    In any case, this is neat.

  • @andreaquinn6180
    @andreaquinn6180 3 дні тому

    You are wonderful. THANK YOU!! After spending the last week figuring out tile shaders the hard way, I am so happy to see how you have employed them and that the shader code you shared is so similar to what I came up with. Your work is absolutely beautiful, and I look forward to seeing the cozy houseplant farmer game on Steam (or elsewhere) someday! Keep up the good work!

  • @TisboreArt
    @TisboreArt 2 місяці тому +2

    UA-cam recommended your video so I checked it out. I know nothing about game design so this was pretty interesting. Good luck on your new game!

  • @Rknife
    @Rknife 3 місяці тому +3

    Yay, I unknowingly found the best option.
    Confidence: 100

  • @Todrianth
    @Todrianth 14 днів тому

    The color pallets look nostalgic, I like it. The new game ideea looks cozy and soothing. Keep it up.I’ll buy 🙂

  • @Raye938
    @Raye938 3 місяці тому +1

    Haven't been following anything you've done, as this is my first time your video has popped up from youtube's 's algorithm, but it has completely derailed my plans for tiles in a very positive way. Thank you!

  • @billberg1264
    @billberg1264 3 місяці тому +1

    The moment the three tile sets popped up on screen, my first thought was "couldn't you write a small program that would generate the second two from the first one?" I'm glad that turned out to be exactly where this was going.

  • @JamieBainbridge
    @JamieBainbridge 3 місяці тому +4

    A game about growing houseplants is considered exciting. I think I've found a new favourite channel :)

  • @beddyboy
    @beddyboy 2 місяці тому +2

    Could listen to this voice whenever.

  • @CaptainBeebi
    @CaptainBeebi 3 місяці тому +10

    Funnily enough, I made a video on this exact approach back in April for my 3D engine. Since the original bedrock I was working with was a GBA game, I basically just went _"Beep boop"_ and took the tilemap approach of the GBA and earlier consoles used (2x2 metatiles made out of 8x8px tiles)
    With some elbow grease I've since squeezed the entire 3D mesh builder down to ~300 lines of code. You've got me wanting to release the source for my builder now lolol

    • @DsiakMondala
      @DsiakMondala 3 місяці тому

      A man can do anything with some elbow grease! You are very manly indeed

    • @CaptainBeebi
      @CaptainBeebi 3 місяці тому +8

      @@DsiakMondala Wat, I'm not even a guy

    • @charlietighe5533
      @charlietighe5533 Місяць тому +1

      Yes please!!!

  • @Chilaxolotl
    @Chilaxolotl 2 місяці тому +1

    I like the idea of discovering plants and then farming them. You can have different biomes and then have to simulate their native habitat to grow them successfully indoors.

  • @MadsterV
    @MadsterV 3 місяці тому +30

    This is more widely known as "corner tiles", as a variation from "edge tiles" (which are themselves more widely known as Wang tiles, from the guy that invented them). I love these, they let you do hand-made transitions between tile types and there's up to 4-color (4 different "terrain types") packings so you can smoothly transition from any tile to any tile as required (since each tile can have at most 4 different colors, 1 per corner, if you have more than 4 colors you just make additional sets).
    I've been working (for a long time) on a few variations on these, for even more flexible and organic looks. I expect to publish my results somewhere somehow.

  • @mboog12
    @mboog12 Місяць тому +1

    Jess, once again you bring true inspiration on the table. thank you!

  • @TheAtticus82
    @TheAtticus82 2 місяці тому +2

    Oh my god, you don't know how long I've been looking for a video like this! Thank you so much.
    Just subscribed!

  • @Soundole
    @Soundole Місяць тому

    This was a great explanation of an elegant solution to an age-old problem, great video!

  • @madd_atom
    @madd_atom 3 місяці тому +2

    What a treat to get more of your content! I'm exited to see how I can leverage the dual tile system in the future. Thank you for providing starter code, it's been fun to explore.
    I appreciate that you showcase other creators and supply references. I first saw your amazing water shader on a different channel only to find out that specific creator did not come up with it or reference you in the video. And another one within the last week who claimed they made a BEAUTIFUL ocean when it is exactly your shader. It's so easy to give credit where it is due, especially when you have so graciously provided the code on github!
    Really excited to follow along on your creative endeavors!

  • @JasonStoneRolaveric
    @JasonStoneRolaveric Місяць тому

    That was great! I just recently started working with TileMapLayer for a totally unrelated technical experiment, so seeing the two grid system and what you're doing with it blew my mind 🤯

  • @CliveAtFive
    @CliveAtFive 2 місяці тому +1

    Your vids are always super practical, informative AND calming. expert blend!

  • @willowAHH
    @willowAHH 3 місяці тому +2

    All of your games look absolutely stunning 🤩

  • @luke1235XD
    @luke1235XD 2 місяці тому +1

    Great video! I've run into problems like this with tilesets before and thought there must be a better way.
    The video editing and presentation is also top notch.

  • @Dylan2024.
    @Dylan2024. Місяць тому

    I'm currently developing a game that uses Tiles for its environment, and videos like this are ones I look for before I get to the Programming phase.
    Good work!

  • @emilemil1
    @emilemil1 Місяць тому

    Offsetting the grid was my immediate thought when you explained the downside of the first method. One downside that remains is that interactions between the tile layers become more difficult. For example you might want tiles with ice to be slippery, or an object to only be placeable on certain tiles, and with this system you'd have to apply those properties to each quadrant instead of to the whole tile.

  • @TinyTank800
    @TinyTank800 3 місяці тому +2

    Just started trying godot out and this will help A LOT with my tile setup. It also helps a lot that it programmatically does this rather than me needing to place everything perfectly all the time. Gonna see if i can get procedural gen to work with this system. Should be pretty easy.... i hope. Best of luck on your games! both are looking so good with their own character!

  • @saoirsecore
    @saoirsecore Місяць тому

    Besides how helpful it is to learn about the dual-grid system, I just have to say your trees look so good in your game! I have been trying to get down a similar look using a watercolor palette and this is super inspiring!

  • @arthurpadilha1417
    @arthurpadilha1417 3 місяці тому +1

    I'm stunned by how beautiful your games are. I'm a person who rarely comments on videos, but your explanation, passion, and creativity made me do this. Good luck with your game!

  • @SoulGameStudio
    @SoulGameStudio 25 днів тому

    The pixel art character from the new project got me hyped. Thanks for the insights on tilemaps as well!

  • @dogfromotgw
    @dogfromotgw 28 днів тому

    it makes me happy when people use the correct word for fewer vs less

  • @XiagraBalls
    @XiagraBalls 26 днів тому

    I love this logically and elegantly solves the problem.

  • @Retro_Acted
    @Retro_Acted 3 місяці тому +2

    That new game has such a charming artstyle. Kind of jealous.

  • @RobertoMaurizzi
    @RobertoMaurizzi 3 місяці тому

    Perfect explanation of everything tiles-related, plus easy to understand description of how dual-grid works, in 6 minutes and 20 seconds! Thank you! Instant-subscribe!

  • @ToddyPoddy-fy5dc
    @ToddyPoddy-fy5dc Місяць тому

    You have a lot of patience to be game devving, and teaching on UA-cam with all the editing. Good for you

  • @HeroOfHyla
    @HeroOfHyla 3 місяці тому +1

    Great video.
    RPG Maker only requires 6 tiles, and then it automatically cuts those up into quarter-tile pieces and recombines them in various ways to generate a 47-piece set for you. It's super convenient. I reversed engineered it years ago and implemented my own version in Java. One of these days maybe I'll try doing it in Godot.

  • @KingBobXVI
    @KingBobXVI 3 місяці тому +1

    One of my first game projects, when I was in high school, I made an isomeric game with a large tile based world. I solved this problem using exactly one tile per type with perfect overlapping...
    The bottom two edges of the tile image extended about 1/4 or so down over the next tile, with the pattern background broken up with transparency. They were drawn in order from the bottom of the screen up, left to right, so each tile's "overhang" would just blend itself into the next tile down in a consistent manner. A few tiles, like bricks or other construction, had a property that raised the Z level to avoid the overhang when needed.
    When you have a tile system that supports it, this is a really, really easy way to get seamless blending for any number of tile types. And because the blend still applies between tiles of the same type, having multiple variants of the same type quickly leads to a ton of variation as any two tiles next to each other will create a subtle variation as if you had exponentially more variants (make 4 grass tiles, now you have, effectively, 16 unique variants of tile based on which ones overlap, lol).
    I used this one more time on a square grid (overhang was bottom and right), and it works just as well there too. Honestly, I don't know why I haven't seen it used elsewhere.

  • @MrOnosa
    @MrOnosa 3 місяці тому +1

    Your new game looks very promising 😮 I'm new to Godot myself. I've used it for less than a year. I don't like how the tile system works. I think your dual grid system is a wonderful trick! That tool you posted is awesome, too. I just bookmarked it. Thank you for creating this helpful video and the open source demos.

  • @MrMango-og7je
    @MrMango-og7je 14 днів тому

    Your pixel art is so beautiful, wow! Artwork like yours inspires me to keep getting better!

  • @ForlornU
    @ForlornU 2 місяці тому

    "I'm shifting to a new project, I think it has a smaller scope" - Ah yes, very relatable. Great video, very informative!

  • @LabGecko
    @LabGecko 2 місяці тому

    Another thank you for putting so much thought into this video that it comes off as just a clearly explained tutorial. You deserve more views for this level of work!

  • @BrandonReinhart
    @BrandonReinhart 15 днів тому

    I independently came up with the same solution for our game. It works great. I called the two grids the "render tilemap" and the "gameplay tilemap". You can also reduce more combos by having layers.

  • @benphillips4928
    @benphillips4928 3 місяці тому

    I was thinking about different tile art strategies for my current game project and hadn't chosen one yet, this helps me out a lot!

  • @sweatyeti
    @sweatyeti 3 місяці тому

    This is SO helpful. I haven't worked much with tile maps, but it was something on my radar as something to get more familiar with. This likely saved me hours of trial, error, and research. Thank you so much!

  • @Portponky
    @Portponky 3 місяці тому

    I made a plugin for Godot called Better Terrain that features a big improvement to the autotiling system in the engine. For a long while I've considered implementing a "dual grid" system, though there are a few tricky problems related to implementation that I haven't solved. This video was inspiring, seems like some of the old tricks are still alive today.

    • @jesscodes
      @jesscodes  3 місяці тому +2

      Oooo yess, I know Better Terrain! Such an awesome plugin, it was really helpful to connect all the different types of wall tiles in my game. Thanks so much for making it - truly a lifesaver :D

    • @Portponky
      @Portponky 3 місяці тому

      @@jesscodes oh, glad to hear it helped!

  • @fungiplays2289
    @fungiplays2289 3 місяці тому +1

    New to the channel and I'm NOT a game dev, but I found this to be an insightful peek behind the curtain. Thank you for sharing! Also, Interscape and your new game idea look really, really neat. Can't want to play them one day :)

  • @indieemil
    @indieemil Місяць тому

    So happy I stumbled upon this channel! This will make things A LOT easier 😅

  • @rhapsodyaria
    @rhapsodyaria 3 місяці тому +1

    I wanna say the Tiled Corner-based tileset is *similar* to this. You draw in the corners you want active, and your tilemap builds around that. But it does mean that the visual centers are usually offset by half a tile. Still, really useful stuff!

  • @JigglesMcRibs
    @JigglesMcRibs Місяць тому

    5:58 is so real
    I don't ever do tiling stuff because of how obnoxious it is, so I really like what you shared in this! May have to give it a (ugly) try.

  • @MrFreakyification
    @MrFreakyification 3 місяці тому +3

    I would really love to see how you get such nice variations on your grass texture. Great video. :)

  • @ChosenMango4233
    @ChosenMango4233 Місяць тому

    Absolutely hyped to see your games published someday, the art style is incredible, I can't express how pretty those trees are

  • @popfugl
    @popfugl 26 днів тому

    Former GameBoy Color and GameBoy Advance artist here. This is super interesting and I would have loved to try this out back in 2002-ish when I was in the midst of it.

  • @kittykat5432123
    @kittykat5432123 3 місяці тому +1

    This was super interesting! :D Thank you for sharing this. It really gives me a new perspective when thinking of making 2D games. I'm definitely subscribing, and I look forward to future devlogs on how your game is coming along! :) Cheers!

  • @Usual_turtle
    @Usual_turtle 2 місяці тому +1

    This is great. I love the content, and as a game dev, these tips are really useful. Just want to let you know, as of Godot 4.3, TileMaps are deprecated in exchange for multiple TileMapLayer nodes instead. The code is almost the same, except for a few things. Overall, love the channel! Thanks for the great content!

  • @OMG_Its_SrHand
    @OMG_Its_SrHand 2 місяці тому +1

    I was think about this today and your video just pops up. Thanks 😉

  • @whimsicalrobotonatripod
    @whimsicalrobotonatripod 3 місяці тому +1

    This is a really neat technique to use for tilesets.
    I've seen this before when working with minecraft optifine resource packs, especially with connecting blocks and block overlays
    the 16 tile method is much more useful when splaying things over large areas that will usually made to be uniform mostly

  • @movidiu1160
    @movidiu1160 3 місяці тому

    Instant subscribe, amazing video! I find most content makers on YT bloat their content, please don't change this format, the plug was short and sweet and left me curious about your projects, the video itself was highly informative, honestly I'm gonna go watch all your content now.

  • @AsAboveISoBelow
    @AsAboveISoBelow Місяць тому

    Your games have a cozy wholesomeness that I just absolutely adore

  • @secretsofshadowsgame
    @secretsofshadowsgame 3 місяці тому +1

    wow this is the no joke the best video ive seen on tiles. all the basic tileset tutorials only covered the 15-piece tileset (and didn't call it that so i had no idea there were more variations lol)

  • @OmegaPhlare
    @OmegaPhlare 3 місяці тому

    Thanks for making a video about this. I haven't thought about this problem in many years but I'm glad to now know that there was a great solution for it. It kind of makes me want to design a game with a grid system just so I can use it.

  • @MikaelIsaksson
    @MikaelIsaksson 3 місяці тому

    Oh, I have been coding for 40 years, and doing gamedev as a hobby most of those years as well as professionally the last couple of years, but I had never heard of this system before. Amazing :)

  • @jemmyjam_
    @jemmyjam_ 3 місяці тому

    This is for real the most information dense video on tiles I've ever seen! Thanks for this!!

  • @eboyce24
    @eboyce24 Місяць тому

    I like your art style and your game looks very smooth/fluid. Very inviting.

  • @CathodeRayKobold
    @CathodeRayKobold 3 місяці тому +3

    What I find cool about this is that no quarter-tile is redundant. Which means you can implement this as 16 16x16 tiles, or as 64 8x8 tiles, with no changes to the art.

  • @GameJam230
    @GameJam230 3 місяці тому +1

    Something that can likely be done to improve this as well (assuming you don't want unique connections between different pairs of tiles) would be to change the tilemap configuration from comparing two SPECIFIC types of tiles (like how it compares grass to dirt), to instead simply comparing "this" to "other".
    Then, you draw the two layers of the tiles separately from each-other instead of storing them in the same sprite such that they fit together like a puzzle piece. This would likely be done by using a bitmap to identify the frames for each tile, so if "this" tile overlaps in a way that would require it to draw the frame with index 1011, then the "other" tile will draw in that same location with index 0100, and those indexes will be picked to make them fit together like jigsaw pieces.
    Just like that, you don't need a tile to represent every connection between two different terrains, you just need the 15 frames for grass, 15 frames for dirt, 15 frames for sand, 15 for water, etc. Otherwise adding new terrain types would DRASTICALLY increase the required frames because you would need separate images for grass to water than dirt to water than sand to water, and all other combinations.