May 092016

Welcome! At the moment we are all intensely focused on a single goal: reaching closed beta status. Which is the phase preceding the pre-release (at which point you’ll get a chance to experience the game for yourself). There’s still some work to be done but we’re definitely nearing the end of the tunnel!

We’re testing things all the time, making sure one change doesn’t break anything distantly related. So when we do release, bugs will not be of the kind anyone can see within the five minutes of playing. No, they’ll be much more devious than that… 😀

As you probably know, Ghost of a Tale relies a lot on tessellation. Now tessellation is great because it creates micro details based on a texture while the base mesh (the original “flat” model) remains quite simple (and thus does not tax CPU or memory as much).

In the following pictures you can see the base (Maya) meshes for the set. Their density is kept quite low and mostly uniform:

ScreenShot 2016_04_07 14;51;14001a

And here’s the final in-game picture, with textures and lighting (although the torch’s fire particles are turned off):

ScreenShot 2016_04_07 15;18;10001small

One of the issues with tessellation though is that it’s not “stable” by definition. Meaning it constantly re-evaluates the subdivision level, usually depending on the camera’s distance to the mesh.

The result of which can lead to “swimming” textures artifacts; the details created by tessellation seem to constantly morph in an almost organic way. It’s quite distracting and can look frankly rather poor.

But not long ago I have found a way to fix this issue and now all the environment feels rock solid; no more wobbly textures! Yay! :)

Here is an example of Tilo walking near that tunnel area.


On a different topic I’ve just integrated the new sound effects provided by Nicolas (the foley artist helping on the game) and they sound awesome! It’s a delight hearing Tilo scamper from a ground surface made of earth to climbing steps made of stone to plodding on a wooden floor, etc…

Jeremiah has also been delivering soundtracks and they’re (as usual) terrific; they blend in super nicely when talking to characters and bring another level of immersion.

Finally here’s a little time-lapse type video of the day quickly going by over Dwindling Heights. It looks far better in the game because you can see braziers lit around the tower but I thought you’d like to see it anyway.


And with that I’ll go back to work and end this update. Thank you for reading it and for your patience waiting for the game, of course. I think you’re all going to be pretty happy when the time finally comes… :)

Mar 312016

Welcome to this new update! It will touch upon varied topics and as always I’ll try to present an interesting insight into what it means to develop Ghost of a Tale. But first, let’s start with a screenshot of Dwindling Height’s war room… :)

ScreenShot 2016_03_31 10;25;21001

Switching to 5.4

Well, that didn’t go quite as planned…

In fact, the move (from 5.3.1 to 5.4) I alluded to in the previous update was basically a catastrophic one. The reason is very simple: 5.4 was in beta stage. And it is entirely my fault for thinking “how bad could it be”.

For months it was written on Unity’s road map that 5.4 would be delivered at GDC 2016. And they did indeed release it; but as I was saying it was just a beta. To be more precise it was the 10th beta. And I thought “alright, some new things won’t quite work yet, but that’s ok”. That was naïve.

Turns out the move to the beta took me about week. At which point, after the 20th crash to desktop, I had to face the fact I had made a terrible decision and subsequently spent about a day just to revert to 5.3. With the indispensable help of Cyrille I managed to salvage about 85% of what I had created while using the beta, and had to rebuild the rest.

Bottom line is: the 5.4 beta Unity ended up releasing in place of the “real” 5.4 is still months away from being anywhere near production-ready and it is my fault for not picking up on the obvious beta clue. Lesson learned.

We’re now back to 5.3 and while we won’t get the improvements we were hoping from 5.4 I’m just very happy to be able to work again! :)

ScreenShot 2016_03_29 11;00;41001


Since the game doesn’t use baked lighting at all (every light is dynamic) it presents some optimization challenges. Casting shadows is very expensive in Unity. And baking shadows is quite limiting and would really bog down my workflow.

So I had to come up with ways of keeping nice visuals (shadows are a big part of it) and yet not burn the framerate budget on things that wouldn’t be seen.

It took a lot of work but I improved on the system I already mentioned in a previous update. Before, the lights visibility distance were subordinated to a unique value; an absolute distance all the game’s lights followed.

I changed that so each light now has a specific visibility distance, depending on its location and visibility. That level of granularity keeps lights looking the same, but they’re smoothly turned off by the game as soon as they’re not needed anymore.

It makes a very big difference in the framerate. Before, in the jail, I was around 45-50fps. Now I’m mostly around 70fps (oscillating between 65fps and 82fps). The courtyard is another matter though and I still have a lot of work to do there.

On top of this optimization work I also started using a different LOD system (called AutomaticLOD) for some of the game’s assets (models are getting simplified the further away they get from the camera). It allows the poly count to go down without any noticeable visual drawback. I’m still putting the asset through its pace but so far it works brilliantly and the developer is both helpful and reactive, which is extremely important!

ScreenShot 2016_03_25 23;21;18001

Table Decision

We have this game mechanic where the player can hide in a plethora of items (chests, barrels, cupboards, etc…). Basically anything that would accommodate Tilo’s size.

But since the beginning, tables have been a sticking point. Because it looks like Tilo should be able to fit under one, but actually the table colliders did not allow him to simply walk under a table. Yet it wasn’t visually very clear.

