Here’s part 1 of furniture video for you:

This video covers the basics. I had this in mind when I first thought of this feature. As I was working on it I found that there are many cool things you can do with furniture. Wait for the next videos to see what I mean.

In the meantime I am working on the next big feature for the update.


On coordinate systems

Here’s a little rant on left vs right handed coordinate systems.

Survivalcraft up to version 1.27 used XNA as rendering engine. If you ever did any 3D coding you probably know that XNA is hardcoded to use a right-handed coordinate system. All my previous 3D experience was with left-handed systems.

Here’s what I am talking about:


Notice how you can get the second right-handed system by rotating the first one by 180° around Y axis. They are the same systems really. You can never get a left-handed system from right-handed by rotations only. You need to flip it. That’s why there are two kinds of coordinate systems in 3D.

I thought (as most people do) that it’s purely a matter of convention and you can get used to one or the other. But after over 4 years of work on Survivalcraft, which uses right-handed coords I figured I am not and will probably never be comfortable with right-handed coordinate systems. They are counter-intuitive to me.

Here’s why, axis by axis.

Up/Down Axis (often called Y, sometimes Z):

This is the simplest one. Increasing values should go up. No questions. It’s dictated by gravity we are all used to. It would be like having an altimeter in an aircraft that shows smaller values the higher you go. Imagine being a pilot trying to get your head around it.

Near/Far Axis (often called Z, sometimes Y):

Increasing values should go far. This is less obvious, but I think most people would agree that the further something is, the bigger the coordinate value should be. It’s like a distance. The other way has an issue if the observer is at the center of the coordinate system (a very common case): you must use negative values for something that is in front of you. No doubt it is more intuitive to have negative values for something that is behind, not in front!

Left/Right Axis (pretty much always called X)

Increasing values should go right. This is the least obvious axis. The preference for right direction comes from western culture of writing. Of course there are other methods of writing that go the other way, mostly originating in Far East. But there is no doubt that when you are a programmer (Chinese, Korean, American, it does not matter) and are looking at a computer screen, you know that horizontal zero coordinate is at the left side of the screen, and increasing the coordinate will move it right. It is a convention ingrained over decades. TVs scan left to right. Even oscilloscopes scan from left to right.

Now where does this leave us? If we adopt the most intuitive axis directions as described above, we get this coordinate system:


And it is left handed. Left handed FTW!

Finally comes the biggest disadvantage of right-handed systems. If for some reason you think that right handed system is good for you, it’s not obvious which one (assuming we keep the Y axis pointing up):


Either you flip X or Z axis.

Furthermore, once you convert your right-handed coordinates to screen space, you are back at left handed system. Therefore, you need to constantly switch between left and right handedness depending with which space you are working with. Confusion!

To me, it’s a nightmare. I cannot reason in a right-handed system. I cannot visualise anything in my head. I have to draw it and mark the axes directions first. It’s much slower than having it all in my mind.

Since version 1.27, Survivalcraft uses a custom engine for rendering. When working on it I did not switch the coordinate system from XNA right-handed one. I had enough other issues to worry about :-) So sadly the game still uses a right-handed coordinate system. And don’t ask me which one, I am so confused I don’t know myself! It’s probably different systems in world space, different in view space and different still in screen space…

But one day I think I will switch the entire engine and the game to left-handed where there’s only one obvious way!

Btw. This rant is purely subjective and not entirely unbiased. For example a lot of 3D modelling programs (and top-down view games) use Z as up-down axis. The above reasoning does not apply to them.





I am writing help entry for the big feature – which is furniture as you can see from the title :-) The feature itself is pretty much finished, but the entry will be the longest yet, longer even than the help for electricity.

What remains to be done is a video to show you how this stuff works. It’ll be a monumental undertaking to show it all, because there’s so many options and possibilities. Making videos is not the most pleasant thing in the world, so I was postponing it while adding more and more goodies to the feature itself.


Colored wires contd.

As you already know, the next version will have painted wires. I’ve seen a lot of you say that wires should not connect to wires of different color, apart from non-painted wires which should connect to everything.

After some fiddling with the electricity system I added it, but please tell me whether you are sure this is a good idea?

This is how it looks in action:


As far as I can see it has these positives:

  • You can make smaller circuits because you don’t have to worry so much about wires connecting inadvertently
  • All existing builds work as previously (because they have only non-painted wires that connect to everything)
  • You can still use it for marking function of wires, as long as entire wire is the same color, which you would probably do anyway (unless you wanted to do multicolored markings, but that seems like an extreme corner case)

I can’t see any negatives.

I don’t have time to pore over this forever, please have a think and let me know whether you foresee any problems? Or if you see a way to generalize this idea any further, perhaps some colored wires interactions with other electric blocks?

We can still back off from this, but once it is released there will be no going back, because people will start using it in their builds.

New Inventory layout

I have integrated the new big feature into the inventory system. There’s a lot of new UI that you have not seen yet, but one change to existing stuff looks like that:


The controls are at the top and you can click on the category button (“Tools”) to pick from a list. This is usually much faster than using the arrows.

I am now doing (hopefully) the last thing to do with the new feature: integrating it with the community content. It’s already hooked into crafting and electricity.


Painted Clay

Clay has a completely smooth texture and gives you pure color for decorations. This is another little feature required by the upcoming big one to work properly.


New Tool

With the new feature comes a new tool. Meet the hammer!

Hello, hammer:


I’ll let you keep guessing what it does :-)

At the moment I think it will only come in iron variant. No need for others. But I may change that later.


Colored wires

Should have been done ages ago.

Not only it allows you to use wires for decorative purposes or to make them match the environment. It can also be used for marking wires when building complex devices.


On another front, the new feature is moving forward. Actually, I added colored wires to help me with something to do with it. I also managed to let it be affected by electricity, in addition to crafting.

Will tell you more later.

Btw. I haven’t yet found any sensible service that allows people to vote on pictures. We need one to do the screenshots poll. If you have any suggestions, please let me know.


Final touches to 1.29 interim update

I am preparing interim 1.29 update. It adds community content filtering, as announced in previous post.

It will also reduce the amount of minerals generated, especially diamonds. With the new huge caves it became waaay too easy to find them. Something I overlooked during 1.29 release.

It will also have a fix for a major Windows 8.1/10/Windows Phone 8.1 bug that might cause the rendering to go completely bonkers.

I am aware that some people are getting black screen on startup on these platforms. I was not able to reproduce this bug yet, despite having a large number of different Windows devices. The bug that I fixed might be what causes it, but I wouldn’t count on it. I need to reproduce it first.

If you are getting black screen on startup, please fire up System Information app (press windows key, type “System Information”, launch it, save configuration to .nfo file) and send the NFO file to I need to zero in on hardware that has the problem.

New Feature News

These days, almost all the time I am working on the new feature.

It is getting nicer every day. And remember how excited I was about it a week or two ago? It’s better now :-) And still not finished. I can’t even start to fathom what you will make with it.

I even told you I will be able to marry it with crafting and electricity. It is now tied with crafting, but not yet with electricity.

Something I accidentally discovered when playing with it today is that you can make torches that switch off and on. A nice feature on its own, but just a minor, minor side effect that I did not even realize existed :-)

It’s taking loads of time because some of the implementation details are very complex. I even had to make my own garbage collection system.

Anyway, huge smile, but no reveal yet.

Ok, just one cute thing to get you thinking:



Get every new post delivered to your Inbox.

Join 45,715 other followers