Ladies and gentlemen, I present you the findings of my recent investigation of That Which Sleeps. Wall of text incoming.
First of all I’d like to mention, that even though I never backed this game on Kickstarter, I had high hopes for it and I followed its development very closely. A few months ago I re-read this whole thread, watched all the official videos and all the screenshots and I wondered – what went wrong? It seemed so polished and coherent, the gameplay was supposedly there – there were reports of testers playing the game and doing wonderful things in it. Could it really have been a scam?
Unable to satisfy my curiosity with anything I cound find online, I decided to go deeper. I contacted a certain fellow (whose name I will not mention at the moment, in case he would rather remain anonymous), who helped me obtain the map editor that was only released to beta-tier backers. Since decompiling Unity scripts is just a matter of downloading some free software (like ILSpy or DotPeek), I wanted to dive into the editor code in hopes of finding some clues on the game itself.
Imagine my surprise when I opened the dll file and found all the game code inside. It turns out that the map editor was built in the same project as the game shown in early videos, so all the scripts got included in the build.
Here’s what I found out:
1. Hundreds of third-party assets
Okay, maybe not hundreds, but there is a lot of third-party code in there – mostly from the Asset Store. Some notable examples:
- Gamelogic Grids
- Cartoon FX Pack
- ReadyMade FX
- Particle Dynamic Magic
Most of these are particle effects packs.
2. There is no game logic
There are some game-specific classes (like Agent, POI [Point of Interest], Nation etc.), but there’s barely any code that would handle actual game logic. Most of the code is related to GUI operations, like hiding and moving menus. AI scripts of any kind are nowhere to be found. The questions that show up during scenario selection phase are loaded from an xml file, but answering them does nothing – those answers are not stored anywhere. Lastly, the code that handles POI’s is not really universal – it only has direct reference to an „AventuraObject” which was the only Point of Interest seen in one of the early videos. The data for that city is not loaded from external sources, but hardcoded into the script.
To its defence, there are some data structures and pieces of code that show some foresight, but still there’s almost nothing happening „under the hood”.
3. The code quality is questionable
I don’t claim to be some kind of code-guru, but I know bad code when I see it. It’s poorly structured, there’s a lot of unnecessary code repetition (eg. like 6 tooltip classes that differ very little from one another). Not to mention the faulty approach of creating GUI effects and transitions first without any underlying logic.
So, what are the conclusions? The most obvious one is that King Dinosaur Games most likely lied when they said that they had a working game during their Kickstarter campaign. I’m pretty sure that at the moment of the map editor’s release the game (if you could even call it a game) was not in playable state. I’m not sure it was a 100% scam though. The code I’ve seen shows some signs of effort being put into it. If it was made for the sole purpose of misleading their customers, it could’ve been done way easier. My hunch is that Josh simply overestimated his skills and couldn’t handle the complexity of the project (and those stretch goals didn’t help either).
That’s it for now folks. I did refrain from posting actual code here, but if you have access to the map editor you’ll be able to see it for yourself.
[DISCLAIMER] : this analysis was based on the code found within TWS Map Editor files. KDG could claim that this was just some trash code and they do have actual working code somewhere else.