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

preview_player
Показать описание
I’ve spent a LOT of time drawing tiles! So when I came across this alternative approach to auto-tiling that requires fewer tiles, I knew I had to give it a go. This video is all about the “Dual-Grid System” (first proposed by Oskar Stalberg), and how I implemented it in Godot. Unlike most other tilesets, it also allows for equally rounded corners! Finally - I can sleep well at night knowing my tiles are all equally rounded.

I also go through the 3 more common tilesets that I’ve seen so you have a better understanding of alllll the options.

I would honestly love to see the dual-grid system used more widely - so I hope this video at least brings some awareness to it! There was hardly anything online about implementing this in a game engine, so it was a lot of trial and error. I apologise if I made any mistakes and I’m sure there’s many improvements and optimisations (e.g. tile symmetry) that could be made. I’d be keen to hear your thoughts!

I tried by best to explain my understanding of this complicated topic, but these guys probably do a better job lol :)

Other links:

Chapters:

00:00 - Making tiles is hard
00:32 - 3 commonly used tilesets
01:57 - The problem of equally rounded corners
02:26 - What is the dual-grid system?
03:20 - Implementing dual-grid system in Godot
04:06 - Understanding dual-grid coordinates
04:55 - Final remarks & tips
05:32 - Game update :)

Music:

Undertale - Hotel
C418 - Taswell
Рекомендации по теме
Комментарии
Автор

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.

parmesanzero
Автор

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 😔

sylvan
Автор

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 😊

chrismeyer
Автор

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.

cinderwolf
Автор

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!

narwhals
Автор

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.

danieldavis
Автор

"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!

salvationindustries
Автор

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!

DevDuck
Автор

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.

NobleCrowDev
Автор

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 YouTube to find a solution to a problem. Great job, keep up your good work and best wishes for your games! :)

echox_ray
Автор

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 YouTube recommended this to me. Thanks again! Subscribed.

erik-sandberg
Автор

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.

codingidiot
Автор

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

squiddler
Автор

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

CypiXmusic
Автор

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!

paradachshund
Автор

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

AnimatingBeats
Автор

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

AdamtronskyMe
Автор

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.

ЗинаидаЛеонова-юу
Автор

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.

APrettyGoodChannel
Автор

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!

joebobilly