Caves & Cliffs Update: Part II Dev Q&A
We recently hosted a Dev Q&A on the official Minecraft Discord server to look back on the release of the Caves & Cliffs Update: Part II. Joining us to answer questions from the community were a few key members from Mojang Studios, the developers of the 1.18 update.
What sort of PC do most staff use? I'm assuming since it is your job that they would be fairly high-end? Just generally curious what would be needed to code a game as large as Minecraft.
Pouya, Gameplay Developer: In the Bedrock team most devs use rather beefy desktops with lots of CPU cores and RAM to allow faster compilation. Same is basically true for the Java side of things.
How many times did you fall in massive caves during 1.18 development?
Henrik, Gameplay Designer and Developer: More times than I can count!
What was it like working on Biome Blending?
Nilay, Java Game Developer: It has been a fun and interesting challenge! With lots and lots of "let's see how it looks in the game" trials, and so much time just flying around to both admire it and to find tiny things to fix.
Will you consider back some of the old candidates for mob votes (that didn't get voted) and bring them into the next mob vote?
Ulraf, Gameplay Designer: The losing mobs go back to the ideas library!
What steps are you taking to ensure parity between Java and Bedrock?
Pouya: Parity is something we're working on all the time actually! Typically when developing new features, Java and Bedrock devs work side-by-side to be as close as possible to parity from the get-go! We also do a lot of testing internally to find parity breaks between the versions before releasing.
What were some unexpected challenges in rewriting some of the core logic of the game, how did you solve them, and what did you learn from it?
Henrik: Aquifers were tricky, both from design perspective and technical perspective. We weren't planning to add local water levels originally, or more like we thought of that as a possible bonus feature. But it turned out that by default all caves below y63 are water filled if we generate caves using the new noise approach (the old carver used a different logic). So we had to figure out a way to enable caves below y63 to be dry sometimes. And that led to a bunch of other complicated questions such as how to deal with caves that overlap coastlines and rivers, when should they be dry, flooded, or partially flooded. It was really hard to figure out and we needed a lot of help and feedback from the community. But it turned out really nice, with beautiful underground lakes and waterfalls.
Did you completely recreate the generation system or did you just make changes to the old system? Was this system built up from scratch?
Henrik: The worldgen changes in 1.18 were so big that we mostly had to recreate terrain generation from scratch.
What must be done in Minecraft 1.18, recommended by the developers of Minecraft?
Pouya: Follow an ore vein! Explore the vast caves! Climb mountains! Get lost in powder snow! Fly around with Elytra!
I can’t find any big mountains in bedrock PE. Is it a glitch?
Henrik: Just keep searching! The 1.18 terrain is much more varied than earlier versions. But if you keep searching you will eventually find what you are looking for.
When choosing an ore to add Caves & Cliffs, what made you decide on copper and were there considerations to add other ores?
Ulraf: Oh wow – it's been so long since we decided on copper I'm having a hard time remembering! We have been working on this update for over 2 years now, if we include the planning and designing phase. I remember that we were looking at many different options for ores or other interesting blocks to find underground and landed on copper mainly because we really liked the aging mechanic and lightning rod idea!
Henrik has mentioned before that you guys have tools to search the world for various terrain features, and that they were used extensively for Caves & Cliffs: Part II. How exactly do these tools work, and what are they capable of?
Henrik: Yeah, we've been continuously building and improving various internal development tools, for example a tool that shows a map of the world with various overlays such as terrain offset, multinoise values, biomes etc. And filters to highlight things like specific noise ranges. We kept improving and iterating on these tools during development. We also did a bunch of debug overlays to view things in-game, such as multinoise values, density values, or just a side-profile view of the world, and way to toggle things on and off (carvers, noise caves, aquifers, etc), and ways to reload chunks dynamically. Tool development is a pretty core part of our development, we need ways to quickly be able to see and find things in the world. I wish we could release more of those tools publicly but releasing something also means taking responsibility for it and many of the tools we've made have been very specific to our development needs and not really in a good enough shape to publish (not yet at least). I'm happy to see people in our community building awesome tools that are somewhat similar to the ones we've built internally, but more adapted for general use. Our community is awesome!
What real life caves did you use for reference in designing the algorithms to make the cheese caves?
Henrik: We were inspired by many different real-life cave systems, but Hon Son Doong in Vietnam stands out! Those caves are massive and incredible.
These were just some of the fun highlights from the Q&A. To go back and read the full chat, and to be a part of more Dev Q&As in the future, be sure to check out the official Minecraft Discord!
- Written By
- Kristina Horner