Image Image Image Image Image Image Image Image Image Image

The Golf Club | June 2, 2023

Scroll to top



Development Diary: Jim O’Brien – Art Lead
The Brief

At the start of the project we were given a Visual Targets Brief describing the overall visual quality we needed to achieve. Key items included the range of lighting styles, vistas and atmospherics required. It was essential for the environments to be as much about the beauty of the surroundings as about the sport being played.


The challenge with a procedural course generator is to ensure the courses will look great no matter what combination of values were used to create the course and its surroundings. We also needed to take into account that, through the Course Creator, the user can see anything from any angle and at any distance due it’s flexible camera system.

See The Brief History of The Golf Club for more.


Procedural Course Generator

Initially time was spent prototyping a course generator and proving that we could, with some simple rules in place, create a course with different surfaces for fairways, rough, bunkers and greens.

The Golf Club Screenshot

An early, top down view of a generated course.

We were creating simple courses in a debug environment within a month whilst collecting specific visual target reference specifically for grass to start with.

See Procedural Course Creation for more.



The foundation upon which all the visuals would be built was the grass. David McFarland, Senior Software Architect, developed our Terrain Shaders allowing us to control the scale and height of the different cuts of grass. A combination of noise values allow us bend the grass blades in different directions for a more natural appearance both close up and at a distance. Those noise values also affect the grass behaviour with the lighting system.

The Golf Club Screenshot

Grass comparison.

One difficulty we had to overcome was to get the grass to work at all distances and angles. Testing and tuning this required lots of zooming in and out. For a while there, we were seeing grass even with our eyes closed!



Our procedural course generator takes care of the golf course itself and the land around it, all created on a 2km x 2km terrain object. The surrounding vistas or backdrops are a separate object at 16km x 16km. These are created in a standalone tool to which we assign the initial shape and height parameters. Then, erosion is applied based upon the original rock hardness, sedimentary carry and time. Factors such as slope, height and water level affect what surfaces are applied to that object.

The Golf Club Screenshot

The backdrop for the Links theme.

We export a backdrop terrain mesh for the game and, where required, trees are layered over the top of this. When we run the game, the procedural terrain is generated in the middle of the backdrop terrain and then stitched in.

The Golf Club Screenshot

The backdrop for the Desert theme.

We’re hoping to be able to offer alternate backdrops per theme in the future.



Probably the single biggest advance in the evolution of The Golf Club visually was the lighting. The development of our lighting model gave us realistic lighting and shadows along with volumetric shadow casting clouds. In the Course Creator, the user can create their course and tweak the time of day plus the inclination and orientation of the sun to suit their preferred tee off time.

See Creating Realistic Sky and Clouds for more.

The Golf Club Screenshot

Morning light in the Autumn theme.


The Golf Club Screenshot

The end of the day in the Autumn theme from the same camera angle.

See also Tutorial – Changing The Lighting For A Course for more.


Soil and Light Values

In the early development of the procedural course generator, trees and bushes were pretty much evenly distributed across the terrain. The addition of factors such as soil depth and light values enabled us to create a more realistic distribution of foliage. Now we have clustering of different foliage types that feels much more natural.


The Golf Club Screenshot

Clusters of foliage in the Rural theme.

Presently, we’re working more on the behaviour of the foliage and ground surfaces beyond the light rough. Currently everywhere beyond the light rough is covered with a heavier cut of rough. Our entire terrain is too well manicured!


We’re applying similar logic and rules to the terrain that we use for the foliage. Where those trees cluster together, less light will reach the ground and grass won’t grow, dirt will show through instead. Above certain slope values, rock will be exposed and so on.


The Golf Club Screenshot

Here are some trees and bushes in their clusters.


The Golf Club Screenshot

The tree count has increased. There are less bushes and shrubs


The Golf Club Screenshot

More trees, and now more dirt.



Soon, the Course Creator will no longer place bushes and long grass on the light and heavy rough by default. The user will be able to set the width of these two cuts of grass and therefore determine how close the heavy foliage will come. If the user wishes to bring those items into the rough they may place them as required.


Course Props and Buildings

We have an ever growing palette of objects for the user to customize their courses. Along with the Trees, bushes, plants and rocks, there is a selection of buildings, bridges, signage, furniture, equipment and vehicles to add more detail to your courses. Over the coming months, much  more content will added. We even have Wildlife!

See The Golf Club Wildlife for more.


We want more!

We’re working on two more environment themes for the final product – Links and Desert – and, hopefully, we will be creating a few more after the game launches.

The Golf Club Screenshot

The WIP Desert theme.