I added water to my C++ Minecraft Clone

Поділитися
Вставка
  • Опубліковано 5 лют 2025

КОМЕНТАРІ • 424

  • @wsalevan
    @wsalevan  3 місяці тому +67

    Hey guys! I hope you enjoyed the video! Quick announcement: When the Discord server gets to 100 members, I'm going to host a mini game jam! The server is so close to 100 already, so if you're interested in the game jam, join the server here: discord.gg/G9zSDfMcZg

    • @anthonywong-b1x
      @anthonywong-b1x 3 місяці тому

      would like to see villages to add more life

    • @Ne4to_Pon
      @Ne4to_Pon 3 місяці тому

      Add sky to your game

    • @albertnotdx
      @albertnotdx 3 місяці тому

      The video was pretty good tbh

    • @nightslayer1581
      @nightslayer1581 3 місяці тому

      Hey may I get your discord I have a few questions I’d really like to ask

    • @budgetarms
      @budgetarms 2 місяці тому

      WSAL meaning?

  • @null-0
    @null-0 3 місяці тому +165

    Minecraft Bedrock at home:
    Awesome video demonstrating the power of C++ :]

    • @theSoulPlayzz
      @theSoulPlayzz 3 місяці тому +3

      I was gonna say something like this but I couldn’t think of a good way to type it so thank you for being better at coming up with thing to say than me ❤

    • @Capi_sigma_pro_coder
      @Capi_sigma_pro_coder 2 місяці тому

      Awsomeway of showing showing off c++? Unreal is written in c++

  • @debianer
    @debianer 3 місяці тому +291

    "It works, but why?" - WSAL, 2024

    • @Nyoof.m8E
      @Nyoof.m8E 3 місяці тому +1

      it's 2024

    • @Alexminecrafter1
      @Alexminecrafter1 3 місяці тому +17

      pretty much every programmer ever, and if i learn java this well be me to lol

    • @elongated_musket6353
      @elongated_musket6353 3 місяці тому +3

      IF IT AINT BROKE DONT FIX IT

    • @Bigleyp
      @Bigleyp 3 місяці тому +7

      Every programmer has said this at least once in the last 3 hours.

    • @KatTheOneAndOnly
      @KatTheOneAndOnly 3 місяці тому +2

      @@Bigleyp I can confirm I just said that cause of some insanely broken code that still somehow worked lmao

  • @angrygamez7750
    @angrygamez7750 3 місяці тому +56

    I love watching this series. Getting to see first hand what developers face while creating what seems a simple game is quite entertaining and inspiring. Keep up the hard work! 😁

  • @Venstras
    @Venstras 3 місяці тому +361

    3:36 Ain't the far lands, that's the fart lands 😭

    • @COWDOBB
      @COWDOBB 3 місяці тому +5

      underrated

    • @seanernst-c7r
      @seanernst-c7r 3 місяці тому +3

      bro got the whole squad laughing 😒

    • @WadbeRoblox
      @WadbeRoblox 3 місяці тому +9

      @@seanernst-c7r i thought it was pretty funny ngl

    • @tibr
      @tibr 3 місяці тому +6

      9:53 shit seas

    • @ACEMesa69
      @ACEMesa69 2 місяці тому

      🍑💨⛰️

  • @NelsonTheAwesome
    @NelsonTheAwesome 3 місяці тому +84

    Honestly I wish we could get videos like this from Mojang for normal Minecraft development

    • @okolenmi7511
      @okolenmi7511 3 місяці тому +15

      In this case it will be a 5 minutes video per month.

  • @iamunamed5800
    @iamunamed5800 3 місяці тому +9

    "why did that fix it" is a mood

  • @K3rhos
    @K3rhos 3 місяці тому +38

    5:39 From experience there is two types of crashes:
    - Crash that make sense and are actual errors in your program (under some conditions or whatever)
    - "Random" crashes generally caused by forgetting about thread sync issues, idk about your project but if you have multiples threads doing different tasks and reading or pushing items inside arrays, make sure you lock your threads using std::lock.
    If you find that your game sometimes randomly crashes and you cannot find out what really causing the crash, this is generally a threads sync issue !

    • @nikkiofthevalley
      @nikkiofthevalley 3 місяці тому +4

      Not in C++. C++ doesn't have as much memory safety as a lot of other languages, so you can easily reference nonexistent data, and get random crashes depending on the random data that's in that spot in RAM. This looks more like they screwed up an index somewhere and it accesses stuff it isn't supposed to.

    • @K3rhos
      @K3rhos 3 місяці тому +7

      ​@@nikkiofthevalley I was actually talking about fully random crashes, the one due to thread sync issues happening at random timing (bcs of data read/written at the same time sometimes). The non referenced data can be easily debugged and found, because reading random data will always lead to a crash, so it's not really what I would call a "random" crash.

    • @nikkiofthevalley
      @nikkiofthevalley 3 місяці тому +2

      @@K3rhos Reading random data doesn't necessarily lead to an outright crash. It could load nonsense data out of view, but as soon as it tries modifying it (which would be random because of the feature system being random) it may or may not crash because it could be allocated but not used memory.

    • @astatic117
      @astatic117 Місяць тому +2

      I just want to add that more than half of my crashes when working with OpenGL that are really hard to debug are caused by memory access issues such as calling a buffer draw with the wrong length. This is made worse by thread synchronization in terms of updating said meshes.

  • @SuperchargedW12
    @SuperchargedW12 3 місяці тому +5

    This might be my favourite type of devlog. I much prefer when the technical side is explored than when jokes are thrown in every second. Would love to see you work on the visuals in the future (AO, shadows, coloured lighting, direct lighting, global illumination, or anything really)

  • @fioletov.y
    @fioletov.y 3 місяці тому +8

    "That's all I have for this episode" I swear this ginormous work

  • @MohsenFarajYT
    @MohsenFarajYT 3 місяці тому +4

    Bro I'm so hooked up to this series that i can't resist not subscribing. Well done! Btw i like your new logo

  • @real_minty_fresh
    @real_minty_fresh 3 місяці тому +5

    I love these videos and the progression so far! Please dont give up, a finished version would be sick! Can't wait for other dimensions

  • @ChaosAttorney
    @ChaosAttorney 3 місяці тому +6

    loving the VODs on YT, and this project so far is looking extremely promising

    • @wsalevan
      @wsalevan  3 місяці тому +2

      Thanks!

    • @ChaosAttorney
      @ChaosAttorney 3 місяці тому +1

      @@wsalevan you're welcome! keep up the work, it's fun to watch how far you've come on C++

  • @squarex8659
    @squarex8659 3 місяці тому +4

    Did I like it?! Dude, I look forward to new videos and news from you!

  • @bibekdas7449
    @bibekdas7449 3 місяці тому +1

    0:24 This is exactly what rice fields look from high ground. I am not kidding.
    You created a rice field in minecraft... A NEW BIOME?

  • @fnFoondu
    @fnFoondu 3 місяці тому +11

    Execellent series. You are a great developer and great editor. Keep going bro (btw i aint a bot).

  • @mxlo4539
    @mxlo4539 3 місяці тому +18

    Now imagine a opensource c++ fully compatible minecraft client. Supporting the whole minecraft protocol, would be awesome.

    • @wsalevan
      @wsalevan  3 місяці тому +31

      That sounds like a recipe for a lawsuit lol

    • @mxlo4539
      @mxlo4539 3 місяці тому +1

      @@wsalevan Yes, I’ve thought that too lol 😂. There’s no crime in dreaming yet 😭 Who knows one day, without the mobile first way of bedrock being

    • @vidal9747
      @vidal9747 3 місяці тому

      ​@@wsalevan If it just accesses the API, Oracle vs Google shows that this is perfectly legal!

    • @okolenmi7511
      @okolenmi7511 3 місяці тому +4

      @@wsalevancreate a product that can be easily modified, create mods for it from different anonymous accounts to make it look like minecraft after installing all mods.

    • @lefloysi
      @lefloysi 2 місяці тому +2

      @@wsalevan Actually, "should" be fine if some things are considered. Most importantly, you cant ship minecraft assets in your own program. Aslong as you dont do that you "should" be fine.
      Unless factorio and minecraft eula are different in certain ways. There was someone who rewrote the factorio engine, with less features, however much much faster and the devs couldnt have forced them not to release it. He didnt release it after he signed an NDA and got factorio source code access!

  • @pollo_frito22
    @pollo_frito22 3 місяці тому +4

    I was watching all your Minecraft videos today and suddenly you gift us with another one, thank you

  • @MarkreplierR-zv5nj
    @MarkreplierR-zv5nj 3 місяці тому +1

    normal programmers: make a 5 minute video explaning an entire development on their game.
    wsan evan: explains for 14 minutes how he added water to his mc clone.
    wsan evan has the best videos on utub.

  • @atheneite
    @atheneite 3 місяці тому +1

    around half a year ago I went through the same journey and seeing you essentially take the same steps is kinda nostalgic already lmao

  • @Astro.-yc6lb
    @Astro.-yc6lb 26 днів тому +1

    Incredible skills brother!

  • @b4con321
    @b4con321 3 місяці тому +2

    i dont understand a singular bit about the code but i just like seeing the bug he has to fix and allat, its just fun to watch lol

  • @minerminer2753
    @minerminer2753 3 місяці тому +2

    The underwater effect... ITS PERFECT!

  • @rigbyb
    @rigbyb 3 місяці тому

    It's sort of a habit to watch Minecraft being continually recreated, but it's still interesting every time

  • @grimgarde
    @grimgarde 3 місяці тому +1

    NIce stuff. Excited to see what comes next

  • @aidandonnelly6976
    @aidandonnelly6976 3 місяці тому +2

    How about working on world weather? Higher up you go, colder it gets. And time of day would be neat. Loving the series so far!

  • @MeLikeApplez
    @MeLikeApplez 3 місяці тому

    Dude this is really coming together. This is so cool bro keep it up bro

  • @dennisfechner7
    @dennisfechner7 3 місяці тому +1

    Amazing Video as always :D

  • @peixeman
    @peixeman 3 місяці тому

    I’m in an entry-level C++ programming course in college, and this video made my nerd brain’s day. Thank you sir

  • @arashi7693
    @arashi7693 3 місяці тому +1

    I'm starting to get pretty invested in this series 😂

  • @Mariollllo
    @Mariollllo 3 місяці тому +1

    great job and good luck

  • @noairdnb
    @noairdnb 3 місяці тому

    Wow, really impressed by your videos. I'd love to see some ambient occlusion in the future :D

  • @paperdeck
    @paperdeck 3 місяці тому

    I can' believe someone added C++ to their Water Minecraft Clone

  • @shadow_blader192
    @shadow_blader192 3 місяці тому +30

    You can disable face culling, so it will draw back faces and you wont need double amount of vertices for water. (Dont forget enabling it after)
    Also cool video

    • @redotix9952
      @redotix9952 3 місяці тому +1

      doesnt disabling backface culling basically just tell the gpu to render the vertices a second time but with flipped normals?
      The end result is the same no? Both process double the vertecies

    • @shadow_blader192
      @shadow_blader192 3 місяці тому

      @@redotix9952 no, it disables check if face is facing camera.

    • @celdaemon
      @celdaemon 3 місяці тому +1

      ​@@redotix9952Not quite, itll skip the backface culling check itself, and all the data stays the same.
      Technically it could be implemented by the driver the way you said it, but its unlikely as that would be unnecessary inefficient

    • @redotix9952
      @redotix9952 3 місяці тому

      @@celdaemon Oh interesting, I wasnt aware, I thought backface culling was a natural side effect of rendering and turning it off requires more processing, not the other way around.

    • @wsalevan
      @wsalevan  3 місяці тому

      The reason I didn't do that is because only the top water faces need face culling disabled, so doing that would mean I would need 2 VAOs and 2 render calls, and I figured that a few extra faces would be better. Maybe I'm wrong, though. I would have to test it

  • @The_Hambone_88
    @The_Hambone_88 3 місяці тому +1

    This is great!

  • @Treqz
    @Treqz 3 місяці тому

    Super underrated channel - really entertaining video! Keep it up! 💪🙌

  • @SGM1066Official
    @SGM1066Official 3 місяці тому +137

    first person who's not evan

    • @nicole8275
      @nicole8275 3 місяці тому +4

      Do you mean even

    • @GoogleDothBetray
      @GoogleDothBetray 3 місяці тому

      ​No, I think they meant evan
      @@nicole8275

    • @EvroTheDevro
      @EvroTheDevro 3 місяці тому +1

      @@nicole8275 No, the UA-camr is named Evan

    • @nicole8275
      @nicole8275 3 місяці тому +1

      @@EvroTheDevro thanks

    • @SoftPankekULTRA
      @SoftPankekULTRA 3 місяці тому

      how os this before the video upload tho

  • @aquss33
    @aquss33 3 місяці тому +1

    gotta love a good sine function

  • @draggedtv
    @draggedtv 3 місяці тому

    been waiting on this video for a MINUTE

  • @WhatsDown
    @WhatsDown 3 місяці тому

    It's so fun to watch you make this project, I'm so glad I found out about this! Do you have plans to add any sort of survival mechanics, and if so, when? Very excited to see where this goes!

  • @Traczu1
    @Traczu1 3 місяці тому +2

    8:54 movies when desert

  • @csiguszfoxoup
    @csiguszfoxoup 3 місяці тому +1

    interesting and fun, love this video

  • @juancamacho2205
    @juancamacho2205 3 місяці тому

    I wish I knew how to code because I've always wanted to do this, it's fun seeing you go through it. I think a nice spin to the minecraft clone idea would be to make the world spherical and not infinite

    • @nerida3347
      @nerida3347 2 місяці тому

      Learning how to program is pretty approachable, in my opinion! 2 years ago I knew nothing, now I'm a semi-competent hobbyist.
      Your first language will be hardest. Pick an easy one like python. But after that, things will go way smoother for you, as you will understand the concepts behind things and various data structures and such, and can fairly easily translate that knowledge to any language
      And don't forget the importance of feedback. Not just AI, but real human feedback on a forum or similar if you're stuck

    • @juancamacho2205
      @juancamacho2205 2 місяці тому

      @nerida3347 I will keep that in mind, thank you!
      I took a class on c++ data structures so I know the barest minimum of code, but coding an app or a game or anything more advanced than a glorified calculator is still so incredible and unapproachable to me. Where do you suggest I could start?

  • @Wooofooom
    @Wooofooom 3 місяці тому +1

    add jumping & placing & mining & block collision!

  • @demetriojunior164
    @demetriojunior164 3 місяці тому +1

    I'm mesmerized.

  • @thearizonaranger7376
    @thearizonaranger7376 3 місяці тому +1

    "I got this wrong, I have no idea how it worked"
    Story of my life coding lmao

  • @niklavs14
    @niklavs14 Місяць тому

    Wow a yt programmer that actually uses abstraction :D
    Thats a sub from me

  • @Dude2dsofficial
    @Dude2dsofficial 3 місяці тому

    Just got recommended this after watching Phillips dev log on HIS Minecraft clone, lol

  • @omri.h
    @omri.h 3 місяці тому

    i read the title as "I added C++ to my Water Minecraft Clone" at first and I was SO confused
    crazy vid

  • @PokeNebula
    @PokeNebula 3 місяці тому +2

    Bro whatever the hell you’re doing, you’re doing good work. Make sure to pace yourself, too many creators get burned out making quality creations as fast as this.

    • @wsalevan
      @wsalevan  3 місяці тому

      Thanks! So far, this seems to be a pretty good pace for me

  • @Ryans_seife
    @Ryans_seife 3 місяці тому

    Bro created the stripe lands! 9:48

  • @RealUnHoly
    @RealUnHoly 2 місяці тому +1

    bro made microsoft paint, in minecraft, in C++
    Legend

  • @lazerpie101_A
    @lazerpie101_A 16 днів тому

    hey, I skimmed your chunk code a tiny bit, and I don't have too much C++ experience, but if I read it right, you have a thread for every single chunk. That's extremely expensive. I'd recommend having multiple threads per chunk and also looking into thread pools.

  • @ElectricoGamez
    @ElectricoGamez 3 місяці тому

    If infinite generation is ever added to this pet project, I really hope we'll get to teleport to the farlands.

  • @fexio1
    @fexio1 3 місяці тому

    11:45 good idea for extra settings

  • @BrentLoaf
    @BrentLoaf 3 місяці тому

    i cant wait for him to realase this game it looks so good

  • @proyer2508
    @proyer2508 3 місяці тому

    Bro you are the best u literally making a new better bedrock edition, all of these in your first entry to c++ , if i had money i was going to donate 40 dollars ❤❤❤❤

  • @ghost-animation-YT_gg
    @ghost-animation-YT_gg 3 місяці тому +2

    I love your Minecraft

  • @Cxrruptwd
    @Cxrruptwd 2 місяці тому +1

    minecraft in C# is so good.

  • @Clakee
    @Clakee 3 місяці тому

    cool project !

  • @EndoTheBear
    @EndoTheBear 2 місяці тому

    looking at the water shader, i wonder if its possible to make a shader behave like the water shader in terraria, where it interacts with objects and entities. I think you do that by using a movement buffer but I might be wrong.
    Anyways, I found this video series recently and I think the way you narrate and show stuff is really cool and comprehensible, at least for me(I have some coding knowledge but I'm not that familiar with the apis you are using).
    I will watch the other videos and start to follow this project, its very interesting.
    Keep up the good work :D

  • @benceseger7748
    @benceseger7748 Місяць тому

    I wish Minecraft was an open source community project. Maybe one day.

  • @Thurzin_hz
    @Thurzin_hz 3 місяці тому

    This channel so fun ngl
    It reminds me of the funny videos I used to watch.

  • @alexandresilkin5494
    @alexandresilkin5494 2 місяці тому

    fr ur a programming monster :0

  • @darkling-studios
    @darkling-studios 2 місяці тому

    as someone who has never seen any piece of c++ code in my life... neat

  • @aamir5484
    @aamir5484 3 місяці тому

    So cool!

  • @azogderschander6391
    @azogderschander6391 Місяць тому

    This is pretty cool

  • @dr33dzmusic
    @dr33dzmusic 3 місяці тому +2

    I didnt understand anything, but its fun to watch

  • @Robert-cn8bh
    @Robert-cn8bh 3 місяці тому +1

    Very cool

  • @thesadchicken5256
    @thesadchicken5256 3 місяці тому +1

    I feel like finally being able to walk around would be cool, it's a bit of a jump though (no pun intended)

  • @AnnasVirtual
    @AnnasVirtual 3 місяці тому

    3:14 that's my opengl experience right there

  • @MrBadWithNames
    @MrBadWithNames 3 місяці тому

    nice water, gotta love a sine-wiggle

  • @px9720
    @px9720 3 місяці тому +1

    very cool

  • @gamebaker2
    @gamebaker2 3 місяці тому

    Awesome now make the water flow

  • @rheynnanvictorpereirasanto8808
    @rheynnanvictorpereirasanto8808 3 місяці тому

    Great video

  • @Drifys1
    @Drifys1 3 місяці тому +21

    microsoft already made minecraft in C++

    • @renrenrayo
      @renrenrayo 3 місяці тому

      Yep, people dont know bedrock edition is written in C++, no wonder why his is just as buggy...

    • @Drifys1
      @Drifys1 3 місяці тому

      @@renrenrayo go find out what the unedited one said

    • @d3stinyroblox
      @d3stinyroblox 3 місяці тому

      This one is a minecraft clone

    • @d3stinyroblox
      @d3stinyroblox 3 місяці тому

      @@Drifys1 but the same company developed it

    • @Kalb3e
      @Kalb3e 3 місяці тому +4

      ​@@Drifys1 bedrock is not a clone of Java it is a version of Minecraft just like java

  • @asdru
    @asdru 3 місяці тому

    This is the kind of video you watch while eating 💯👍

  • @сісну
    @сісну 3 місяці тому +1

    Love the videos!! Keep up the work bro🔥 One question tho, can you stream on YT pls?

  • @dennism3586
    @dennism3586 2 місяці тому

    If you make the waves based on a continuous 4d perlin map (3d for waves + time dimension) you might get better waves! annoying part would still be fixing the seams

  • @oxayafan29
    @oxayafan29 2 місяці тому

    at 12:39
    if you made it faster you could use it as nausea if you ever get that far

  • @Minecraft_Xbox_1_edition
    @Minecraft_Xbox_1_edition 3 місяці тому

    wake up funny coder man is back

  • @Shinous.
    @Shinous. 3 місяці тому +2

    Cool

  • @dansamarco1610
    @dansamarco1610 20 днів тому

    I don't know how to fix your mesh issue BUT I wanted to let you know that perlin and worley noise are both great ways to generate water waves.

  • @approt7881
    @approt7881 3 місяці тому

    There you go

  • @deilos
    @deilos 3 місяці тому +1

    love ur videos! cant wait when will be new video :D

  • @irolup
    @irolup 3 місяці тому

    You should add PBR materials (Sending arrays) of materials to the frag shader like adding every texture needed (diffuse, normal, ao...) for the regular block if not implemented yet

  • @Secretalim
    @Secretalim 3 місяці тому

    You can add soft lighting and make the grass texture more like the newer versions of Minecraft. 👍

  • @beanmchocolate3900
    @beanmchocolate3900 3 місяці тому

    I’ve got an idea to make the water look more unique. Remove the texture, have it render as a solid color. The low parts of the waves render darker, and the high parts of the waves render the brightest, giving a fake reflective look. Also, try making the waves more noisy for even cooler looking results.

    • @beanmchocolate3900
      @beanmchocolate3900 3 місяці тому

      Alternatively, add a specular shader to the water.

  • @jankam
    @jankam 3 місяці тому

    Another banger

  • @kuil
    @kuil 3 місяці тому

    It would make perfect sense for sea level to be Y=0. Then underground would usually be negative and above ground would be positive.

  • @Crvstal8100
    @Crvstal8100 3 місяці тому +1

    Evan, baby...

  • @SamsonGrey-y6b
    @SamsonGrey-y6b 3 місяці тому

    adding psychedelics to minecraft at 8:55

  • @Banjimate
    @Banjimate 3 місяці тому

    Its funny that his game isnt playable yet he decided to give the water a shader

  • @EliasWolfy
    @EliasWolfy 3 місяці тому +1

    When you feel satisfied with the engine, please try to create more games on it. 😭🙏

  • @cod.yiscool_
    @cod.yiscool_ 3 місяці тому +1

    You should try to add a player movement system so you can actually walk and run around instead of just flying. It would be cool if you could start/stop flying by double-tapping space

  • @emir.unreal
    @emir.unreal 3 місяці тому

    yo before adding more stuff i think adding sky to your game would be so cool including some clouds too

  • @waterisblued7764
    @waterisblued7764 3 місяці тому

    Maybe add Day and night Cycle next, keep up great work!

  • @krinjii
    @krinjii 3 місяці тому

    Evan you ddi a good job!!!

  • @eliteengineer7340
    @eliteengineer7340 3 місяці тому +1

    The lighting is so cursed lmao

  • @daroso_1296
    @daroso_1296 3 місяці тому

    "Guys I made Microsoft paint" got me dying