DevLog 7 - The Game World


Overview of Project Updates

These past couple of months have been incredibly busy, filled with hundreds of micro changes focused on gameplay, NPC development, bug fixing, and visual updates. This devlog covers some of the visual details of the game world, including terrain design, a position variable landscape shader and a stylised foamy water shader.

------------------------------------------------------------------------------------------

Landscape Redesign

In the initial stage of the game (the first four to five months), the plan was to have a series of fixed camera screens which the player could click through. However, after some testing, it became clear that players did not enjoy playing the game in such a way and felt limited in their actions. To fix this, I moved to a first-person camera system with a small enclosed space for the player to go to the market (to buy ingredients) and the bakery wallpaper customisation billboard. While the playtesters showed far more positive emotions towards this new interaction method, two of them expressed a sense of claustrophobia, and another felt the walk to the market was pointlessly long. With these changes, the environment feels more expansive and unique while the most important things for the player are close at hand.

The newest layout features:

  1. More open-world space to walk around
  2. The market and upgrade centre are closer to the bakery
  3. The terrain has vertical variation (hills, dips, water, islands)

Figure 1: “Midemin” Terrain (Bakery, Castle, and Towers in white)

------------------------------------------------------------------------------------------

Custom Landscape Shader

Previously, the game had a repeating pattern for the flat ground. However, even as a temporary solution, this looked bad and looked even worse on hilly terrain - the ground needed a visual update. The shader I designed for the ground is variable on its world position (i.e., if a point on the terrain is below 0 meters, the green transitions to a sandy yellow) - involving four positions:

  1. The highest points are a dark green                      
  2. The central grassy region is a medium green   
  3. Below sea level is a sandy yellow                       
  4. A subtle blue helps the transition to the water   

Accompanying this gradient are two noise maps: one with high repetition (micro detail) and the other that repeats over larger areas.

Figure 2: Ground Texture Affected by World Height (Texture Size Above: 20x20 meters)

------------------------------------------------------------------------------------------

Custom Water Shader

Water was implemented into the game to heighten the sense of space. However, Unity 6 URP does not have a built-in water shader (unlike HDRP), meaning that I had to create one from scratch. Using much of the stuff that I learned from the custom landscape shader, I was able to create a simple water gradient. I was unhappy with the final result and wanted to add foam, so I began experimenting with various noise combinations, which yielded a stylised and simple foam pattern. See Figure 4 for the foam shader graph design.

Figure 3: Unity Screenshot of Water Texture interacting with the Terrain

Figure 4: Original Wave Foam Design in Unity Shader Graph (Scaled-down 300x for visualisation)


That’s all for now! The next devlog is coming on 6th April 2025.

- Stephen Rockett

Get Patchwork Pastry

Leave a comment

Log in with itch.io to leave a comment.