Alrighty, I just put v0.14 in the hands of testers. They’ll finally be able to try out the new fast travel method as well as a bit of crafting. (If they can find the components, that is. The game still has zero balance in its random distribution of items.) I’ll save the rest for tomorrow’s KS update. Should have a few cool new screenshots to show off!

Read more here: 10/29/2013



Multiplayer continues to give me trouble. Finding someone with experience working with Unity networking and/or my networking middleware package of choice has been tricky, even after abandoning the hope of finding someone local. So far it’s been mostly ‘I haven’t done what you’re asking for but I’m willing to learn,’ which is an combination I can usually get behind, but not this time. Part of the problem is my stubborn unwillingness to use Photon. I readily concede that it’s superior to TNet in most respects – it’s actually overkill given what I’m trying to do. But I can’t justify using a tool that doesn’t fully support Linux without using their cloud hosting service. The makers of photon were really flexible and even offered to give me a version of their distributable server that doesn’t have DRM, but this option wouldn’t support Linux.

I have to say it’s getting a little old being treated like a crazy person when I tell people I’m not ready to throw Linux under the bus to make my life easier. It’s like some people think I’m supporting the platform as a joke and I’m about to drop the punchline any minute. What’s so hard to understand about the Windows / OSX / Linux banner at the to of my campaign? I didn’t make many direct promises – it was always ‘I’d like to do this’ and ‘I’ll try to do that’ – but there’s nothing ambiguous about my promise to fully support all three platforms.

Read more here: 10/28/2013



Long day, but good. Crafting is working again and will appear in the next alpha, albeit with limited recipes. Dialog is now fully serializable and no longer uses ANY monobehaviors. This includes exchange scripts – I finally figured out a way to serialize a list of base classes as the derived classes, and then deserialize back to the base classes without losing the derived classes. It can also load and convert dialog written in the Dialog Designer format which means all the work they put into creating trees carries directly over. The very last thing I want to toss into the new alpha is a mission. Those were the least tested feature in the pre-alpha and I want to see how our testers manage to break them.

Read more here: 10/25/2013



One of those days…

Just had to implement IXmlSerializable on five separate classes because Unity’s serialization is so borked. Rant time:

bool trueBool = true;
string parsedBool = trueBool.ToString ( );
//parsedBool is set to “True”

bool parsedTrueString = Bool.Parse (parsedBool);
//results in System.FormatException: Value is not equivalent to either TrueString or FalseString
//where TrueString and FalseString are “true” and “false”

bool parsedTrueStringToLower = Bool.Parse (trueBool.ToString ( ).ToLower ( ));
//parsedTrueStringToLower is set to true

What the FUCK, guys? This is PHP-level nonsense. Here’s what the documentation has to say:

Boolean.ToString ( ) Remarks

This method returns the constants “True” or “False”. Note that XML is case-sensitive, and that the XML specification recognizes “true” and “false” as the valid set of Boolean values. If the String object returned by the ToString() method is to be written to an XML file, its String.ToLower method should be called first to convert it to lowercase.

Read more here: 10/23/2013



Alright, the new inventory system is working. It now uses WorldItem templates instead of actual WorldItems, so they have about a hundred times less overhead. Stacks also don’t use GameObjects any more, so there are hundreds (even thousands) fewer GameObjects in the scene. I also caught a few spots where the inventory system was ‘over-refreshing’ and killed those dead. The result is better loading times, faster inventory, and… +5fps in the main scene? Maybe? Hard to tell on that last one but things do seem a tad quicker in the profiler. I was hoping for more but oh well. This also makes it possible to save nested Worlditems, since WIStacks, WIStackContainers and WorldItems can all be serialized. That in turn will allow me to do away with the WorldItem ID system, because I don’t have to preserve those relationships externally any more. Which will be faster. I hope. Anyway, between that long overdue overhaul, the ability to tweak terrain detail settings in the options menu and the ability to shut off the clouds system, low-end machines should be getting a boost into the realm of playable in v0.14.

Given has finished his mountain reworking and is moving on to Apple Valley. I’m really excited to see what he comes up with in the desert regions.

[edit: This happened when I was testing fast travel a second ago. Almost crapped myself in fear.]

Read more here: 10/22/2013



Alpha testers have been keeping me busy! I was worried that 50 wouldn’t be enough players to supply me with bugs to work with but boy was I wrong – even with just a subset of that 50 logging bugs I’m just shy of overwhelmed.

Today I focused on performance. I’m not a fan of early optimization but after seeing some truly abysmal performance on low-end system I decided to do a one-time upgrade to the inventory system. Not a massive change – just four classes – but the result is about 1000 fewer gameobjects in the scene, and way less overhead per object. Here’s hoping it makes a difference.

The live stream / story Q&A went well and had a pretty good turnout – over 150 people tuned in to the stream. There’s a transcript here if you’re interested. I’m not going to post the video because it was 90% me standing still while I typed answers to questions, but I’ll probably post an equivalent video soon. (Or you can check out the various alpha videos that are popping up.)

Read more here: 10/20/2013



First alpha has been sent out – second, actually, since I released an (incremental) update this morning.

The bug forum was instantly swamped with all kinds of problems, many of which I expected and many of which I did not. Did you know that you could access containers through walls? I didn’t. It never occurred to me to try. Easy fix, thankfully.

There are some serious issues with the linux version. I don’t think any of our linux testers have been able to run it without getting crazy blown out shaders. Getting that fixed is going to be my top priority over the next few days.

A big THANK YOU to our first round of alpha testers. They’re treating this as work, not just as play, and it’s making the game better for everyone.

Read more here: 10/18/2013



Aaaaand I’m sick. Great. Felt it starting yesterday morning, hoped for the best, woke up this morning to the worst. Killer headache, chills, aches, the works. If anyone reading this knows me personally, you know how much I hate being sick (and how loudly I can complain about it). I’d rather break my arm.

On the plus side, our first round of alpha testers will be thrilled to hear that I’ll still be delivering version 0.12 tonight. There were a few more things I wanted to include but oh well, I’ll just save them for the next version. Look for your link tonight.

(If you didn’t get a Kickstarter message inviting you to the closed alpha, don’t worry, you may still be randomly selected later down the road.)

Read more here: 10/16/2014



Just a day or so left until the closed alpha. I just sent the current build to the repository, backed up the project and repository to my RAID array, then send them both to Dropbox for good measure. Nothing short of an apocalypse will kill it now. Not much else to say, just plugging away and squashing bugs. I squashed a nasty WorldItem initialization bug that’s been giving me trouble since Tuesday – I’m going to go out on that high note and get some sleep!

Read more here: 10/14/2013