The Journey Project

Figure 1. Procedurally Generated mesh using a noise function.
Figure 2. Sand shader visible grains.
Figure 3. End result within Unity 3D.

Engines, Tools and Languages used:

[Unity3D, C#]
[Solo Project]
[2021]

DISCLAIMER

This page does not contain a lot of in-depth information about the project because I wrote a research paper on this project which can be found here.

Assignment and Approach

During my third year studying at the University of Applied Sciences Amsterdam I participated in a semester called gameplay engineering. This project is one of the results that came out of it.
The assignment consisted of creating a research paper of something within Game Development, a lot of possible options to choose from. Journey is a personal favourite game of mine and is known for its stunning graphics and visuals. I wanted to recreate the landscape and the stunning views that it creates in the game, but I always wanted to make it procedural? Next to the shader I was also looking into simulating aeolian erosion at the time and I though it would be a good idea to create a tool for procedurally generating deserts and then applying the beautiful Journey Sand Shader to it. This all sounds very ambitious and it was a little too much for a project that lasted 10-12 weeks.

Process and Results

I wasn't the first one to recreate this shader and John Edwards actually did a GDC Talk on how the sand rendering was done in Journey which was a big help. This talk and some other sources I found online helped me create this shader which was very achievable within the given time frame of the assignment. The erosion simulation on the other hand... I already knew this was going to be difficult but I still wanted to try of course. Particle erosion simulation were not something new to me, I've experimented with aquatic erosion in the form of rain and a river before and I pretty much tried to rewrite the algorithm for these experiments and implement the rules for aeolian erosion. This worked to some extent and the results did have 'dune-looking' features to them but it wasn't something that could be considered realistic. What I did end up with was a tool which could create some convincing looking dunes plus the shader which looks like it is straight out of Journey.