Rust Online: Friday Devblog

A lot of people are complaining that we’re not giving enough updates on the development of Rust. They have suggested that we start posting weekly about what we’re doing. So that’s what I’m going to do. Even if that means every week I post “replaced 6000 lines of terrible code with 1000 lines of not so terrible code.


We understand you want weekly updates filled with a shitload of new content. To make that possible things need to change.

So we’re working. That’s why we haven’t been posting updates. I think the important thing for people to realise is that when we launched Rust it was still pretty much a prototype. Most (if not all) of the code is terrible. I’m sure people have decompiled rust and thought that their decompiler was broken. It isn’t – that’s the code. Replacing this code isn’t a matter of programmer pride. It’s something that we need to do to push forward. The code is very limiting right now. It’s hard to understand and there’s too much of it. Once it’s all cleaned out we’ll be able to push on and iterate faster. If we try to do that now we’ll end up spinning ourselves into a web.

This is a lot of what we’re doing now. Replacing old terrible, complicated systems with clean, tidy, future proof systems.

Trading Cards

As some people have noticed yesterday we released our first set of trading cards. I was hesitant about posting about this yesterday because I knew the comments would be filled with “NICE RELEASE TRADING CARDS BUT NOT UPDATES”. So let me clear this up. Our programmers didn’t make the trading cards. We’re programming. We didn’t delay releasing updates so we could make trading cards.

We wanted to release this set of cards during our early alpha to capture where we’re at right now. The hope is that every 6 months or so we’ll release a new set of cards capturing the state of the game, the community and events surrounding it. I think Meg and Rob have done a great job on the cards and the backgrounds, and I hope you agree.

New Inventory System

One of the code systems that is getting totally replaced is the inventory system. Why? Well, this. You can literally open any of these inventory files and find code that doesn’t explain itself. Code that uses ambiguous variable names. Basically, shit, unmaintainable code.

This code is also tied very harshly into our old GUI system, NGUI. Which in the next update is completely replaced by our new system of choice, DFGUI. (Which will probably be replaced again by Unity’s new GUI system when we eventually move to Unity 5 in a few months (which is why this new inventory code is very much UI agnostic)).

I know what you’re thinking. You don’t care what the code is like. What does it mean for you? And we agree. It’s be a waste of time if we re-wrote a bunch of code and everything was the same. So we are changing things up a bit, making previously impossible things possible. Here’s a look at the prototype UI for the new menu.


This is obviously quite early in the development and a lot of stuff is missing, but I think it shows a few things that the new system has that the old one doesn’t. It’s scalable, so if you’re playing in a large resolution, or on the TV you will still be able to see what you’re doing. You can queue and cancel crafting items. Text labels are all unicode, which means we can support translations.

The biggest change is that it now uses the new item system, which is enabled by the new item editor (which is also a WIP).


We have been distracted by stuff over the last couple of weeks. I had some business bullshit on my mind. Helk has got some rather significant family health problems. I’m back at it hard now and Helk is slowly recovering and getting back to work.

We are working for you, but please keep your expectations reasonable. We’re still a relatively small team. Just because we’ve sold a million copies – it doesn’t mean we’re going to hire 1,000 people. More cooks do not make a better game. That said, we are hiring if you’re awesome so hit us up!