Hey guys, and welcome back. For this update, im going to talk a bit about the procedural generation in Eternal Ember, and how it will affect the overall gameplay.
To summarise some previous points, Eternal Ember is a narrative survival RPG. The most important facet of design, at least at this point, is upon the combination of narrative...and survival. World generation is an important part of this.
To look at some other game worlds, lets use examples from ARK, Rust and Conan:Exiles. These are generally regarded as the 3 highest achieving survival games in terms of innovation and player base and satisfaction.
Looking at these games, we can see that they all share a single key aspect: non-procedural generation. This has allowed for certain advantages.
These advantages are not to be scoffed at, and for good reason. They have lead to the creation of wonderful, well designed game worlds. But what I intend harnesses these advantages, but allows for a more emergent set of gameplay.
The world of Eternal Ember is broken into 'Tiles'. Each of these tiles obeys certain rules as to its generation. These rules are set by me by a graph, and fed into a plugin I use called 'MapMagic'. Its excellent, I recommend it.
From this graph, the terrain in Unity changes according to my whim. We look at 5 major outputs of this.
From these, we can logically combine Trees, Objects and Grass, leaving us with 3 main components.
The height of the terrain is probably the highest priority. It controls the overall shape of the terrain. Done badly, the terrain is sharp, or flat. Confusing or featureless. Done well, and smooth hills give way into valleys and mountains. Plains are offset by lakes, and mountains by plateaus. This gives the terrain life.
This diversity of area is highlighted by the use of textures. Areas such as grass, cliffs, sand and dirt need their own textures. This is often controlled by factors such as height, slope and area. For example, a steep slope will need the cliff texture, as nothing could grow here. At the bottom of the map, we either want dirt or sand, depending on whether there is water here. And at the top of mountains we need snow.
The placement of objects is the final touch. Sprawling forests, rocks and trees. Expanding upon this, we also can place resource, and monster generators. A future plan is to have a village spawn, though this will require some work.
The final piece looks a lot like... this;
Of course, no work is ever done. This landscape will change significantly over the course of the game development.
A key reason for this will be the placement of key landmarks and story areas. Using the previously mentioned tiling system, I will be 'pinning' some tiles, while leaving others to be fully procedural. By pinning these tiles, I can ensure that they are spawned the same way every playthrough, lending me the consistency of a set world.
Ideas, thoughts or comments? Comment away! Message me even :)
Thanks for reading,