"My solution was to just not do that" Words to live by; seriously though, so much of programming in video games really is choosing your battles, especially concerning stuff that doesn't really matter.
@l4zy_jake Жыл бұрын
13:00, "Threads are like children..." ROFL!
@xen-4211 ай бұрын
Was really wild randomly getting a video recommended and then seeing some very familiar looking chunk code, lol. Really cool project, glad the mesh generation tutorial was helpful!
@SDGGames11 ай бұрын
Hey, my first comment from a famous person :D Yeah, I usually try to do these videos without any prior knowledge, but I had already watched basically every Minecraft video before starting this one, so I was a bit spoiled on the challenge. Thankfully, there are a lot of problems in Minecraft beyond drawing chunks.
@GerinoMorn11 ай бұрын
Premature Optimisation is a problem that affects many senior developers...
@blisterfingers81692 жыл бұрын
Worth mentioning that GDScript really isn't designed for this kind of application. The Godot ethos seems to be more that GDScript is for game logic and anything performance critical like this should be done using C++. That's good if you know C++. Not so good if you don't. The Mono version is nice middle ground, performance wise, but then you have some other issues to deal with. Curious to see how well it's implemented in Godot 4.
@SDGGames2 жыл бұрын
Good point, that's exactly why I decided to do a part 2. I'm both excited to learn how to compile gdnative (I know C++, but I haven't compiled for Godot yet), and curious to see how Godot 4 compares, if there is any real difference. I also think it's worth looking at exported gdscript bytecode, it could be faster if it's optimized during export. I saw a discussion on the Godot GitHub (issue #3760) about in-lining small functions, which wouldn't be seen when running in the debugger, but would affect release builds. My slowest function from profiling is a check that can be in-lined.
@Barnaclebeard2 жыл бұрын
Learning C++ is far less difficult than writing a game that requires it.
@rhakka Жыл бұрын
@@SDGGamesI know this is a pretty old video (and thread), but I just want to point out that this is inspiring me to do the same thing. I've written similar code in other engines (and attempted in Go + OpenGL, which was completely overwhelming to get past just rendering chunks). I think I'm going to work on doing this in gdscript first, then looking over the (basically) standard godot_voxel code to see how hard it would be to rebuild that myself (this is all education, not trying to build a clone to turn into a marketable game, at all). I do want to say specifically that I appreciate these kinds of discussion videos. I'm an app developer by day (for over 25 years now (I'm old)) and love doing things that are still creative and code related, but completely unrelated to what I do to get paid. :) Very lucky to have found your videos. I love the format. I've watched a lot of SimonDev videos and they're very similar (in case you've never seen them @SDSGames). Not tutorials, but more discussing theory by going over iterations of code. Anyway.
@MuffinMan_Ken2 жыл бұрын
For the trees, I think I would have used a noise texture combined with a high-pass filter (basically just a curve where everything is zero except right at the top). That way you wouldn't have needed to "special case" it as much.
@MuffinMan_Ken2 жыл бұрын
Still, impressive for a day's work!
@SDGGames2 жыл бұрын
Yeah, I was thinking in terms of logic (if-else), not functions (lerp, min, max, etc.) I was actually doing linear interpolation by manually multiplying values by X and 1-X. I finally realized that there was a mathematic function to do exactly what I was trying to do manually. There's probably a lot more mess I could clean up if I started thinking in terms of filters and functions.
@GerinoMorn11 ай бұрын
Listening about threading: it is certainly biased opinion, but if Godot allows it (and why wouldn't it), using C# instead of Godot Script would give you access to a huge library of everything you might want to do with threads, usually ready-made for you. ConcurrentBag ConcurrentList ConcurrentDictionary etc. which e.g. provide resolution to those common structures being used by many threads. Or Channel that can work as a producer/consumer pattern with e.g. blocking on write if queue too long, or allowing arbitrary number of readers etc.
@Rojo-Drakoxon Жыл бұрын
Wow, very cool!!! ❤✨
@blox61802 жыл бұрын
good minecraft version *totally doesnt lag your pc!*
@SDGGames2 жыл бұрын
Back in my day, Minecraft lagged every PC and we liked it that way! Actually, I do want to try adding TNT just to see how it handles...
@blox61802 жыл бұрын
@@SDGGames bro.. yes, add tnt😁
@blox61802 жыл бұрын
@@SDGGames ooo i never knew that it lagged your pc back in you day
@generrosity2 жыл бұрын
Nice video! Welcome to the Godot beta releases
@SDGGames2 жыл бұрын
Thanks! I'm excited, I've been watching Godot 4 for nearly as long as I've been using Godot 3.
@Voazar2 жыл бұрын
good job 👍
@GerinoMorn11 ай бұрын
I've been doing some experimentation and implemented player controller with ALL steering relative to the player, i.e. up is wherever your "top of the head" points, plus usual mouse look. That was the most unplayable thing I've seen in a long time xD It's only when I made up/down to be absolute (pure Y vector) it felt like "every other game".
@thomasbjarnelof21432 жыл бұрын
A Question: Do you have all blocks generated to the GPU ? As I understand it, Minecraft only sends surfaces that are transparent or next to transparent blocks to the GPU. When you digg out a block the surfaces next to that block are inserted into the game.
@SDGGames2 жыл бұрын
I forgot to talk about that part, but no, it's not drawing every block. It's only generating visible faces for each chunk, though I am generating the entire outside of each chunk. There are some faces I can still remove.
@Pov-p9cАй бұрын
How to make a game on Minecraft this year?
@DatYouTubeGuy2 ай бұрын
What about different biomes?
@manuelnaim92062 жыл бұрын
what are the specs of this game?
@SDGGames2 жыл бұрын
It really depends. I just updated the version on Itch, and that can work with a dual core CPU and one gig of ram on the low end. For the final version in this video, my 8 core CPU was struggling to keep up with chunk generation, and I was pushing 40-50 gigs of ram. Optimization helps a lot!