Godot 4 C# Tutorial - Minecraft Terrain - Part 2 (Blocks)

Ойындар

Get the source code on my Patreon: / xen42
Join my Discord server idk why not: / discord
Watch part 1 first: • Godot 4 C# Tutorial - ...
Part 3 here: • Godot 4 C# Tutorial - ...
Was made in Godot version 4.2 (mono) with Visual Studio 2022
This video covers implementing different block types and procedural terrain generation.
This is the second video in a tutorial series on how you can make editable voxel terrain with threaded chunk loading/unloading in Godot 4 using C#. This is an intermediate tutorial series that assumes you have working knowledge of C# and Godot, as well as LINQ.
You can also just blindly copy stuff down I can't tell you what to do I'm not your mom.
I want to be real and just call the video voxel terrain but KZread analytics tell me people search for "Godot Minecraft" and we just have to play the algorithm am I right, a man's gotta eat.
I just copied the description from the first video instead of finding new unique ways to say key words for the KZread algorithm. Gottem.

Пікірлер: 30

  • @GuildOfCalamity
    @GuildOfCalamity7 ай бұрын

    I like how you actually explain why you're doing something in the code, most people just show you the code and say "this works, don't ask why". Rgba8 refers to an image format that uses 8 bits per color channel, it allows for 256 shades of each color.

  • @xen-42

    @xen-42

    7 ай бұрын

    Yeah had some comments on an old tutorial asking for more explanations so I decided to make this one a lot slower and actually take time to explain stuff. And right on yeah 8 bits per channel makes sense, so pretty standard colour right

  • @thomastum6992
    @thomastum69922 ай бұрын

    thank you very much. This stuff is really difficult to explain, but you do it so well. I was able to recreate this in gdscript without any issues too!

  • @xen-42

    @xen-42

    2 ай бұрын

    happy to hear it was helpful!

  • @BananaPuppyBruh
    @BananaPuppyBruh2 ай бұрын

    Thank you for providing this great resource :)

  • @xen-42

    @xen-42

    2 ай бұрын

    You're welcome!

  • @HurricaneSA
    @HurricaneSA5 ай бұрын

    Just a word of caution regarding Linq. Different platforms have different levels of Linq support so if you ever plan to develop a game for multiple platforms it might complicate matters if your game uses Linq expressions. It won't make a difference for this project but just take note to check to what extend your target platforms support Linq, if at all.

  • @xen-42

    @xen-42

    5 ай бұрын

    I had no idea!

  • @TimeLordRaps
    @TimeLordRaps6 ай бұрын

    While not having seen the entirety of the video. I got confused by a lack of explanation surrounding the _Ready override. I don't know whether this was due in part by you prefacing it with something along the lines of don't worry if you don't understand or more the general lack of reasoning around why we were including each part and how they tied into a finished and complete game/voxel experience. Hopefully this is enough of a positive critique to warrant. I think in cases where the explanation of low-level details adds more than it distracts; and/or situations where the low-level details are extensively foundational and/or frequently used concepts it is more helpful than hurtful to provide a moderate level of explanation down to the level of causation. For example, textures seem like an important large collection of resources, and it seemed to me unwarranted for each to have its own definition within a variable, when we can categorize them into some sort of buckets like solid, ... or even like object classes like ores, ... I will revisit this video soon though to finish, because generally you provide a great learning experience.

  • @lesca6461
    @lesca64618 ай бұрын

    Awesome job, thanks!

  • @xen-42

    @xen-42

    8 ай бұрын

    Thanks, glad you liked it so far!

  • @anthonysylvester740
    @anthonysylvester7406 ай бұрын

    Great video! At 10:40: Mipmaps are a way to create lower resolutions for a texture so that when it is drawn at distance it doesn't need to be the full resolution. I don't know this engine well but "true" here looks like it will auto generate them. Should note that MipMaps are turned off with "BaseMaterial3D.TextureFilterEnum.Nearest" because it would ruin the style.

  • @xen-42

    @xen-42

    6 ай бұрын

    right I see, makes sense!

  • @juliettegeo5002
    @juliettegeo50028 ай бұрын

    thank u

  • @xen-42

    @xen-42

    8 ай бұрын

    You're welcome!

  • @djalexander968
    @djalexander9684 ай бұрын

    the textures dont seem to get out of the wierd uv issue, ive gotten it to boot up as a black box, but it doesnt seem to except my textures even after reimporting, any thoughts? and my textures are within the limits of the block texture size so i dunno

  • @Konclan
    @KonclanАй бұрын

    My comment got either snatched by KZread automatically or by you because of my pastebin code which is understandable and I didn't think about that until after I had posted it, but I fixed the UV problem, I was just passing _gridWidth twice in TextureAtlasSize by accident. Still having trouble with the noise texture, but I'll keep trying to figure it out.

  • @Konclan

    @Konclan

    Ай бұрын

    Oh! The copied chunks were sharing a collision and mesh shape for some reason, just resetting them in and reloading the Level scene fixed it I guess. I copied and pasted the chunks, not duplicating them like you said, but maybe that's still wrong idk. It's fixed now though.

  • @xen-42

    @xen-42

    Ай бұрын

    Not sure where the comment got caught since I dont see it held for review, anyway glad you found the problem! Yeah copy-pasting does the same as duplicating so you really have to always instantiate a new scene. It's a bug with Godot that people seem to be working on but isnt fixed yet!

  • @balalay4ik480
    @balalay4ik4807 ай бұрын

    I have the grass texture gray for coloring, how do I color it? I realize that I probably need to use a shader, but I don't understand how to use it.

  • @xen-42

    @xen-42

    7 ай бұрын

    Would definitely be with a shader yeah, I'm not actually sure how I'd go about it. Would probably be enough to fill its own video, I'm not really sure how I would do that yet

  • @wonderer-ox2br
    @wonderer-ox2brАй бұрын

    does anyone else get a The type or namespace name 'Dictionary' could not be found (are you missing a using directive or an assembly reference?) error or is it just me?

  • @TheLastPhoen1x

    @TheLastPhoen1x

    Ай бұрын

    using Godot.Collections;

  • @georgehennen
    @georgehennen6 ай бұрын

    Welp, I watched all of this. I am not an intelligent programmer, more of a designer. I just happen to know I have to program so stuff like this helps. If you were interested in working with someone on a sandbox game that isn't just a minecraft clone hmu, I need some help.

  • @mrbonono2951
    @mrbonono29518 ай бұрын

    You should use a match/switch case for the block manager when picking blocks.

  • @zandermclane4868
    @zandermclane48682 ай бұрын

    You should really post the videos in higher video quality, its damn near impossible to read anything you're doing on screen ;-;

  • @xen-42

    @xen-42

    2 ай бұрын

    wdym, I don't get how 1080p is impossible to read

  • @fiftybytes
    @fiftybytes4 ай бұрын

    why do you have to make the source code paid!?!? i can't fix a problem without going back through the video now, it's so annoying

  • @xen-42

    @xen-42

    4 ай бұрын

    food costs money

Келесі