1. Colonize
  2. News

Colonize News

DevBlog #05 - Level Design

Most of our level consists of trees, bushes, and nature in general. Today it is no longer possible to know how it once looked or what exactly made up nature in the past. That's why we start from today's maps and where the forests could have been 400 years ago.

[h2]What is the purpose of the shader in the level design process?
[/h2]
Shaders define materials' properties, such as color, texture, transparency, and reflectivity. They also control how light interacts with these materials. Shaders can be customized using Unity's Shader Graph visual interface or by writing code in the ShaderLab language.



Our Terrain shader combines several different types of surfaces, from beaches and different types of grass to mountains. Added to this is the possibility for snow through various pre-prepared masks or masks produced in real-time in the shader. You can see on the right side all the inputs that go into the shader for a terrain, masks, tiled textures, and some floats that control the shader behavior.

If we have everything ready and are satisfied with the terrain, we will proceed to the actual painting of the objects, scattering. We have several types of trees, shrubs, almost 100 different stones, and forest debris.


Everything is manually placed on a 1x1km field. One level took us over two months, and three artists were involved in the level design. We currently have three maps ready, which we are still satisfied with. We want at least six levels prepared for you when the game is released.

Why We Still Haven't Finished Our Game

Making a video game is a complex and time-consuming process that requires a lot of work, creativity, and dedication. Despite our best efforts, it's common for game development projects to run over schedule.

As many of you guys wrote us, the first quarter of 2023 is almost over. Where is the game?

One of the most common reasons game development projects go off track is scope creep. This refers to the gradual expansion of the project's goals and requirements, increasing workload and development time. Sometimes, new ideas or features are added to the game that was not originally planned, or existing features are expanded upon. While this can lead to a better game overall, it can also cause delays and make it difficult to reach the finish line.

That is one of our problems, but the most significant problem is planning or even planning with people. A human being frequently wants free time, vacations, or getting sick. Something that needed to be clarified for me when planning all the features and creating a schedule.

Now the game is in the phase where all the art is almost done, and the rule 80/20 is now present. What does it mean? That 80 percent of work requires the same amount of time to complete the rest of the 20 percent of the task/game. To be more specific, we started building the Colonize from scratch. We are now in the phase of putting everything together but adding all the ideas, the stuff that worked, and getting rid of the stuff that didn't work in Colonize Prologue.

My idea was simply to show the programmers, ok, here is the game. Make it the same but better, add a save feature, localizations, make the roads, etc. Well, they showed me I was wrong.

But don't worry; we changed the release date to TBA, something we should did in the first place. It does not mean it will take a year or two to make it available, or even the Colonize will be abandoned. Not at all!

It means we don't want to stress our team and mislead our players.

Best to you all,
- sanchez

DevBlog #04 - Terrain Masks

In the New England colonies, the landscape was characterized by rolling hills, rocky outcroppings, and dense forests of deciduous trees such as oak, maple, and birch. The grass was typically a mix of native species such as bluegrass and fescue.

How to make such diversity in the strategy game with limited resources?

You can use up to 4 different masks in one texture since you have RGB and alpha channels. You must prepare it well and consider what you want to paint or render there. For example, for the Red channel, we render the height of the terrain from -5m to +30m. For Green, we bake the scene's ambient lighting into the mask. Blue channel had a special mask that described the steep terrain.

Then you still have space for the last mask in the Alpha channel. Here we put all the beaches. We took a certain height from -5 to 0 and said, " Okay, these will be beaches." Then you take this data and paint on them manually, adding or removing the areas where you want to have them.



Again, we mainly used Houdini for the possibility of reuse and consistency of the output for all the terrains we will have in the game.

We also generate small flowers and grass for each terrain. These flowers and grass are cards with a texture of different species of flowers and are scattered on the surface by height or by random noise.



As we described in the last blog and this blog, preparing one output takes a long time. But when you prepare it for one terrain, you can quickly implement new maps into the game.

Next time we will discuss the level design, planting trees, bushes, rocks, etc.

DevBlog #03 - Terrain Creation

We want the Colonize game to have accurate maps, authentic scenery, trees, animals, mountains, meadows, and everything as it was in the 17th century. We try to get as close to it as possible, so we make each map according to the elevation map of the given area.

[h3]Let's show you how we created the Roanoke map![/h3]

The environment of the first Roanoke Colony, located on Roanoke Island off the coast of North Carolina, was a mix of coastal plains, forests, and wetlands. The region was also known for having abundant resources, such as timber and fertile soil, which helped the colony establish itself.

We chose a part of Roanoke Island, specifically around the city of Fort Raleigh. Currently, you can see that there is an airport, and the overall development of the given area is relatively large. Almost most of the land is already in use. That's why we had to invent a little and adapt the terrain to our needs.



As for technical restrictions, the terrain must be 1x1km in size, have a maximum height of 30-35m, and the construction area of the land is 1m above sea level and must be completely flat. That's why we had to re-engage some semi-automatic processes in the Houdini program, which we already introduced last time.

For input, you have raw data, mostly in poor quality, but they serve well. The data goes through several changes, adding various noise displacements, adjusting the beaches, defining the constructible surface, and meeting all the technical conditions mentioned above.



Next, painting the required masks for the shader to create the final appearance in Unity is necessary, but more on that later.

Play with dev

Let's play together !