Godot 4 TileMap Tutorial Ep 7 | Procedural Generation

  Рет қаралды 39,426

Jackie Codes

Jackie Codes

Күн бұрын

Пікірлер: 61
@tylerbakeman
@tylerbakeman 12 күн бұрын
For those wondering why we have a bunch of decimals after calling print: Those decimals are the original values from the noise, within the noise-texture… without the modified interpolation or even normalized from 0 to 1… Using .get_image() instead of .noise will normalize and interpolate correctly… the person doing the tutorial didn’t have to change those settings, because .noise wouldn’t recognize them .get_image() is also an image, so, it’ll behave slightly differently- seemingly slower, but probably faster since it’s built-in
@callum.dokkodo
@callum.dokkodo 10 ай бұрын
I just started using godot this week because I'm a TV/film composer looking to get into game audio. I have a very basic understanding of coding from writing some custom scripts for my DAW. I've been watching a lot of godot-tubers and out of the 8-10 I've watched, your way of explaining and breaking things down really helps me learn. You are very thorough while still covering a lot of ground. This is incredibly helpful in motivating me to keep learning. Thank you
@Psychopatz
@Psychopatz Ай бұрын
OMG, so this is how the seed works when we put it in the minecraft. Thanks for explaining it with many examples, as a visual learner it helps alot to conceptualize this idea
@taylorfisdboss5200
@taylorfisdboss5200 5 ай бұрын
This is an excellent tutorial. You move quickly through the content, point people back to documentation where possible, and explain things to the exact depth that needs explaining. Thanks for the excellent lesson!
@xarlander6270
@xarlander6270 10 ай бұрын
lol I literally just finished your tilemap series 2 hours ago, guess I get to learn more now!
@shisuiuchiha1168
@shisuiuchiha1168 4 ай бұрын
This is the most helpful explanation of procedural generation I've ever heard, thank you
@nano3936
@nano3936 9 ай бұрын
Thanks so much! This tutorial is great! I've started learning Godot not too long ago, and I couldn't find anyone talking about procedural tilemap generation in Godot, but your video was very easy to pick up and understand. Great job!
@peter5470
@peter5470 9 ай бұрын
I've made my first game ever with godot4 last year and back then I would love to have started by your tutorial!
@johnborg305
@johnborg305 2 ай бұрын
There are not a lot of tutorials for godot, i was lucky to find the exact info i needed from this video thank you so much
@joshhoffman7811
@joshhoffman7811 2 ай бұрын
You're a super good teacher. Thank you so much for this content!
@vejroniottan-n9s
@vejroniottan-n9s 10 ай бұрын
Excellent explanations of the whole process! Thanks!
@Agathoarn
@Agathoarn 9 ай бұрын
Been loving these videos. Very helpful. Glad you kept working on this one.
@lucaspawprint1888
@lucaspawprint1888 6 ай бұрын
Ty. I didn't even know about set cell, so I think I am way ahead of myself lol. But part of the reason I got here was to see what was possible with tilemap, so thank you for that! :)
@visibletoallusersonyoutube5928
@visibletoallusersonyoutube5928 6 ай бұрын
This is probably more important and productive than most of us give credit to
@martfp88
@martfp88 10 ай бұрын
I'm coming from engineering background, a lot of GIS software, python, data analysis (pandas, Machine learning and so on) thanks for introducing the noise functionality! I love it! Random sets and these algorithms are my language. Didn't know Godot had such things, I'm going to have more fun
@rindallbroxmitten
@rindallbroxmitten 7 ай бұрын
This is really cool, thank you so much for making this tutorial series. It helps me a lot!
@aSinkingShip
@aSinkingShip 6 ай бұрын
I never thought to use a noise texture as the basis of my proc gen! Thanks for giving me inspiration to mess around with that side of the engine more! :D
@underwood_en
@underwood_en 6 ай бұрын
this was a fantastic intro to using noise generation to pain a 3D canvas. I've used what you have shown in this video to create an isometric generator prototype ♥
@joaoprogrammer5306
@joaoprogrammer5306 5 ай бұрын
Thanks for the sharing. Very well explained and insightful!
@gushcraftgaming
@gushcraftgaming 10 ай бұрын
Small question at 11:21, you drag the tilemap into the script and it auto generates the variable associated with the tilemap. I'm trying to figure out how to do this, as when I try, it only just grabs $TileMap for me.
@JackieCodes
@JackieCodes 10 ай бұрын
hold control before you drop
@MiniGunnR
@MiniGunnR 2 ай бұрын
Easy to understand. Thank you.
@AlwaysEast
@AlwaysEast 7 ай бұрын
If you're open to suggestions for part 8, could do with a video that shows how to use auto tile alongside procedural generation.
@coderdbd
@coderdbd 4 ай бұрын
Loved the video, thanks for the explanation!
@DevLorenzdeh
@DevLorenzdeh 10 ай бұрын
Great video as usual! 👍
@kytyzovv
@kytyzovv 9 күн бұрын
I fell in love
@Alex_Wilman
@Alex_Wilman Ай бұрын
this is insanely helpful ty
@OmarEfren
@OmarEfren 9 күн бұрын
Nice, this helped a lot!
@aaronmaldonado6562
@aaronmaldonado6562 7 ай бұрын
Hello! I appreciate your contribution. I already have experience creating 2-dimensional terrain, but using Game Maker Studio 2.3. However, I found that this engine turns out to be more complicated than expected, since you often have to design your own noise generation algorithms and other tools that are not always effective. This takes a long time before achieving a satisfactory result. For this reason, I have decided to switch to Godot, which offers more facilities, is very fast, flexible, efficient, free, and I have seen that it has excellent quality of visual effects. To be concise, in GMS2.3 I usually create objects to represent terrain. These objects allow direct interaction, allow terrain modifications, and destruction, as well as the playback of sounds and animations. For example, in a game with a perspective similar to Terraria, the sand block must check to see if there is space underneath to move in that direction. If possible, switch to another type of object, such as a projectile. When this projectile hits the ground, it turns back into a block. I honestly still don't understand how this could be achieved using TileMaps in Godot.
@Eaode
@Eaode 4 ай бұрын
I think that example is really telling, actually, because in Terraria when sand is falling it's almost a different entity. You could achieve what terraria does by checking if there's a solid tile below a sand tile. If there isn't, you can delete the sand _tile_ and spawn a falling sand _object._ When the falling sand object collides with solid ground again you can place a sand tile in the tile map where it ended up. In this way you keep all static tiles in the tilemap for efficiency, and only use objects when you need dynamic motion and other such operations.
@aaronmaldonado6562
@aaronmaldonado6562 4 ай бұрын
@@Eaode It sounds like the most suitable thing to optimize the game. However, if the sand block is simply a tile, it will never be able to check if it should fall, so I suppose that the tile method does not work for certain types of blocks with behaviors like this, although it could work for a dirt block for example. I think that although it is more complicated to develop, it's better, at least in terms of performance, to implement an hybrid model between tiles and other objects to represent an interactive terrain like in Terraria.
@Lzulian
@Lzulian Ай бұрын
Nice tutorial, tks 💜
@ElementalTJ
@ElementalTJ 10 ай бұрын
You are the best!
@joshuasteward6672
@joshuasteward6672 7 ай бұрын
Great tutorial! Thanks
@AzaIndustries
@AzaIndustries 15 күн бұрын
Thank you!
@PeakTubez
@PeakTubez Ай бұрын
excellent !
@francopadovani1455
@francopadovani1455 9 ай бұрын
How did you add the atlas texture to the animatedSprite2d ? I am on 4.2.1 and a lot of things have changed but they are still there.
@uDropper
@uDropper 9 ай бұрын
YOU ARE AMAZING!
@eskimopie910
@eskimopie910 6 ай бұрын
good shit, thanks for the tutorial
@LucasIbrahim
@LucasIbrahim 7 ай бұрын
Jackie I think I love you, thank you so fukng much
@magelan87
@magelan87 9 ай бұрын
hi. can you do a tutorial for multi level isometric tilesets to make the character appear like it's going up the stairs? 😂
@dovos8572
@dovos8572 5 ай бұрын
did you know that you can use match for the if else chain? it would look something like match noise_val: var value when value >= 0.0: stuff continue var value when value
@LopMugi5656
@LopMugi5656 Ай бұрын
lov u oov u love u THANKSS
@CharlesLang676
@CharlesLang676 9 ай бұрын
Im enjoying these tutorials however going from 6 -> Plant growth to now part 7 procedural generation is confusing as it looks like a completely different project. Like you never showed making the player in the previous videos
@LiloKid
@LiloKid 6 ай бұрын
Thank you
@Snapper-gaming
@Snapper-gaming 7 ай бұрын
Link to github repo and asset is down :(
@tomaszdecker5862
@tomaszdecker5862 6 ай бұрын
11:20 - How did you do that? I only get $TileMap when i drag?
@dovos8572
@dovos8572 5 ай бұрын
drag to location, then ctrl and then letting go.
@vesogry
@vesogry 5 ай бұрын
@@dovos8572 Thanks
@frozztie7511
@frozztie7511 10 ай бұрын
damnit, now im confused, the tilemap in "world 2" doesnt have all those trees n stuff D= *edit* well alot of mukkking about and replacing stuff atleast i have the right tileset now =P but when i type out the print commands my debug is ocmpletely empty, prints absolutely nothing ;_; *edit 2* yeah whatever i do all that loads is just a grey screen, i have no idea why ;_; *edit 3* rewatching the video a couple of times, watching the areas i thought i missed. decided to fugg it, just rewatch everything and bam... for some reason im lacking "generate_world()" under func _ready... *bashes head on keyboard* 1.5h trying to figure out whats wrong for something this... stupid... thank god im a special kind of stuborn! xD
@SokarenT4S
@SokarenT4S 6 ай бұрын
This reminds me the time i kept trying to follow a tutorial for a java 2d platformer, and never got the world to den cause i missed 1 comma, it took me 6 years of trying to find it out.
@JackieCodes
@JackieCodes 2 ай бұрын
Proud of you for not giving up!
@HtetMyat79
@HtetMyat79 10 ай бұрын
Thanks🥳
@purpurwonderful
@purpurwonderful 3 ай бұрын
Cool but why is the map also the player?! xD
@adrianvazquez8686
@adrianvazquez8686 10 ай бұрын
How did you add the player??
@adrianvazquez8686
@adrianvazquez8686 10 ай бұрын
Okay I saw it's on the free assets pack!!
@ravenempty3562
@ravenempty3562 10 ай бұрын
Oops, I did it again I played with your heart, got lost in the game Oh baby, baby Oops, you think I'm in love That I'm sent from above I'm not that innocent You see my problem is this I'm dreaming away Wishing that heroes, they truly exist I cry, watching the days Can't you see I'm a fool in so many ways But to lose all my senses That is just so typically me Oh baby, oh
@NathanWoyessa
@NathanWoyessa 5 ай бұрын
what
@morganp7238
@morganp7238 5 ай бұрын
To programmatically generate new maps: var fnl = noiseHeightText.noise as FastNoiseLite fnl.seed = randi() % 10 GenerateWorld()
Godot 4 TileMap Tutorial Ep 8 | Procedural Generation with Terrains
23:46
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 541 М.
Thank you Santa
00:13
Nadir Show
Рет қаралды 24 МЛН
Мама у нас строгая
00:20
VAVAN
Рет қаралды 10 МЛН
كم بصير عمركم عام ٢٠٢٥😍 #shorts #hasanandnour
00:27
hasan and nour shorts
Рет қаралды 9 МЛН
How to Create PROCEDURAL Generation in Godot 4
26:39
DevWorm
Рет қаралды 41 М.
How do modern games handle pixel art?
8:26
Undermountain Dev
Рет қаралды 17 М.
Blazingly Fast Greedy Mesher - Voxel Engine Optimizations
23:35
I Made the Same Game in 8 Engines
12:34
Emeral
Рет қаралды 4,2 МЛН
Godot Scripts I add to Every Game
12:34
Aarimous
Рет қаралды 45 М.
How does procedural generation work? | Bitwise
13:48
DigiDigger
Рет қаралды 391 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,6 МЛН
Herbert Wolverson - Procedural Map Generation Techniques
27:29
Roguelike Celebration
Рет қаралды 114 М.
You're not using Godot to its potential
6:12
Tienne_k
Рет қаралды 103 М.
Thank you Santa
00:13
Nadir Show
Рет қаралды 24 МЛН