This week was all about improving visuals and diversity. Here's a quick overview of the main changes, then I'll explain each subject in detail.
Region Atmosphere System
One of the core philosophies of development is to create a unique experience every time you play. With that philosophy in mind, one of the goals of terrain generation is to have an interesting world that is worth exploring. To achieve this, each world has to be diverse and each region interesting. Alongside region landscapes and environments, region atmospheres help accomplish this goal.
Region Color Palettes
Desert themed color palettes.
Each region will now create its own color palette. The color palettes are divided into 'themes', there are currently grassland, desert, and tundra themes. They are chosen based on the block that spawns on the surface. Each palette has a main color and a sub color that compliments the main color.
In the video you may also notice that the colors change at different rates. Some regions will have dramatic color 'patterns', while some are more subtle, gradual, changes in color.
Variable Skies & Clouds
Grassland themed region, the new atmosphere system makes what would have been a happy and calm region before, into one that looks more eerie and uncomfortable.
The color of the sky and clouds change depending on the region you are in now. The sky and cloud color are complimentary colors that are based off of the region's main color.
You may also notice that the foliage and flowers are also affected by the atmosphere system. The new fog system is also affected by this!
Variable Fog System
A new fog system was added this week. Fog normally acts as how a render distance fog would, but it also could act as an environmental effect. In the video above, the region has a foggy atmosphere so the fog is much closer to the player than what it normally would be if it were just a fog based on render distance.
Image of a pine forest showcasing new graphical changes.
There were a few graphical changes to improve the overall look of the game. The goal was to make it more vibrant and clear looking.
Post Processing Changes
A few post processing changes were made. Probably most notably is the color grading. The game has more contrast and slightly higher saturation and brightness. Took a bit of tweaking and experimenting with different post processing profiles to achieve this look.
Another change was ambient occlusion. Previously there wasn't an SSAO effect, the AO was built in the voxel engine itself. I added an SSAO post processing effect, and decreased the intensity of the built in AO. It may seem counterintuitive to have both types of AO, but I figured that this would just be a quick addition and it happened to turn out quite nicely.
The final post processing effect is a very subtle vignette. You can hardly notice it, but I think it makes things look a little less flat!
There were a few changes to some of the shaders that helped create the improved look. The image below was taken before the graphical changes. A few issues in this image were fixed.
Before image. Under the leaves you can see an unintended shading issue that makes the bottom of leaves look grayish. In the background you can also see that the foliage and flowers don't mesh well with the grass block they're on top of.
First I changed how a shader effect used for the leaves worked. The bottom of the leaves are darker and overall blend in more with the terrain. Then I tweaked a few things in the shader the foliage uses to make them look a little less awkward. Subtle changes, but they add up to create a better look!
Another change I've made to some of the shaders is being able to handle the new color palette system. Previously all blocks used colored textures, now some of them use greyscales. Flowers use a greyscale for the 'grass' part of the flower, and a colored texture for the 'flower' part. Above, in the second video, you can see how that looks.
Miscellaneous Graphical Changes
Single color grass block and more colorful clouds are seen in this video. You can also see how the foliage and flowers kind of fit in more with the terrain compared to previous images and videos.
Some other graphical changes include better looking clouds and a change to the grass block texture. I changed the grass block texture to give a little bit more of a simplistic look. Previously the dirt color was included in the grass block texture, so every time you saw grass you also saw a small strand of dirt underneath. I felt like removing that part of the texture just made things look smoother.
Here's a before image I posted last week.
An image that was taken last week of improved plains landscapes.
You can see in this image that the clouds looked less colorful and flatter. The foliage looked pretty flat as well, and the dirt color included in the grass block texture that has now been removed.
New Block Spawn System
Lastly, I've developed a new spawn system for blocks. Previously blocks either had a random chance of spawning or not. Now there are three different types of block spawns.
Before there were only the blocks that spawned as layers (grass, dirt, stone), and blocks that spawned randomly (random surface blocks, foliage, flowers).
Spawn types from left to right: Default, Loose Group, Tight Group.
Every block now has a spawn type. Foliage spawns with the tight group type, flowers spawn with the loose group type, every other block uses the default spawn type. I think this new group-based spawn system makes things look better. It also will be extended to include resources like ores and variations in surface blocks.
Next Week Preview
Next week I'll be improving upon the atmosphere system and continue to make improvements to the graphics. I plan on changing how shadows work and adding some new trees, among other things too.
Hopefully by the end of this month everything will be in a very good spot visually so that I can start working on generating some creatures to inhabit our procedurally generated regions. So stay tuned!
Also one last note, Sunday blog posts will be coming back after a three week hiatus. Previously I wanted to make a post about how the procedurally generated creature system will work, but this will be delayed. Tomorrow I will instead post an in-depth look at the new atmosphere system.
Looking forward to showing y'all some pretty cool content soon! :)