Optimizing My Minecraft Clone With GREEDY MESHING

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • In this devlog of remaking minecraft in java, I add index buffer objects, vertex compression, and greedy meshing to optimize the VRAM usage of my game.
    Music used:
    About Town - Professor Layton And The Curious Village Soundtrack
    Gant's Bar - Professor Layton And The Curious Village Soundtrack
    Pokemon Black & White 2 OST Aspertia City
    Useful resources:
    LibGDX: libgdx.com/
    Learn OpenGL: learnopengl.com/
    Greedy Meshing: 0fps.net/2012/...

КОМЕНТАРІ • 660

  • @xDLiLi1337
    @xDLiLi1337 Рік тому +1169

    In the future, Please add an LOD system using a system where it samples only a few blocks inside of a chunk at large distances, with the amount of samples being dependent on the LOD level, and decreasing the further the level is. An LOD system is good for performance at large render distances, and a rough terrain generator would be amazing for generation speed with large render distances.

    • @BombMEE
      @BombMEE Рік тому

      ^

    • @UKMDI
      @UKMDI Рік тому +18

      hell yeah

    • @oulajuusola5093
      @oulajuusola5093 Рік тому +26

      THIS IS WHAT WE NEED

    • @flobuilds
      @flobuilds Рік тому +2

      Just use the max render distance

    • @nikolabozhkov4758
      @nikolabozhkov4758 Рік тому +62

      He said in previous video that he is gonna implement it in the future but for now there are more important things to focus on

  • @Magicwaterz
    @Magicwaterz Рік тому +76

    If you do ever attempt to add rivers, I'd just like to say that rivers start out up high in the mountains as small springs.
    Minecraft's rivers at first were used to divide biomes to reduce harsh borders, and they tend to be shallow. Nowadays, these are decently sized but a lot of the times these are too deep, but still maintain the same purpose. Since these still maintain the same purpose, it usually ends up circling around, never reaching to a large body of water.

  • @chef2654
    @chef2654 Рік тому +388

    Extremely psyched to see you making progress on the engine. Its really fascinating to see projects like this from an early stage.
    If you would consider publishing precompiled jars of the game, I'm sure a community would quickly form, similar to the way minecraft's community did in the early days.
    Don't keep us waiting too long with biomes though, I'd love to see what biomes could look like when generated with elevation in mind (thinking underground & sky biomes)

    • @ataractic
      @ataractic Рік тому +16

      Wdym for us? That's his project.

    • @finalforeach
      @finalforeach  Рік тому +174

      ​@@ataracticDon't worry, I appreciate the excitement! If I didn't have others expecting things from me, I probably would have quit the project after the first episode, this series is about sharing the journey rather than going about it alone.

    • @finalforeach
      @finalforeach  Рік тому +149

      I'll work more on terrain generation after the very basics are done, i.e. survival and multiplayer, but that will take a while I'm afraid.

    • @circuit10
      @circuit10 Рік тому +6

      @@ataractic No one is uncalm? Except you

    • @chef2654
      @chef2654 Рік тому +6

      Please don't feel pressured by my excitement, it is your project after all, I'm just excited to see it happening, whichever form it might take.

  • @WarriorBeastYT
    @WarriorBeastYT Рік тому +147

    Man I love this series ,keep going 😊

  • @lrishkq
    @lrishkq Рік тому +67

    Your voice is always so calm and the things you explain are really interesting! Please keep on doing content!

    • @stupidsniper5216
      @stupidsniper5216 Рік тому +1

      If im not wrong its a ai voice

    • @sullivanb2306
      @sullivanb2306 Рік тому +1

      @@stupidsniper5216It sounds like AI to me as well

    • @07vShorts
      @07vShorts Рік тому

      ​@@sullivanb2306 It is, in his second video on this you can hear the AI glitch out and do an iconic loop of saying "uhhvcdsfbvbdfsvuyyhuhhhhhhhhh"

    • @Flesh_Wizard
      @Flesh_Wizard Рік тому

      David Attenborough mixed with Delvin Mallory lol

  • @Levi___Ramirez
    @Levi___Ramirez Рік тому +16

    Very excited for this project, I could see this running alongside the "Golden Age of Minecraft" communities if you implement all the things you say you want to, while also sticking to the charm the old versions of Minecraft like you said in a prior video!
    Good luck, love watching this!

  • @Greennoob2
    @Greennoob2 Рік тому +3

    I came for minecraft optimising but stayed for the Layton soundtrack

  • @BorinBD
    @BorinBD Рік тому +2

    Imagine creating a superflat world and realising the whole world is just 1 face made of 2 triangles

  • @BorinBD
    @BorinBD Рік тому +4

    he hasn’t uploaded in a while, that means he is working on a bigger update!!!

  • @kirodrache
    @kirodrache Рік тому +3

    I'm only a few seconds in but gosh do I love that you used Professor Layton music, such a nostalgia trip combined with Minecraft ❤

  • @ruadeil_zabelin
    @ruadeil_zabelin Рік тому +2

    A quick note to people commenting: Vulkan does NOT automatically mean a "huge performance increase". If the person implementing in vulkan is not extremely well versed in how gpu's work and how to synchronize data between the cpu and the gpu efficiently, the performance will likely be much worse than even unoptimized OpenGL code. It is incredibly difficult to get these kinds of performance gains and it requires a deep understanding of the api.
    Don't bother with switching; you will not get the performance as people like to think unless you squeezed every last thing out of your current implementation; and even then the gains are likely very limited unless you switch to completely different rendering mechanisms such as tesselation; which can also be done just fine on OpenGL. You'd be better off switching to OpenGL 4.5 with render objects which already comes close to the performance gains you might want without taking the massive extra step. In GL 4.5 not everything needs to be bound/unbound all the time which means there is a lot less state switching going on on the cpu side.

  • @stevenmarshall1013
    @stevenmarshall1013 Рік тому

    Absolutely loved the Professor Layton music at the beginning, gave such a nice flashback

  • @enestekin2
    @enestekin2 Рік тому +2

    Everybody gangsta until this guy makes mc more optimized than old mcpe

  • @savageopress1753
    @savageopress1753 Рік тому +32

    This is so impressive. I am absolutely loving this series man, keep it up!
    P.S.: Please add a LOD system for Higher render distances. That would be so cool!

  • @ClosestSunKB
    @ClosestSunKB Рік тому +3

    I like that your focusing on the most important things first and how you're making this because it feels like the game isn't being rushed through and the content is entertaining even if you don't know about coding. Have been looking for a devlog series like this for awhile and appreciate the work you do 🙂

  • @lechikenmemes
    @lechikenmemes Рік тому +1

    this guys minecraft clone is gonna optimized enough to run in my toaster.

  • @martiananomaly
    @martiananomaly Рік тому +4

    Glad you didn't abandon this series so far lol.

  • @burakkaya9149
    @burakkaya9149 Рік тому +1

    New favorite UA-cam devlogger found.

  • @flameofthephoenix8395
    @flameofthephoenix8395 Рік тому +1

    You might have heard of that one semi-terrain generator thing. It starts with a grid, then picks a random tile and places it on a random place on the grid, then it has a list of what other tiles that can go next to that tile are, so on the surrounding tiles it eliminates all the tile types that won't work. It then looks at which tiles have the least possible tile types they can be, it then picks randomly from the list of tile types and that becomes the next tile, rinse and repeat. This tile generation system doesn't work as well as it possibly could though in my opinion, my theoretical solution is to take your grid which could be 100*100 in size, then create another grid which is only 10*10, it then has region types, with each tile on the 10*10 grid being a region, it then will choose what region each tile is in the same method as before, and then each region represents a 10*10 section of the 100*100 grid, it will automatically clear out some of the possible tile types each tile in these 10*10 sections can be, this will create a uniformity you wouldn't normally get with this algorithm.

    • @flameofthephoenix8395
      @flameofthephoenix8395 Рік тому

      This is my idea for how you could get more interesting terrain generation.

  • @overbakedbreadroll2918
    @overbakedbreadroll2918 Рік тому +1

    I don't understand almost a single word what are you talking about, but I really appreciate your effort and feel really excited about this project and hope you're gonna make it!

    • @finalforeach
      @finalforeach  Рік тому

      I'm sorry about the technical talk! Future episodes should have more shiny features to look at.

    • @overbakedbreadroll2918
      @overbakedbreadroll2918 Рік тому

      @@finalforeach There is no need to sorry - it's obvious that in these kind of projects the technical stuff is unavoidable. It's even better that you are actually talking about it, because people that are into it can also express themselves and maybe give you some advice. Nevertheless it seems to become quite interesting in the future and I'm planning to stay tuned ;)

  • @Mt.Everest
    @Mt.Everest Рік тому +11

    If adding LOD Rendering, please make it toggle able or adjustable like render distance.
    Love it when details far away are still able to be seen

  • @jeffhaskin895
    @jeffhaskin895 Рік тому +37

    Are you going to implement distance-based mesh simplification so that render distance can go up? Perhaps use the noise maps to render more simply at greater and greater distances.

  • @crackedemerald4930
    @crackedemerald4930 Рік тому

    The world generation makes me want to transverse it at great speed and elegance like an eighth legged spider-gazelle

  • @mylesvmiles7571
    @mylesvmiles7571 Рік тому

    so happy i found this channel earlier on, here for the game dev stuff and the soothing voice

  • @ricksande2210
    @ricksande2210 Рік тому

    I did not expect to hear Professor Layton music with a Minecraft coding video, but I'm loving it!

  • @enigmaos
    @enigmaos Рік тому +5

    This is an absolutely incredible series

  • @florianschneider6252
    @florianschneider6252 Рік тому +3

    A suggestion for what you could turn your future game into: Make a Minecraft but with tech in mind! One based on the most popular tech mods, but optimized so they won't cause issues like they do in Minecraft. Mods like Mechanism (86,612,776 downloads alone at the time of me writing this) are highly in demand and even games like Factorio really lift off on Steam. I feel like we have pretty much everything Minecraft already. A Minecraft we don't have, is one for the tech lovers! Alternatively: Make a great base and add amazing modability. This way people won't be split over mod loaders and launchers etc.
    All of that being said, you make great videos and I'm looking forward to being one of your first alpha customers!

    • @johalun
      @johalun Рік тому

      Heck yeah!

    • @finalforeach
      @finalforeach  Рік тому +3

      Appreciate it! I've been on a Factorio binge recently, and I think the signals system in the game has more potential than Minecraft's redstone, so look forward to that! (We have a lot of features to go through before getting to that however)

    • @johalun
      @johalun Рік тому

      @@finalforeach Personally I'm hooked on the Minecraft mod Pneumatic Craft now. It has logistics drones similar to Factorio, and programmable drones as well using puzzle/block programming. It's amazing :)

    • @florianschneider6252
      @florianschneider6252 Рік тому

      @@finalforeach, I'm glad to hear that! And good things take time, I think that I'm speaking for most people when I say that it's great to be able to watch those development update videos until we can get our hands on the first alphas. While the anticipation is definitely big (I wouldn't be a gamer if I wasn't excited for a promising new release), I much prefer you taking your time and being able to deliver a finished, rather than a rushed, product step by step. Keep up the amazing work and thanks for taking the time to reply!

  • @everton.colombo
    @everton.colombo Рік тому +9

    I'm loving this series!
    Off topic question, but I'm really curious about your journey as a programmer; it would be cool to hear about it on a next video.
    Cheers!

  • @theuglydino6490
    @theuglydino6490 Рік тому

    Parkour is my favorite part of minecraft, and feels better than most games because you dont usually slide on or bounce off of blocks when you land on them. Please keep parkouring for fun in mind while making the game! Also, a grappling hook sounds like an amazing idea!

  • @dialog_box
    @dialog_box Рік тому +1

    on the subject of lakes and rivers, i've always wanted to see minecraft rivers done well, with like currents and rapids and stuff

  • @WasatchWind
    @WasatchWind Рік тому +1

    Love the professor Layton music lol

  • @pichitosmalltown3239
    @pichitosmalltown3239 Рік тому +2

    I love what your doing, man! As a layman, it's interesting to watch you explain your thought process on the methods you use to achieve certain goals even if I don't understand the technical stuff.

  • @corneliusbuckley8897
    @corneliusbuckley8897 Рік тому

    Just found you a few days ago and I'm loving this 00 excited for lighting to make it look more like a real world

  • @potatoman7407
    @potatoman7407 Рік тому

    this is extremely cool as a compsci major taking java courses, your videos help me to understand the bits of theory ive pieced together from other explanations like factorio's circuits and minecraft redstone and apply them to java.

  • @FaonPage
    @FaonPage Рік тому

    love the little "catch up" videos while you work on the project with little explanations of what, when and why you do smth
    even as a non dev it's fun if you are a bit educated on post processing, modding or tech in general, see you next time

  • @finalforeach
    @finalforeach  Рік тому +2

    This one was a bit more technical, but future videos should have more focus on features than backend stuff.
    Correction(s):
    The graph at 1:33 is wrong, there are 65 numbers in each dimension total, so 0-64 on each axis, not 0-65. A classic off-by-one programmer's error.

  • @ThePegnok
    @ThePegnok Рік тому +1

    I understand very few of what your talking, as I don't know anything about coding languages, but I still find it all fascinating. I really wanna see where this project goes, it looks amazing so far.

  • @mossy1123
    @mossy1123 Рік тому +3

    it would be unique to play this as a character twice the scale of the minecraft player, either 3-4 meters tall or with half-meter sized blocks. could avoid constant jumping to get up slopes and change how people approach building.

  • @yourlocalslugcat
    @yourlocalslugcat Рік тому +4

    I really wish your project gets more and more attention as the time goes
    I think it will develop into exelent game of its own over time
    Thanks for making this :)

  • @Gwilo
    @Gwilo Рік тому +268

    my suggestion: LOD rendering
    if something is outside of the render distance, render the whole chunk, but with each block being half the size, for a couple of chunks, then halve the size of the next few chunks, on and on until you've rendered some cubes really far away

    • @cyclopropinon5143
      @cyclopropinon5143 Рік тому +6

      my suggestion: using a faster language (like c or c++ instead of java; assembly would be overkill tho)

    • @drdca8263
      @drdca8263 Рік тому +7

      Huh? Making blocks half the size? Wouldn’t that make it a mess of blocks with gaps in-between? I would imagine that would mess with the advantages of occlusion, and also look super weird? I must be misinterpreting what you mean.
      I think level of detail is mostly done by like, having separate versions of models, which have fewer polygons? I’m not sure it is applicable to something made of cubes like this where the cubes can change?
      I suppose maybe one could like, somehow automatically create and store a simplified low-detail mesh for a given chunk, by maybe taking some portion of the exposed-to-outside-air corners of blocks in the chunk, and like, try to make some kind of approximation to a convex hull?
      Though I feel this would be hard to make work well?
      Oh! Maybe you meant, render blocks at *twice* the size (in terms of length), and render only blocks whose x,y,z coordinates within the chunk are each divisible by 2? So, (1/8) of the blocks.
      I suppose that could work pretty well? Though I guess it would mean that at some distance, from some directions, the apparent distance to a 1-block-thick wall would suddenly shift by a block. Maybe that’s not a big deal though.
      Oh, also, some one-block-thick coverings over a hole would disappear?
      Oh, I guess that could be resolved by checking if any of the 8 positions in a 2x2x2 region, had a block in it.
      I don’t have enough experience with low-level things to have a good idea as to whether or not this would work well.

    • @camilos1999
      @camilos1999 Рік тому +16

      @@drdca8263 You are absolutely right, the whole point of LODs is that the game already knows what goes in that location and can load lower polygon models that at a distance don't seem out of place compared to the high poly of the nearby models. In a game that has infinite terrain generation creating those LODs would require a beefy CPU and slow the game down to a crawl, the only real way to do it without tanking performance would be creating the LOD chunk after it has been initially loaded and updating on chunk modification.

    • @GooseTower
      @GooseTower Рік тому

      ​@@cyclopropinon5143 C and C++ compile to assembly. Their compilers know more about optimizing assembly than most devs alive. Hand coding Assembly is a waste of time, especially with modern hardware.

    • @randoguy7488
      @randoguy7488 Рік тому

      ​@@drdca8263 Just search for Minecraft Distant Horizons or Minecraft FarPlaneTwo and you'll get what they meant (I also think they meant twice the size)

  • @UntitledGenericAccount
    @UntitledGenericAccount Рік тому +1

    Amazing progress. But one thing I would want to see from this is, making the game more inspired by mods such as Create!
    There isn’t any great 3D Minecraft games that focus on automation and making your own machines. And plus, I would really enjoy seeing full on moving blocks from Create as well. It would really help to distance away from being a Minecraft clone.
    People would be stoked being able to make their own trains, cars and airships.

  • @Anthonythechickenman
    @Anthonythechickenman Рік тому +1

    I'm so happy to have found this project, very excited to see what is done next! I'm not a coder or anything like that, but I do know that lighting in games is really hard to implement, and it usually lags a lot if not optimized propperly.

  • @deliverick9695
    @deliverick9695 Рік тому

    i love watching devs log making games. hopefully mojang/Microsoft don't ruin this project.

  • @scotthooper6460
    @scotthooper6460 Рік тому +3

    Hmmm. My previous comment is missing for some reason.
    In my older engine my vertex struct for world geometry was 24 bytes and it had a lot more data in it (many texture coords, a 'normal', etc.). I used bytes for x,y,z and then pushed a uniform before rendering the chunk of the chunks 'world location' to which I added the x, y and z values in the vertex shader.
    My mesher was "super" greedy in that it could mesh across blocks of different types and with different ambient values.
    My IBO used shorts.
    Finally, I meshed each chunk into 1 VBO, 1 IBO, but six distinct regions so I always rendered only visible faces, reducing the geometry processing by nearly a factor of two.
    Oh, and the last optimization I made had to do with the order in which I rendered the chunks based upon the player facing--it's too complex to detail here but cut the number of unnecessary chunks rendered down even more than using occlusion queries.
    There are other optimizations in there that I'm forgetting, but I'll soon remember as I'm porting them all to WebGPU for an online game I want to make.
    Looking forward to keeping an eye on your progress. Maybe I'll start a channel and do a devlog too.

    • @gabrieljackson1524
      @gabrieljackson1524 11 місяців тому

      I had a quick question, how were you able to make a super mesher? How is it able to switch textures across the same triangle? Does it dynamically pack textures at run time?

    • @gabrieljackson1524
      @gabrieljackson1524 11 місяців тому

      Also did you notice any improvements from separating your mesh into six distinct regions compared to using the in-built backface culling?

  • @the_nerd_showtv5562
    @the_nerd_showtv5562 Рік тому +1

    Not only a really good video, not only a really cool project, but also the professor layton ost.
    Really good stuff man

  • @nadri3335
    @nadri3335 Рік тому +1

    this minecraft looks so good, and with that amount of optimization its going to become a very powerfull tool if it has mods

  • @melonheadwt
    @melonheadwt Рік тому

    Man, I have no idea what I'm watching but I'm loving it.. keep up the good work, and I hope you reach beyond your imagination :)

  • @inmyhumbleopinion7
    @inmyhumbleopinion7 Рік тому

    I recognize that professor layton theme anywhere! Good stuff my guy

  • @lucaschinder3875
    @lucaschinder3875 Рік тому

    This series is my fav content on the platform

  • @Sams-fu1rd
    @Sams-fu1rd Рік тому +1

    as a student studying computer engineering and also a big minecraft fan I love this series. Dont know much about coding yet, but its still incredibly interesting seeing this project take shape and trying to analyze the code snippets you showed on screen

  • @lodeclaw
    @lodeclaw Рік тому +8

    Loving this project. I recommend also looking into Vintage Story for ideas or inspiration for your own take on the genre. Keep it up!

  • @wahoo42069
    @wahoo42069 Рік тому +1

    I just found your channel today and I am completely hooked, super excited to see where this project goes!

  • @mlgsamantha5863
    @mlgsamantha5863 Рік тому +1

    i like your funny words, magic man

  • @zucchinibyday
    @zucchinibyday Рік тому

    I can't wait until this project gets modding support and/ or goes open source. There are so many things I want to do with world generation in Minecraft, but it can't quite handle them with its limited height :( godspeed!

  • @ElizabethRS
    @ElizabethRS Рік тому

    What I would absolutely love (but admittedly it would just be a hope of mine that no one else would likely want) is Quake-style movement. Something like Quake Live's strafe jumping or classic Quake's bunny hopping would be a really fun movement mechanic in a large world, that I feel has been unexplored really. There was a Minecraft mod that added in classic Quake movement called Squake that did a great job with that.
    With that style of movement, you could have really precise movement, but could gain a lot of speed, and would additionally make parkour maps so much more varied and give many more possibilities.

  • @MeepChangeling
    @MeepChangeling Рік тому +1

    "I want unique mechanics." "For movement, a grappling hook." Do you mean that thing everyone does now? How is that unique? Why not instead go with some cool plasma-based one-time zipline? You fire it at a location and get pulled straight to it, then the line is gone. No going back where you came, but no need to only go downhill. It's like a grappling hook, sure, but there's no swinging, and it's linear. It would combine well with a glider of some kind and be more useful underground than a thing that makes you swing pendulum-style. Or you could make it a REAL grappling hook, i.e. it just makes a rope go a place, and you have to climb it or hold on while you swing from it, and also you have to go get it to use it again.
    It would be cool if you focused on sci-fi, or modern for a genera with this. There's too much mideval fantasy out there. The genera is becoming overwhelmingly overrepresented, and also kind of a clishe in and of itself.

  • @CrystalLily1302
    @CrystalLily1302 Рік тому +1

    this project looks really cool, I look forward to seeing what you're able to do with this

  • @sibunuadesu
    @sibunuadesu Рік тому +2

    As a fan of high mobility and movement options in games I loved to hear your plans to add a grappling hook later on. Would be cool to see more things tho, both in core mechanics and character upgrades/gear items, like starbound do with movement tech or terraria with it's accessories :)

  • @darknessitself8259
    @darknessitself8259 Рік тому

    Thanks so much for reading and featuring my comment! You have all of our support and this has so much potential!

  • @ultrasquid579
    @ultrasquid579 Рік тому +1

    Random feature suggestion: "realistic" terrain generation, where the map starts out as a flat plane which is cut into "plates", moved up or down a few blocks, and then shoved in a random direction by about a hundred blocks or so to create mountains, valleys, plains, and oceans.
    Since you seem to be working on other things right now, I doubt the terrain generation is currently a priority, but in the future this may be a fun way to create interesting terrain which is different from Minecraft and has features such as volcanoes.

  • @ChaosPootato
    @ChaosPootato Рік тому +1

    This is really cool, I can't wait to see how far you can take this project

  • @CrazyIvanTR
    @CrazyIvanTR Рік тому +1

    I'm gonna go on a different tangent and ask for subtitles in the videos, sometimes it gets hard for me to make out what you're saying because you're talking fast and English is not my first language 😅
    Thanks for the videos by the way, I hope you keep them coming 😊

  • @WindBendsSteel
    @WindBendsSteel Рік тому

    Another thing that could improve performance and reduce memory usage is generating lower resolution meshes for distant chunks, the terrain doesn't need to be made out of cubes at a distance where it's impossible to discern individual cubes, so it can be pretty low-poly and would not make a difference.

  • @Hyperverse
    @Hyperverse Рік тому +1

    This is fantastic. Very glad I found you so early in this project!

  • @DracoTheNinja
    @DracoTheNinja Рік тому +3

    You smart, smart man! Absolute genius. I really want to try it tho 😂

  • @matthewp1988
    @matthewp1988 Рік тому

    I love Starbound! I've had it for years so it's cool to hear someone mention it! I'm in the middle of actually completing it for the first time (on pause bc of college) despite having started it years ago

  • @Fa1seP0sitive
    @Fa1seP0sitive Рік тому

    I've seen a lot of projects like this get abandoned early, most not even getting to the point of having a player character. I'm glad to see this keep going and its really fascinating seeing how you tackle problems, often not necessarily repeating exactly what minecraft did. I hope this project keeps going for a while and can grow into its own standalone thing that acts as a proper minecraft alternative.
    I am looking forward to Hypixel, but to me it isn't really a minecraft alternative, as its very much being specialized to be more akin to RPGs. Sure, it carries a lot of the same core DNA, but its too far detracted. There's also Minetest, which is seeming to be a near 1:1 clone of Minecraft. Nothing wrong with that either, but it doesn't make it stand out. I think there is a fine line between the two that would lead to a proper minecraft competitor.
    Also, when you get to reworking the terrain generation, I would definitely suggest looking into Henrik Kniberg's videos on how he came about with minecraft's new terrain generation. Its very insightful and even if you are aiming for something completely different, I think it works well as a jumping off point for more complex terrain generation.

  • @Quackra
    @Quackra Рік тому

    I remember when you were not even in 5 digit subs and it is nice to see this blow up quickly. Honestly I would love to see things that were planned on Minecraft, but never made it, like the red dragons. Though if you feel it won't fit your game that is perfectly reasonable.

  • @Sad_Mercy
    @Sad_Mercy Рік тому

    Starbound mentioned WOOOO YEAH also nice job man looking forward to more updates

  • @drewgifford3299
    @drewgifford3299 Рік тому

    You should create a good modding API within the game. I can see this as a potential "Minecraft sandbox" game, where the deliverable is a pretty clean slate but gives modders a whole bunch of tools to develop pretty much whatever they want much more easily than Forge or Fabric. They can easily add their own blocks, items, hunger bar, entities, anything very easily.
    If people want a vanilla Minecraft experience, maybe someone would make a mod that replicates vanilla Minecraft as closely as possible. With a streamlined API, the performance improvements and possibilities with the terrain generation in your game make me think that this would be a modpack player's dream.

  • @jeremiasscharovsky5434
    @jeremiasscharovsky5434 Рік тому

    Speaking of Starbound: be careful with leaving good terrain generation until after mechanics. Starbound made terrain taller after they had locked in the jumping physics, leading to all the awkward climbing we experience while playing. It makes sense to focus on mechanics first, but also don't wait until they are 100% done, since terrain isn't fully detached from mechanics.

  • @vk8a8
    @vk8a8 6 днів тому

    your voice would be great for recalling terrible memories

  • @kaimakan71
    @kaimakan71 Рік тому

    Great work! I suggest using 8-bit unsigned integers for chunk-local coordinates as they only range from 0-64. This way, 1 byte is saved and no packing/unpacking is needed. This could be a little more complicated as it might require you to have a seperate buffer for the AO values because those are stored as floats.

  • @jeffy1045
    @jeffy1045 Рік тому

    im not a programmation nerd so didnt understand all of the video, but always like to see the progress of your project, good luck

  • @psychedelicsees1895
    @psychedelicsees1895 Рік тому

    minecraft with more starbound ifnluences would be my ultimate dream game! Would be very excited to see you go in that direction

  • @Felix-nk8xw
    @Felix-nk8xw Рік тому

    Very cool video once again! It really is fun just how much i learn from watching your videos. As always, keep it up ^^

  • @eMercody
    @eMercody Рік тому

    Something I wanted in Minecraft’s day night cycle was the analemma. Many buildings use seasonal sun locations in their design.

  • @teslainvestah5003
    @teslainvestah5003 Рік тому

    I have 8 carefully considered suggestions and none of them are LODs.
    0. Consider making the player 3x2x2 in size, more like Terraria than Minecraft, because it allows for more intricate building. The only reason not to do it in minecraft is that the digging becomes more laborious, but there are other ways around that if you violate the one-block-at-a-time principle like you mentioned.
    1. A standard for streaming terrain from one process to another, so that people can write their custom terrain generators in other languages.
    2. passive and hostile 3d cellular automata. Maybe make all life forms block-based except for the player.
    3. if/when you add any redstone equivalent, make it more simple and intuitive, without quasi-connectivity, and with a policy of NEVER turning incomprehensible bugs into features. Do the infinite world height refactor before adding a redstone equivalent, because the behavior of redstone machines being partially unloaded from different sides is going to be a big deal to some people.
    4. Cling very tightly to the simple elegance that games like minecraft lose over time, maybe by limiting yourself to a palette of 64 materials+items+mobs for all time, so that every tangible feature is carefully considered, and later in the game's life, almost all development must be shifted to intangible features like new physics/controls/commands/game modes/world generation types/new interactions with existing creatures and blocks.
    5. built-in support for vehicles built out of blocks, like the many airship mods Minecraft has had over the years. But let the block grid that moves with these vehicles be first-class, so that features designed to work on the ground like pistons and crops automatically also work in a moving vehicle.
    6. Occasional fear of open spaces. The huge open spaces are beautiful and freeing, and it would be great to fly over them or race over sloped surfaces, but there should be a danger. I'm thinking since many games have had blood moons before, this one could have a dangerous sun. A beautiful and peaceful night could be turned into an adrenaline rush when the sunrise is near, because some mornings, the sun rises with a shriek, and rays of light land on the player like a ton of bricks and crush them.
    7. Sky islands. but at higher altitudes, some building materials can't withstand the crushing sun, so surviving at higher altitudes is tied to progressing through tiers of building materials to build shelters. Minecraft was a game about going deeper to find better loot, I want to explore the alternatives, going ever higher for better loot, and feeling lost in huge open spaces.
    8. swivel grapple hook, where instead of pulling yourself towards the point you're looking at, you can freely rotate your position around it while keeping a constant distance. It would make for very interesting movement.
    9. uncompressed or very simply compressed world saves that are easy to edit with other programs.
    I'll be happy with whatever you do, especially if you open source it so I can do the things you didn't do. I suppose that makes my favorite suggestion the elegance one. Minecraft has proven that the game developer can never compete with the modding community on sheer volume of thingamabobs and doodads. Mods make a game great, but rarely build on each other, and never carry the game into the future. So the developer should bring stability, vision, and the most painful and necessary refactors - the things the modding community can never do.
    You be the skeleton and we'll be the muscle. We will make a great team!

  • @enbasagar2007
    @enbasagar2007 Рік тому

    This guy will be a lasting figment of the new kids

  • @a1rdrag0n333
    @a1rdrag0n333 Рік тому

    "I would love to implement things like a grappling hook" Oh! like Terrari- "-Like Starbound".
    Jokes aside I am very excited for what will come for this Minecraft clone.

  • @filimental
    @filimental Рік тому

    This is so cool! I'm so excited to see what direction you decide to take this project.
    Since world generation allows for some really massive terrain i think it would be cool to see some terrain that is comparable in size to our world. I'm not sure how feasible that is but I've always wanted to see mountains and oceans in minecraft that are as deep or as tall as real life. unfortunately minecraft's engine doesn't even allow terrain that large to be rendered. I guess if you wanted to take the generator in a different direction. Instead of natural terrain you could ask it to generate mega-structures similar to the game, NaissanceE and the manga, Blame!. whatever you decide to do, I'm here for it!

  • @MiriadCalibrumAstar
    @MiriadCalibrumAstar Рік тому

    Minecraft: struggles rendering few blocks.
    This engine: Hold my beer.

  • @motosuga
    @motosuga Рік тому

    I don't understand everything but I love this and I love you.

  • @Matelight_IT
    @Matelight_IT Рік тому

    I thing greedy meshing can be enhanced. Simple example: first layer of 4 block 2x2, above that 1 block in corner (top, right), when you make mesh for top surface of first layer you can do it with 2 triangles instead of making L shape mesh, not all parts of triangle need to be visible. Example 2: 5 layer pyramid with greedy meshing will be done with 74 triangles, but it can be done with 52, each top layer surface as 1 square (2 triangles)

    • @finalforeach
      @finalforeach  Рік тому

      Probably, but going further increases computation time (and implementation difficulty!), so it's a trade off.

  • @Masemiliano_
    @Masemiliano_ Рік тому

    This series is amazing! And as a sidenote, you voice is really nice.
    I am a teenager, and my goal is to become as cool as you one day

  • @scaper12123
    @scaper12123 Рік тому +4

    If you’re thinking about movement and theming, maybe you could make a magic system and use that as an excuse for extensive movement abilities.

  • @Nickika
    @Nickika Рік тому

    I don't know what this guy is talking about, but I like it.

  • @uiric391Cyrooi
    @uiric391Cyrooi Рік тому

    Amazing choice of music there :D

  • @ataractic
    @ataractic Рік тому

    I hope you'll keep the motivation! Loving the series so far. This is really well explained, I think the structure of the video is really adequate and comprehensible.

  • @Da_Random
    @Da_Random Рік тому

    Love seeing how making a Minecraft clone like this is done. I do have one suggestion that may be the cause of a massive headache: The rotations of textures on certain blocks are pseudo-randomized based off the seed in the actual game, and it does actually help break up the pattern and monotony of uniformly ordered textures. Maybe something to consider? Great work!

  • @brainblastedtech
    @brainblastedtech Рік тому

    Oh nice, I just finished watching the last two videos!

  • @davidreeding9176
    @davidreeding9176 Рік тому

    God it looks so close to daggerfall I love it

  • @Rukako122
    @Rukako122 Рік тому +1

    This has potential. I like it. The fact that the leaves are all merged like glass is a bit weird looking tho.

  • @bentogames113
    @bentogames113 Рік тому

    i like leaving ur vids in the background while i draw

  • @HereticalIndividuals
    @HereticalIndividuals 11 місяців тому

    Fantastic! Car and I were greedy on this one.

  • @klausbdl
    @klausbdl Рік тому

    the world generations gives me the new sonic frontiers vibes, so I think a fast paced movement would be awesome, like flying around using the grappling hook to hook on big pillars that are generated in the world. To explain it better, imagine shadow of the colossus, the focus of the game would be to look up, not look down on the blocks to mine them. Of course, if its a survival game, you have all the main minecraft mechanics, but then you craft those items that lets you fly around and fight big bosses. Idk im just imagining

  • @r0dey519
    @r0dey519 Рік тому +1

    It looks amazing, and you have a good knowledge on this stuff! I don't know where your project will head but keep in mind how hard it is to climb those "little" mountains in Minecraft. So your terrain looks amazing but in the context of Minecraft movement it gives me nightmares 😅 really amazing work!

  • @Masthegreatest08
    @Masthegreatest08 Рік тому

    Mojang take notes, this guy is doing your job (that you dont do) for you

  • @nevinaght
    @nevinaght Рік тому +1

    I don't know if it would even be possible, but mod compatibility with existing mods on Minecraft, where it would run better would be what I am interested in. I think you could create an independent Minecraft clone with its own community. I would choose version 1.12 to copy, because of the modding community around that version. But great work!

    • @the_nerd_showtv5562
      @the_nerd_showtv5562 Рік тому +2

      Nah man, I'm not a programmer but I know a think or two about modding, and I think that's basically impossible.
      Keep in mind that in Minecraft you can mod thanks to a third party system like forge or fabric, and a mod programmed for forge Is probably not compatible with fabric, and we are tapking about just different way to use mod in Minecraft.
      Not only that, but with every version, mod developer has to update the code, sometimes beeing stucked cause versions are too different from One another.
      And bare in mind that all of these problems are within the same game.
      Now think about doinf that for another game!

  • @dandelleum
    @dandelleum Рік тому +3

    Hey there! I am an outsider who doesn't understand a thing about programming, although, I've been playing Minecraft since I was 6. I find this version of yours fascinating! I always wondered what Minecraft could be if some aspects were explored further, such as the enhanced world high and improved terrain generation. Needless to say I'm really loving watching your series about this project! Keep going! I send you my best and most sincere regards!