We’ve been very busy for the past few months, and forgot to post an update! OK, so here it is!
As you probably remember, we have been working on our own game engine all along. In 2015, we decided to upgrade to a Physical Renderer to improve the graphic looks of the game (see previous blog posts). We also created our new World erosion system, which generated our planet terrain in very realistic ways. As part of the upgrade to the Trident3D engine, we also created a hybrid system of Polygons, Voxels and Point Cloud objects, a very innovative system that allows us to show far more into the distance without resorting to fog. Next up, we set about adding the grass and tree routines to all of this… which is where we ran into trouble!
In the simplest of terms, typical rendering systems could just not handle the amount of detail we were seeing. Most game engines only render out a few kilometers before fogging out. If they do seem to show further, most likely you are just seeing billboards. These systems, again, typically, use a zbuffer system to render each frame. In CoS, we want players to be able to climb up on a mountain top, look out over 200 kilometers, until the curvature of the planet hides anything else, but not fog. Out in our world are trillions of unique trees and a host of other details. This was overwhelming the standard zbuffer rendering system. There were just too many things to deal with.
So, instead of resorting to fog, or to removing detail, or anything else which compromised what we wanted you to see, we decided to spend the time to create a new rendering system, unique to our engine, that WOULD allow us to render all this detail.
It has taken us the past few months to accomplish this goal, and, in fact, we are still working out the last bits, though, for the most part, it is now functional. This uses a 3D cube rendering system rather than a zbuffer, and due to some very innovative methods, it is extremely efficient at building a frame of our world, with all the details we wanted.
This new Rendering system has other advantages as well, certain types and shapes of objects or terrain, in a standard rendering system, cause problems with texture stretching and other anomalies. Our new system solves these issues, so everything should just look better.
In addition, the entire world is handled in a unified rendering system. This means that not only are buildings, ground, foliage and everything else on the ground handled by the same system, while allowing us to mix and match those polygon, voxel and point cloud objects, it also extends upwards into space. This means that even clouds are real objects, which can change shape as they move.
Between the new 3D cube renderer, and the hybrid system, this is a unique engine that allows us to do things that other typical engines cannot accomplish to the same quality or quantity.
So that’s the good news, the bad is that this took a few months to perfect and that set us back in other areas as we have had to wait while this gets functional before we can go back to working on some other areas. Of course, not all work has stopped, just things that were affected by this rendering system change.
We hope to get back on track starting in June or at the latest July, so we can button up the demo at that point. There are a few other smaller things to do before that is ready, and these things were delayed, but they won’t take long once this new and unique renderer is fully functional.