Geology of a Crater
We get asked about the game decision-making process a lot - why did we decide to do one thing over something else. So while we're waiting on the graphics updates I thought it might be interesting to look at the map for Yami no Yume and explain some of the level-design decisions.
I'll try to avoid spoilers though!
The first iterations of the map used a fairly simple S-curve for the edge of the crater. The ground was fairly flat at the top and at the bottom. Good for building we thought. There was some rudimentary geology too - the basin was made of granite and basalt, over a certain height it switched to limestone, suitable for caves, then to a harder limestone towards the surface. We tried to make it look less procedurally generated by randomizing the orientations of rocks, including lots of different texture tiles and swapping the very flat areas at the surface for sand and boulders. The result was.. OK.
The problem with procedural generation is the result never feels 'loved'. Agreed, you can generate a truly enormous open-world, infinite if you really want, but it quickly becomes boring because the player has seen everything there is to see. There are no 'surprises' after a short time and exploring such a world quickly becomes tedious. Designing a large world by hand is incredibly time-consuming however - what is needed is a way to jump-start the process. Luckily for us, the Jorundor Geological Survey Team has done all the hard work.
Since the Yami no Yume story takes place in a crater we need to make an attempt to understand the geology of a crater. Imagine our world as 3 flat layers of Granite, Limestone and a thin deposit of Dolomite. These layers won't necessarily be perfectly horizontal, I've included a slight angle to reflect that fact. Now, cue giant asteroid heading towards Jorundor. I was going to draw a really cool animation for you of a meteor impact but I have a game to write and seriously, you can imagine this far better than I can probably draw it ;)
To understand how the impact changes the landscape we need to look at what it hits. According to the game material files, Granite has a density of 2.75 g/cm3, Limestone 2.711 g/cm3 and Dolomite 2.84 g/cm3. These are all fairly similar, as are the melting points, with the exception that limestone and dolomite decompose so the material is more like to be vaporized rather than re-deposited. So when the meteor impacts we create a combination of molten rock and granular debris - it gets thrown upwards at about 45 degrees and we see this characteristic shark fin shape appear in our strata. Note also how the height of the shark fin decreases with distance from the impact point.
Some of the ejected material will land outside the crater, creating an almost 'folded over' impression at the very edge of the crater and the granular material will settle to create a slope based on something called the angle of repose. This angle is different for each material but something close to 40° is typical.
We could stop there, but for Yami no Yume this is no recent crater. We need a few hundred thousand years of weathering to complete the look. This is a combination of erosion and deposition. Erosion will smooth the angle of the crater face and probably erode some of that folded over limestone to reveal the harder dolomite underneath. Deposition will result in clay, mud and sand appearing on the landscape. The sand on Jorundor has blown in recently from local deserts due to the hot, dry climate and tends to settle on exposed rock crevices. You can see the beginning of sand dunes on the far left of the picture. The sand occupies areas previously eroded although of course wind-borne sand can itself cause erosion.
The clay (silt and sand) that settles in the crater are clastic sediments and result in a lake forming on the impermeable surface. As the size of this lake changes over time, it deposits different sized granular materials - fine sands at the outermost edge, mud and larger particles closer to the edge of the lake. The lake itself is highly toxic and swimming is not recommended :)
What was the purpose of all this? Well, with a rough sketch like this, we can initialize the materials found on the map. The level designers can now concentrate on loving the details into the map instead of spending countless hours building a map from nothing. The final output feels far more real and believable because the processes behind it are 100% real - that's what designing a world is all about after all :)
Leave a comment
Log in with itch.io to leave a comment.