Ever wondered how grass is made in video games?
Making grass may seem simple, but theres actually a lof of history and technology behind this surprisingly complex topic.
Another big thread 🧵
Back in the day, there technically was no grass in video games. Developers would simply take a grass texture and apply it to the floor of the level.
These textures were either hand-painted for stylized games like Super Mario 64 or created by combining real-life pictures in games like the grass in the original Halo on the map Blood Gulch.
Looking back at these games, it's clear that this technique hasn't aged well.
However, at the time, the average artist only had about 128 megabytes of RAM to work with, so sacrifices had to be made.
On the plus side, this technique was great for performance, as your GPU would only have to render a single texture image.
But no matter what we do, using a simple flat plane will always look flat.
Sure, artists were able to fake some detail using normal maps to catch the light and give the grass texture more depth, but that didn't really solve the main issue.
So, developers started using something called grass cards.
Grass cards are simple 2D images of grass that utilize an alpha channel to cut out the remainder of the image.
A single grass card looks something like this:
However, placing rows of cards in front of the player doesn't look convincing, and placing the card as a sprite so that it always faces the camera also - looks like shit.
To get around this, game artists place grass cards in clumps at 90-degree angles. So now, when you look at a grass clump, it looks somewhat decent from most angles.
While this is a low-cost solution, it isn't perfect, as overlapping transparent objects can cause overdraw, which can impact game performance.
But the great part about this technique is that you don't have to fill your game level with thousands of these grass cards.
If you have a lower performance budget, many games place a decent grass texture on the ground and then scatter a few grass clumps around.
Now, this works great when you look at grass from the sides, but the illusion is somewhat broken when you look straight down at the grass, creating these criss-cross patterns you've probably seen before.
However, this technique is still used for trees and bushes.
If you look closely at the branches of trees in most video games, you can see that the leaves are just 2D images placed in clumps along the branches, making the trees feel more full and fluffy.
For a decade or so, this method has been more than enough. But now, processing power is growing exponentially, and games are starting to use 3D modeled grass.
By modeling a few simple blades of grass, artists can group them together into varied clumps of different sizes and shapes.
Then, they can paint these clumps randomly across the landscape to create interesting shapes and silhouettes.
We have a massive Unreal Engine course that teaches you how to make grass like this, so if you're interested feel free to check it out:
courses.stylizedstation.com/p/survival-kit
For large open worlds, manually painting these blades of grass into the game would take ages.
So developers are able to create procedural systems that do most of the heavy lifting for them.
These systems can place specific types of grass in their correct biomes or create color variation in each blade of grass to add variety.
However, this can still be graphically intensive, especially in large open worlds.
Therefore, developers can also swap out the 3D modeled grass for grass cards at a distance, which creates the popping in of grass that you see in games like Breath of the Wild and other open-world games.
This dynamic swapping of assets is called LOD, or Level of Detail.
This grass technology is continuously evolving, with studios like Sucker Punch rendering their fields in Ghost of Tsushima by generating individual blades of grass on the GPU.
This way, each blade can have its own procedural appearances and animation. Pretty crazy stuff.
But that is going to be a topic for another post.
Thanks for reading!
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.