It has been a while. I have putting off posting here until I had something new but today, after reading a nice post on the Unity forums about motivation and creativity, I decided I would start posting my process rather than wait until it is done.
As those of you who visit our forums know, we are working on an alpha version of the mini-game that will eventually lead us to building Caeril. Our process is to build an area of the Bloodlands and use it for testing while the testers play a small mini-game. By mini-game, I do not mean checkers or dice rolling, I mean a mini version of our full game. We will add features as we move through our mini-game series allowing each set of features to be fully tested before moving on.
Our networking and MMO engine will be developed by a third party and are in testing right now. The projected date for the networking is sometime in the late summer/early Fall, although development plans can be stalled, even with the best of intentions. So I wouldn’t count on that date. Sometime in the near future though I predict. 🙂 On top of the MMO engine/networking solution we will be creating our own stats, skills, etc. so no worries that our game will be some generic kit game. We are already starting that process. I will discuss all that as well as plans for character creation, Unity’s graphical updates due this Fall and other interesting tidbits in later blog posts.
Today, however, I want to talk about terrain creation. Unity has some major issues with their terrain. It is well optimized and looks good when lighting and shaders are applied, but it can be a chore to create a decent and realistic looking terrain. I have used several third party applications. My height map was built in World Machine and I used Terrain Composer, a Unity Asset, to place textures, grasses and trees. Water+, another Unity asset was used to make realistic water. I am pretty happy with the results.
My goal was to create a river valley surrounded by hills. We need a rocky area to provide building stones and a scattering of small forests for wood and herbs. Resource gathering will be an important part of our Phase 1 Mini-game, Among the Ashes.
The picture below is an early rendition of the terrain. I have not yet added grass or trees, other than a bit to build up a nice scene for you. My next step will be to add the shaders but I want you to see it before the shaders are added.
In this photo, you can see the effects of erosion added to the hills by World Machine. You can also see the river water, which looks even better when in Game Mode. In the background, you can see a rocky cliff. An extensive quarry will be built near the cliff. The terrain does not yet include shaders and is lit by a direction light, showing the terrain shadows and normal maps. I have limited the number of textures but using Terrain Composer, I could mix the edges giving me more detail. I also plan to use a Color Map which will give us more variations in shading beneath the ground textures.
Below are a couple of pictures that show the river. The looming cliff is clearly seen in the first picture. The second shows the lighting and reflections of the sky on the river. Both of these are taken in Game mode, which means the game is running while they are shot. The lighting and textures look nice in Game mode. Again, you can see the fantastic erosion features of the World Machine height map.
Now it is time to add vegetation, including grass and trees. Grass will be added as both meshes and billboards. The difference is that billboards are flat and very low poly compared to a mesh. They work well when you want a dense patch of grass that looks good from all angles. Mesh plants are best for smaller clumps, less dense and for plants that are more complex. Trees will be added as meshes but Unity’s optimized terrain system turns them automatically into billboards at a specific distance from the character controller. This allows us to add more trees.
Another point about the terrain….This terrain consists of 16 individual terrains, each one stitched together. This allows us to use a larger terrain. As the player moves across the terrain, the individual blocks will be rendered, again allowing us to optimize the terrain, adding more trees and objects, without a huge load on your computers or the servers. We can change the settings to make them look good while still maintaining acceptable frame rates. The Ashes terrain is not a massive terrain but is approximately 2 km square. We can easily add on to this terrain by adding additional blocks and even add these extra areas to our World Machine height map. In this way, we can grow our world for additional phases of the mini-games and eventually add Caeril…and even the other cultural lands.
Thanks for sticking with us and please tune in for more blog posts. I will add some more pictures regularly as I build the terrain. Due to the frustrations of using software of any kind, this could be later today or if I am unlucky, it might be tomorrow or the next day. Hopefully, not much longer.