A long time ago I had implemented an automatic system that would put Tilo in a “forced sneak mode” when he would get near a table (touching it). And it would allow Tilo to walk under the table. It worked alright for the most part but wasn’t entirely satisfying.

In the game, when you want to hide somewhere, you switch to the “sneak stance” (hold the right gamepad trigger) and the option to hide becomes available. But again, with tables we were in a situation where it was a half-way thing; you weren’t hiding but merely “concealed”. Sometimes.

And it came with a couple of problems: when Tilo sneaks his walking speed decreases (which might be unwanted if you’re being chased) and when under a table it wasn’t clear if the enemies should see you or not. All because Tilo wasn’t officially hidden.

The solution was to simply turn tables into bona fide hiding spots. This was achieved by lowering slightly the tables’ height so that Tilo can’t quite fit under even when sneaking; hiding under a table is now a clear-cut player decision. You enter the hidden state, or you exit it. No more confusion.

Those kind of things become clearer as we play the game and the structure becomes more established; things that are half-baked like that tend to stick out more.

And on this point I think I’ll end this update. I hope it was an interesting enough read! As usual, please leave your questions and comments below. See you in the next update! :)


 Posted by on March 31, 2016
Mar 082016

Those last few weeks have been rather intense in terms of workload but they’re definitely bearing fruits. It’s fantastic watching everything come together. I feel a bit like Tilo, catching a tantalizing glimpse of the outside world! :)

ScreenShot 2016_02_19 22;18;39001

Talking of the outside world, I recently took a field trip with a friend of mine to an old abbey in the south of France. There, I was able to capture amazing new textures to improve the looks of Dwindling Heights and give it a more authentic cachet in some areas. And again it’s one of those rare occasions where I can actually work on GoaT while leaving the house!

It’s hard to believe but it’s going to be three years almost to the day that I have started working in earnest on Ghost of a Tale. How time flies when you’re having fun… 😀

I found an old picture of the environment I showcased during the Indiegogo crowdfunding campaign (running on Unity 4.0) and compared it with a recent screenshot (running on 5.3), just for the heck of it (it’s obviously not the same location)…

ScreenShot 2016_03_07 22;51;36001

So much work and experience gathered in-between those two pictures! And great people met along the way without whom Ghost of a Tale would not be what it is today (Paul, Cyrille, Jeremiah, I’m looking your way).

Which brings me to the crux of this update: if everything goes well (and it’s a big “if” of course) we should go to beta within the next couple of weeks. The beta version will contain all of the pre-release’s features but some will be incomplete (as they’re still being worked on). Place-holder asides though it should give us a good idea of the game’s actual state.

The goal for us is to get feedback from people who never played the game before. And hopefully we won’t have any bad surprises! On that topic, we already have a short list of potential testers so I think we’re all set on that side… 😉

An unknown that remains in the equation is we’re going to try and move to Unity 5.4 when it’s released (very soon). The reason is a few of the bugs we still have (and which unfortunately affected a couple of recent Unity games) are supposed to be taken care of. So fingers crossed!

And as always, please feel free to express your support and/or ask questions in the comments section below…

Feb 082016

Welcome to this new Ghost of a Tale development update! It should come as no surprise that hard work continues, more intense as ever; Cyrille and Paul are toiling away on their task list and we still have to implement quite a few things before we’re ready to start beta testing. I mean we do test constantly of course, but this time it should be with people who never actually touched the game before.

Here’s a picture of Tilo exploring the sewers. Ooh lookie, he found the Red Ranger’s hood (the Red Ranger is a folklore character in the game’s world)! :)

ScreenShot 2016_01_20 17;18;29001

Jeremiah also has a lot of work ahead of him to compose all the tracks needed  for the pre-release. But he’s as fast as he’s good, so I’m not worried. Instead I’m excited to be the first one to discover his work!

Over the last couple of weeks I’ve done a huge amount of work in animation, 2D art and coding. I’m currently squashing A LOT of bugs which is actually pretty nice because that means hopefully you won’t find them in the game (no, you’ll find completely new ones! 😀 ).

I’ve also started implementing in-game tutorials. As you know it’s a tricky task to trigger them only at the right moment and location. I personally hate it as a player when a tutorial message interrupts the game just to tell me something I’ve already figured out. So that shouldn’t happen in GoaT!

Next I would like to thank all the contestants of our papercraft Tilo “contest”! Paul was so proud of all the creative energy put into bringing paper-Tilo to life!


Those pictures are just a sample of the ones posted in the thread. Congrats to all the winners; you guys will be able to claim your Steam key when we the pre-release goes live. You earned it!

Which is a nice segue into the next topic: Steam! Cyrille took it upon himself to dive into all the tutorials related to the online distribution platform and came up with a plan that worked (as you can see in the picture below).

ScreenShot 2016_01_30 18;26;22001

We have tested the Steam publish pipeline and were able to upload a build which we could then access through our Steam accounts. Needless to say this is a significant milestone! It means that when the time comes to go public we should be able to do so with minimal fussing.

(FYI the build we uploaded was just a dry run and didn’t contain the game’s environments – hence the small footprint; the Early Access download itself should be a little over 1GB)

Alright, I’ll go back to work and leave you with this short test video I posted on Twitter a few days ago. It just shows the game’s starting area. See you all in the next update! :)