Rocks and Water!

Welcome to this new Ghost of a Tale development update! This is a rather sizeable one to make up for last month because we were so busy preparing for GDC. So think of it as a double-issue! 🙂

GDC Adventures!

Paul single handedly took care of the Ghost of a Tale booth like a champ! He had to stand and talk for three days straight but he had a grand old time overall. And it seems everyone who played the game really liked it!

So it was an excellent experience and Paul even gave away some swag (big thumbs up to forum user Nautilus for his nifty screenshots)!

Although I wasn’t personally present at GDC let me give a big thank you to the Unity people who were nice enough to invite us and feature Ghost of a Tale in some of their tech demos and on the mighty large screen looming over their booth!

(Oh my, who could the chirpy fellow on the right-hand picture be…?!!)

Whiteboxing:

So I’ve finally started the long stretch of “whiteboxing” all the remaining areas of the game. Meaning creating locations out of cubes and low-rez polygonal volumes. This is a crucial phase, as it’s going to allow us to explore for the first time the entirety of the game’s breadth.

The goal is to clearly define space and indicate all the required areas while remaining suitable rough (to avoid getting bogged down by details).

It’s a mixture of composition (from a graphical standpoint) and game design (interesting paths to navigate) while also encompassing sheer functionality (things need to make sense for the world’s characters).

So far whiteboxing is done for all the as-of-yet off-limits areas in Dwindling Heights (barracks, commissary, commander’s office, cellar, etc…).

Even without the final models and textures it’s great to get the sense that everything is properly connected from an architectural standpoint.

Xbox One Preview Version Status:

Just as we were ready to submit the game to Microsoft we uncovered an unfortunate memory leak bug within the Unity engine (specifically related to the console) which keeps us from finalizing the process.

Basically the player could save and reload their save 2 or 3 times before hitting the bug. Both Unity and Microsoft are of course aware of the issue and I’m sure they’re going to do whatever is in their power to fix it as soon as possible.

We’ll keep you posted whenever we hear back from them!

Rocking Assets:

I’ve created assets which will be used to populate the new locations, among which are some new rocks!

I do use quite a few photogrammetry rocks in the game but I wanted to have more “designed” ones that feel graphical and purposeful, as opposed to simply realistic. So this time I chose a different workflow.

In the past I had used Zbrush to create rocks but was never happy with the result. So this time I went back to the basics and simply started from a cube in Maya. Cutting faces and pulling vertices allowed me to remain focused on the shape above all things. No details, no distractions. Just thinking about faces and silhouette.

Then I created a tileable texture in Photoshop containing all the fine details, cracks and small crevices that I needed.

At the heart of this method is the clear delineation between “shape-features” and “surface-features”. The earlier is only concerned with polygons, the latter with textures. While it’s important to remain aware at all times of how both domains are going to overlap I made sure I never attempted to add small features to the shape if it would be better suited for texturing and vice-versa.

This allowed for the final result to retain a fairly stylized looks and yet appear appropriately realistic when seen up close.

An advantage of this technique is that all the rocks share the same textures (diffuse, normal, etc…) so memory wise it’s quite a boon.

It also means I can simply swap the diffuse texture for a completely different look. And the models themselves are very light since I only split edges where it can be seen (silhouetting).

Water Works:

I’ve just started developing a new shader for large bodies of water (ie: Lake Vaelia!). It’s a rather cheap/simple shader (since it doesn’t even use the Gerstner algorithm) but at this very early stage it’s showing promises.

(Thanks to Cyrille for helping me with non-trivial sine-waves math!)

And another quick test of an even earlier version of the water in different lighting conditions (night/morning/afternoon/evening). It might seem obvious but I can’t stress out enough the importance of always checking your assets in different lighting conditions!

(Apologies for the terrible quality of the video grab)

That’s it for this update. Once more, thank you all for reading and don’t hesitate to post your questions/remarks in the comments section. See you all in the next update! 🙂