Dev Blog
3rd Quarter, Dev Briefing on Citadel of Sorcery

September 17, 2015

   This is our project development briefing for the Third Quarter, 2015. We have been working hard to try to get the publisher demo finished, but we’re still working on it. We’re very close though! Finishing up the major technology has turned out to have a few more paths on the road than we anticipated, but then again, some of those paths are leading to even better things!

Let’s start with the Terrain system, version 3. We finally finished up all the erosion systems, and applied them to the entire planet. Last briefing, we talked about having gotten the water erosion system working, but now we have applied the wind, water and gravity erosion to the entire planet, and it generated out an amazingly realistic world. We have flown a camera around the new planet for hours and hours, and have seen less than 1% of this vast world. Initially we could only look at the far distant level of detail, with the mid-level working at some level. This was still quite amazing to see, and showed a planet the likes of which we have never seen in another game. However, we have been working on the close-up detail as well, and implementing a new system of virtual textures. This system gives us details down to the grain of sand level, without having to use traditional repeating textures. Soil types are created down to extremely high details. This system is now ready for planet wide use, and is being added in the next week.

But there is more… we also created a new ground cover system, which is really stunning. Instead of using older ‘billboard’ grass technology, we grow the grass on the entire planet, each an individual blade. But this is not just a grass system, we coded a ground cover system, capable of making all types of ground cover, from weeds, to wheat, to flowers, mushrooms, sticks and branches, dead leaves, pine needles, ferns, pebbles, pretty much anything, in any mix, you might see on the ground. All of it really there, procedurally modeled, not just a texture (picture).

We just got this system working (two days ago), and have taken a look at the first use of it, which is grass, really great looking grass, if I do say so, and over the entire planet. Other objects can now be added over time. I should note that when I say over the entire planet, I don’t mean as a carpet. It has variable height, thickness, color, density, patchiness, etc. And obviously, once we start implementing other biomes there will be areas that don’t have grass at all, but all of them will have some kind of ground cover, and this system can build anything we need.

Right now we are busy adding this ground cover system into the hybrid Voxel/Point Cloud/Polygon rendering system, along with Large Objects (like trees), Static Objects (like buildings) and Dynamic Objects (like books, wagons, rakes, etc.). This is now a unified system allowing the GPU to handle all of these systems through the hybrid renderer. What does that all mean? In the end it really just means that we have the potential for high levels of detail at great frame rates, and so far this has proven to be the case as the game is running great.

In the next week or two we should have the Large Objects system in place, which (as mentioned) does things like trees, but also creates boulders, fallen logs, large bushes, etc., pretty much any natural object that is large enough to stop a character when they run into it, and let them climb on it, use it for cover, etc. Once that is in place, we will apply the ground cover system to those trees to generate their individual leaves.

Meanwhile, we have also been working on a new system for world development, which we simply call our ‘Cell’ system. Previously, in T3D version 1, we were using parcels for development. Our world is 900,000,000 parcels (each being 1km x 1km). This meant we had to keep any village, town, castle, fortress, dungeon, etc. within one of those parcels. They were also used in other ways to know where NPCs were located, and what parts of the world the player needed at a given time, etc. We tossed that system completely in T3D version 2, and have created our Cell system. This allows us to place locations anywhere we want, and they are no longer restricted to a parcel. We can also easily move them as a unit now, if we need to relocate something. In addition, this new system allows us to let NPCs travel without having the same restrictions as to which parcel they belonged to. The cells recognize the approach of an NPC (or PC) and that triggers certain changes on the server, which broadcasts them down to the client. In the end, it just means that it is even easier to construct mass amounts of locations and NPCs, and the world just handles them without any need for hand work by Level Designers.

This was such a fundamental change in philosophy that we had to re-write whole sections of code in the Enact Tool Set, but that has been completed now, and we get to start working with the new cell system this week.

As mentioned in our last dev briefing, we have been working on a new Tower system capable of generation 10s of thousands of unique towers. This will also be done for fortresses, castles, towns, villages, and has already been done with dungeons. Each modular piece is decorated (numerous ways) and has an A.I. net installed. This way the game creates new towers (or any of those other places) and it is already decorated and ready for NPCs to live their lives. The game then auto generates new NPCs, and they use the A.I. net already there to go about their business. This means that before the Level Designers even start add any story elements, the locations are fully functioning places with NPCs working and living there.

I mention this is because with the new Cell system these NPCs can also start traveling to other locations in the world without any issue, or need for Level Designers to do any other work. It is just another system that will help us develop this vast world with less man hours, and let our Level Designers concentrate on the quests, missions, adventures, etc.

We are down to a list of about 20 things for each team member to get us to the finished Demo. Unfortunately, this puts us close to December… too close. This means it is unlikely we can show the demo this year since publishers (like everyone) kind of go into holiday mode during that period of the year. Though we are disappointed that we didn’t get the demo done in time to sell it this year, we have added some really great features to the game, engine and tools so that when we do show the game it will be that much more impressive. That will likely happen in January.

So what will we do in the meantime? Well, we won’t be wasting the extra time. We’re going to implement our shrink wrap system to the Terrain Engine, and add a new Material Editor while we wait through December, so I’ll give you some updates on those at the next Dev Briefing.

We know we didn’t go over much in the way of art, level building or writing in this briefing, but all of those are continuing to progress, but the most exciting improvements in this quarter have been in the tools, engine and technology. The world is really starting to be quite amazing, and exploring this vast and realistic world is going to be one of the great features of the game, plus allow us to have amazingly epic stories in all of these kingdoms and other locations.

We know that you want to see what I have been telling you about, as a picture is worth a thousand words, and I promised a new video showing some of this, so as soon as the leaves are on the trees I’ll see about getting a new video out there for you guys to look at. That should be in a couple weeks. Watch the Official Forums and I’ll post a link to the movie once it is ready.


(Return to Dev Blog)