You need simple block based ambient occlusion and different lighting per surface normal. That should help the classic Minecraft look.
@TheTinyCreeperGaming2 жыл бұрын
@@noname_hacke_9747 Bro is trying to make a minecraft clone and make it look different
@voxelrifts2 жыл бұрын
True
@gabrieldelatortilla12 жыл бұрын
SMOOTH LIGHTING IS THE SECRET BRUH FR
@DrawsRene2 жыл бұрын
@@TheTinyCreeperGaming RECREATED not cloned.
@dragonheart99652 жыл бұрын
7:20 that seems to be the way minecraft actually does it. In the debug screen it has separate values for sky light and block light.
@newe60002 жыл бұрын
Not only that, but back in the day Minecraft also did it the naive way! It used to have to update every chunk on screen to perform the day/night transition. This caused a very visually noticeable ripple as chunks in your field of view updated, and sometimes even caused a bug where far away low priority chunks would still have daylight light levels during the night. Not to mention the hitch caused by having to recalculate all of the lighting in all visible chunks tens of times during the transition. They fixed this during the Alpha or Beta, by implementing the separate block and sky light levels, allowing the visual daylight of chunks to be changed in real time with no recalculation of light levels.
@Niker1072 жыл бұрын
@@newe6000 Yep! Good old days where you could see the whole world break up into square chunks as they all tried to update and get darker. I believe this was changed in the pre-release of Beta 1.8, which also prettified the game in some other ways. And it allowed for colored light too! So the sunsets turned orange.
@Volkswagen_Yeetle2 жыл бұрын
Pretty sure he knows this as he explains the system in a Minecraft video from a year ago lol
@asherhaun2 жыл бұрын
Wooohooooo! Been waiting a while for this one, I wasn't able to join too many streams because of timing so this will be fun to see how you did it.
@CarlossInsurance2 жыл бұрын
Wait you're here too?
@asherhaun2 жыл бұрын
@@CarlossInsurance hey carlos lol
@BinkiklouGaminglol2 жыл бұрын
hopson gang
@breh27162 жыл бұрын
When i see a game developer making anything without an engine, i see him as a god, good job on the quality of the vid too, you are getting places
@nightshade70922 жыл бұрын
How do you not have hundreds of thousands of subscribers already? I didn't glance at your sub count before I watched this video, but the quality is insane for such a small channel. Good job dude, seriously
@GamesWithGabe2 жыл бұрын
Thanks Night Shade! It's always great to see such encouraging comments like this :D
@cleanlens2 жыл бұрын
@@GamesWithGabe do you like monke?
@quantumdeveloper27332 жыл бұрын
8:12 [shows working transparency] That's actually pretty advanced. Why didn't you talk about it in the video? Working on my own minecraft clone, that's one of the harder problems I have. How did you do it? Is it resorted every frame and reuploaded to the gpu? (If yes: Isn't that like super slow?) Or do you do fancier stuff like using instanced rendering for transparent blocks, to avoid uploading the chunk meshes again and again? Or is it maybe even done in the shader using depth peeling? Or are you just lazy and use a commutative blend function?
@emmettpeck38532 жыл бұрын
He loosely goes over this same struggle in his original video, as this is a continuation video of his "Minecraft in 2 days" Project.
@emmettpeck38532 жыл бұрын
I actually got confused, mixing him up with another youtuber. This video covers transparency as a challenge, if you're interested kzbin.info/www/bejne/aoCTkGBng8aKpLs
@GamesWithGabe2 жыл бұрын
Hey Quantum Developer! I was thinking about going in depth about the transparency, but I plan on doing a whole series where I do a deep dive on each of these issues, and this will be something I'll cover in that series. But, I tried really hard to be a lazy developer and it just didn't look good enough, so I had to go to a more advanced technique. I tried resorting every frame, and that's not as bad of a performance hit because the way I submit the draw calls to OpenGL is using the glMultiDraw*Indirect function, which means I can just resort the draw calls and resubmit a small command buffer to OpenGL and that will resort the order that you draw the geometry in. Unfortunately, resorting the geometry every frame doesn't work for *everything* because if you have two glass blocks in the same chunk that have been meshed together they'll break unless you sort based on the fragment position. I eventually found some really good articles about Order Independent Transparency, and that's the route I took. Once I got it working right, you don't even have to reorder transparent geometry and it still looks correct. You do have to separate solid geometry from "blendable" geometry though when you draw everything, otherwise it won't look correct. I followed this tutorial to implement OIT: learnopengl.com/Guest-Articles/2020/OIT/Weighted-Blended Best of luck with your clone as well! :)
@quantumdeveloper27332 жыл бұрын
@@GamesWithGabe Wow, that's a clever algorithm. I like how they faked the overlap using a z-dependant weight. Sadly it doesn't work for me though :( I am using volumetric fog, and that requires knowing the distance between the front and the back face of a volume. Although I might have an idea how I can adapt it for that as well...
@ZentaBon2 жыл бұрын
@@GamesWithGabe lazy? ya mean efficient 👀
@gladiusso2 жыл бұрын
You are seriously underrated. And I truly mean that. You're unique, your dedication to your content shows, you care about your viewers' time and their interests, I can tell you're not here for views or popularity. Keep doing what you love doing and don't *ever* let anyone tell you otherwise
@kjpg74132 жыл бұрын
Thank you for teaching modern noise! Even as only a brief mention of what you used, it really does help the field move forward. The section on pinned graphics memory was enlightening too, and I'm definitely going to look into how that may apply to the current projects I'm contributing to.
@gamesuarx2 жыл бұрын
This is so cool! Maybe, as this little project progresses, you'll eventually be able to make it into a game of its own, not just a recreation of Minecraft.
@HeavyHouse242 жыл бұрын
Only in months. God damnit. That just show how tough Minecraft is
@GamesWithGabe2 жыл бұрын
I think you're the first person who picked up on this lol. Everyone else thinks I'm saying it was easy to recreate Minecraft XD
@Richard-hm2cc2 жыл бұрын
Awesome work, Gabe. I’ve been replicating the code from your java 2d game engine series in C++ and this can only make me more excited! Something I would recommend is that if you’re using the official minecraft textures/fonts you should replace them with something else so that you don’t get into legal issues. If you’re already using your own assets just disregard what I just said.
@4zmc2 жыл бұрын
Amazing editing. All those animations don't go unnoticed. Nice work!
@GamesWithGabe2 жыл бұрын
Thanks Foursy! And I'm glad you liked the animations, they did take a big chunk of time :D
@jukit39062 жыл бұрын
A better way of implementing lighting is to not modify skylight on night time, but instead of a factor (mineraft calls "internal skylight") that gets modified during night time as an uniform and that will be multiplied to the skylight in the vertex shader. That way the day-night transition will look smoother, and prevents costly light updates.
@sh_4016 Жыл бұрын
I really love the lighting system of the game because it looks like real minecraft!
@UliTroyo2 жыл бұрын
I love Minecraft clones. I have watched almost every voxel engine demo on KZbin. I love to see what people choose to implement and how. It's akin to song covers.
@itsrainingnans21872 жыл бұрын
MY GOD IVE WANTED SOMEONE TO DO THIS FOR AGES MAN
@Hamox2 жыл бұрын
Awesome video! I am really happy that your channel finally blew up!
@SuperGrimmy2 жыл бұрын
I also made minecraft kind of clone. Most people just generate some small voxel, do simple collision and add block placement/removal. HOWEVER.. when you start moving past the basic features you really start to understand the complexity.. and also possibly inflict yourself with a slight obession about all these topics. It's a roller coaster of frustration and joy. "Infinite world" with chunk loading/unloading, transparency, all kinds of optimizations, chunk generation, chunk/patch poly reduction... and that's only scratching the surface.
@GamesWithGabe2 жыл бұрын
I absolutely 100% agree. So many people dismiss the amount of effort for seemingly small games. Heck, building a full NES Super Mario clone is a solid month of work at least. I really appreciate it when people realize the amount of work and dedication that goes into a game :)
@joeyreinhart88202 жыл бұрын
I'm only a few minutes into the video so maybe this is brought up later, but a large texture atlas is actually how the real Minecraft used to store it's textures, you probably knew this if you ever made a texture pack for old versions of the game. Nowadays the textures are all individual images, except they're not. Minecraft actually stitches all the images together into a texture atlas at startup, even in the latest version.
@lotgc Жыл бұрын
I'd love to see you develop this further into its own game. Minecraft has had the monopoly on voxel sandbox games for way too long, and I think because of how far removed modern Minecraft is from beta Minecraft, there's a nice audience waiting for that kind of classic Minecraft feeling. You should take advantage of Mojang/Microsoft self-sabotaging their own game while you can.
@NaudVanDalen2 жыл бұрын
Gabe: "Why Minecraft is a Technical Feat" (Feb 17, 2020) Also Gabe: "I Coded Minecraft in *Only* 3 MONTHS!!!! " (Nov 15, 2021)
@Aldraz2 жыл бұрын
It's amazing man, good job. But I have to say that the only thing I care about when I see clone projects of MC is how much better is the performance and if it's even better. Because the ultimate dream is to essentially create a minecraft with a pixel sized voxel, but that's just too computationally intensive.
@brick43532 жыл бұрын
dude, i love seeing stuff like this, keep up the great work!
@G_Matto_shorts11 ай бұрын
This copy game is really well made, and you can actually explain stuff very well, and i can actually understand what you are saying without any coding experience! Extremely underrated
@springwolve42542 жыл бұрын
Yikes I just realised mid way that this video only has 500 views... I was really sure it must be one of those 450k views or something... Keep up the great work ;)
@lauris5275 Жыл бұрын
As a person learning frontend for a long time. And now learning java for about 3 weeks. This still looks like a magic to me.
@jor24162 жыл бұрын
This video is going to blow up for sure
@TitanTubs2 жыл бұрын
YEAH GAMERS. He did just drop a new Minecraft. 🔥 Seriously though walking someone through this with unity would be great. Even just a code walk-through explanation should be quite valuable to me, whose literally just made 2d shooters and 3d controllable spheres.
@NunyaBizznezz69692 жыл бұрын
Subbed. I love that you touched on multithreading, you touched on benefits of c++ to manipulate low level... You sparked interest that drives me to learn other things. This is what I like in my subbed stuff.
@scampernoodle67572 жыл бұрын
Great game! You should add more to it!
@tracy4492 жыл бұрын
Could you do a very specific tutorial on how the lighting works, like with code examples? I am making my own voxel engine and would like to understand this better. Thanks for the video! :)
@UngelisteteVideosvonExes Жыл бұрын
EXTREMLY NICE VIDEO!!! BUT: pls show sometimes more of the process, for example when u are creating the hotbar or so
@Kalightortaio2 жыл бұрын
I've been struggling to write a 3d renderer in OpenGL for weeks, this is going to be so helpful to pick apart and learn from!
@iamalsoaduckhead2 жыл бұрын
channel got blessed by the youtube algorithm congrats man
@VoylinsLife2 жыл бұрын
I'm looking forward for the LWJGL 3D tutorials, you do such an amazing job with the quality of your videos!
@محمدشريفعدلى-ل3م2 жыл бұрын
This clone is the most Original minecraft like.. among all other minecraft clones out there
@unyxium2 жыл бұрын
Finally someone is going further with the idea of a Minecraft clone. One of the things that'll really make this one stand out from the rest is the addition of ambient occlusion on the blocks. If you manage to add it, there will be a very noticeable improvement to the visuals of the game.
@GamesWithGabe2 жыл бұрын
Thanks for the comment unyxium! And yea ambient occlusion is on my TODO list, I've just been lazy and have been implementing more "fun" features haha
@SENTRY4561232 жыл бұрын
OMG THIS IS THE TRUE MINECRAFT CLONE I WAS LOOKING FOR
@felixstrau78802 жыл бұрын
Well done! And good video editing :) You mentioned this article about the lighting. Would you mind sharing it? Working on a Minecraft clone myself using direct3d and c#. Hording tons of Minecraft related information :D
@GamesWithGabe2 жыл бұрын
Thanks Felix! And yea I probably should have included that article, but I just updated the description with the links :D. Good luck with your clone also!
@georgigeeksky83492 жыл бұрын
That's so much work man! Amazing!
@zethzz35242 жыл бұрын
Amazing video with great quality. I've never heard of this channel before, and just 1h after its uploaded its in my recommended for some reason, and probably in others aswell. You're gonna blow up, and you deserve it, keep this amazing quality up, and you gonna get big quick
@hunterr.23332 жыл бұрын
Holy hell this is impressive, as a comp sci student at university I understood...1/2 of it lol
@xxtwo_trickyxx55222 жыл бұрын
Watching you add all the code and make the game and then I seen the end result it brought back wonderful memories when Minecraft first came out😍😂
@SeLineStudio2 жыл бұрын
i was also disappointed with other "i coded minecraft" videos but this one is good
@SuboptimalEng2 жыл бұрын
Awesome video with concise explanations, I need to take some notes! Quick question, did you use 3b1b's manim library for the animations?
@GamesWithGabe2 жыл бұрын
Thanks! And I did use 3b1b's community manim library :)
@Shredzy7152 жыл бұрын
@@noname_hacke_9747 why are you commenting so much
@malkmusl2 жыл бұрын
Awesome Video bro! I have been looking for good tutorials in this area for some time. I would be very happy if you continued to make videos about the project
@drinkwatrr98832 жыл бұрын
Another amazing video, rly hope your channel blows up soon
@cineblazer2 жыл бұрын
never seen your channel before, but this video definitely earns a subscription. impressive work!
@pacco76412 жыл бұрын
At this point the "I decided to do something that's never been done before" is a very cool meta-joke because the joke itself has been made thousands of times before, and refers to doing something and pretending it's never been done when it's very common. Just like this joke.
@Dorado-r5b Жыл бұрын
I think your next challenge should be porting you fan version on the Nintendo Ds
@happygarlic13 Жыл бұрын
Great stuff, wouldn't have thought that multi threading reduces the RAM requirements of chunk loading... But I guess it makes sense *hmmm
@theneonbop2 жыл бұрын
I think an FOV slider should be added soon because it looks a bit zoomed in most of the time in the video
@Rimtay2 жыл бұрын
Awesome video. Great fan of Minecraft and programming, I'll be back :)
@veryupstandinguy2 жыл бұрын
fell in love with a new youtube channel
@robertwide65922 жыл бұрын
never imagined creating minecraft was that huge of an achievement
@joysaha39272 жыл бұрын
Wowww..Looks awesome!👏👏👏 Have to learn this from you! Waiting for your minecraft making tutorials! 😇
@Berdi_2 жыл бұрын
More videos about this would be cool :D
@CarlossInsurance2 жыл бұрын
Very interesting video! It was incredibly well edited based on your channel size. I wouldn't be surprised if more of your videos blow up in the future.
@JoseRomagueraM2 жыл бұрын
This channel is a gem. Keep working on it!!!
@ai-spacedestructor Жыл бұрын
avoid loosing stream footage by setting up your twitch channel to automatically record, then if you loose any manual recordings you can just download the copy twitch made. plus it has the advantage people can watch it later if they missed it.
@nikki-deprecated2 жыл бұрын
Looks great so far! Sucks I've not been able to catch the streams
@JazzyWaffles2 жыл бұрын
This is pretty good! Hoping to do this myself one of these days, once I'm more comfortable with coding.
@Invalid-user13k2 жыл бұрын
I thought Minecraft ripoffs have been before. And this great and different.
@kaviscorea83022 жыл бұрын
I'm looking forward for the tutorials! I want to make a minecraft inspired game, so it'd be a huge help :)
@ben_the_potato2 жыл бұрын
Wow, very interesting vid, you earned my sub
@vb0t4292 жыл бұрын
I cant wait for people to start speedrunning this
@falxie_2 жыл бұрын
Smooth lighting would make it kook like modern Minecraft
@DisorientedDeveloper2 жыл бұрын
I would love to see some updates on this clone. it sounds really cool
@ashlyy13412 жыл бұрын
giant image of all textures, block ID and YAML data? brings me back to the 2012 days when half doors, woodcutting shovels and fireproof planks existed, and texturepacks were simple I think java Minecraft uses triangles to calculate everything? and renders everything twice bc notch is as bad a programmer as he is a person. idk if that's changing in the new update or not as they're rewriting lots of code
@itsbro95272 жыл бұрын
It'll look really cool with more biomes! (if you haven't done it yet)
@simonlindgren97472 жыл бұрын
Great video! I got the game working on linux through wine.
@pieTone2 жыл бұрын
Jdh has a pretty good clone. But If you continue, you will make a better version of minecraft
@steffelix982 жыл бұрын
this is a good ass video man! keep it up you'll get there
@icebear36272 жыл бұрын
Just Awesome!!
@ZimmoYT2 жыл бұрын
Great work hope this gets more views!
@EddyVinck2 жыл бұрын
I'm a web developer but these videos are just so interesting and entertaining for me. Keep it up!
@That_0ne_Dev2 жыл бұрын
Hitting that bell for when he uploads updates
@mwbgeometrydashpcaccount63722 жыл бұрын
WAY TO GO FOR 10K SUBSCRIBERS!
@MaxPlayle2 жыл бұрын
This guy is about to make a clone of Minecraft, which is better than the actual one.
@finlayl25052 жыл бұрын
An interesting video, I made a Minecraft in c++ clone a while ago but dropped it in favour of making mods. I don't understand how you were ever using 32 gb though, 12 chunk render distance should be (16*25)^3 only 64 million blocks
@GamesWithGabe2 жыл бұрын
The reason I ended up using so much RAM was because I was sending like 3 floats per vertex for position, 2 floats per vertex for uvs, and 4 floats for a tint color. I also wasn't culling faces between chunks which made me use up a ton of RAM to calculate all the vertex data. But I eventually compressed all that :)
@AJ213Probably2 жыл бұрын
can't wait for when you try the greedy mesh algorithm haha
@kapeshaha2 жыл бұрын
03:36 what song it brings so much nostalgia but cant remember exactly what it is
@acorgiwithacrown4672 жыл бұрын
Wow, very well done, super cool.
@edward31902 жыл бұрын
recreating minecraft NEVER been done before!
@stefix16152 жыл бұрын
Alright, try adding survival now. (Certain blocks take longer to break, Health and hunger, Mobs, Limited resources) Also new subscriber :)
@ThylineTheGay2 жыл бұрын
7:08, so like how minecraft does it
@MarkMYoung2 жыл бұрын
I want that texture atlas as a quilt!
@Snowmanver22 жыл бұрын
Enjoyed the video, thanks!
@leftofzen2 жыл бұрын
This is not Minecraft; Minecraft is a game, this is a tech demo. There is a huge difference.
@stickguy91092 жыл бұрын
This can be a perfect play store Minecraft knock off
@rubenuijtde2 жыл бұрын
Woww I only just saw your way too low sub count after watching the video. Amazing quality!
@nothcial2 жыл бұрын
Another great find
@ufg_2 жыл бұрын
This is soooo impressive
@Maxyk9 Жыл бұрын
I'm so happy to see an in depth clone like this. I was curious for your lighting, you said you take your highest value around a block and subtract 1. How does this work? Like this makes sense till I think that I'm iterating through and start with 15 the the next block goes 14 then 13..... like what am I not understanding to prevent it from decrementing in the open where the value should all be 15/14. Thanks.
@GamesWithGabe Жыл бұрын
Hey thanks for the comment! And the algorithm is a bit different when it's skylight. Skylight is considered any block that has no blocks between it and the max y level. If a block is skylight then it just takes the max light level and as night time comes along it subtracts the night time values. Then when it hits a non-skylight block, it does the flood fill algorithm that you were explaining :)
@Maxyk9 Жыл бұрын
@GamesWithGabe Ah that makes total sense thank you so much for the explanation.
@enteren7716 Жыл бұрын
Did you use open tk? I have coded a minecraft clone myself in Java in the past and am thinking about attempting it again in c#. Thanks for the cool video (:
@ripooof Жыл бұрын
didnt do the Minecraft font justice
@svenfruiti4942 жыл бұрын
This is insane... I want to do that too, just to learn coding
@tefazDK2 жыл бұрын
Beautifully executed.
@witChaos2 жыл бұрын
Bro I watched some of your videos in physics 2D engine. Please make some tutorial in C++ too!!!
@DevNugget2 жыл бұрын
Great video Gabe, some amazing work you've done here! Now remake the unviverse :p