Bugs

Thanks for your patience with this difficult release.

First, the good stuff. Do not worry about immersive mode going away after keyboard has been shown. Or about water gurgling sound in deep water pools (thanks Aesopredux). These are trivial to fix, and actually have already been fixed.

If only all bugs were like that.

Which brings me to the bad stuff. I spent most of yesterday fighting with Android audio system. The main problem is that audio on Android does not work without some special magic, and this magic is different for almost every version of Android. As we support all versions since 2.3 (2.2 support was dropped in this release), this makes for a lot of headache.

The current build, 1.27.2, does not use almost any magic. It does straightforward audio calls, and in the ideal world we should be getting proper audio. We actually do, on Android 5.0+. On all earlier versions you know for yourselves what is happening. Crashes. Error saving games. Audio going quiet.

I have to fix that, somehow.

Yesterday I went to bed around 5am without getting anywhere. The only positive was that I resisted the urge to send hate mail to all Google devs working on Android.Media.AudioTrack class. That’s why I haven’t posted – I did not have anything positive to say.

Today, after a few more hours, I see a tiny light at the end of the tunnel. But it’s tiny and may not amount to much in the end.

So please bear with me for a while. No 1.27.3 release yet.

Even if I get the audio fixed, there’s still the graphics glitches. Broken sky, holes in the terrain and water. Please keep sending screenshots and device data. So far it seems it’s mostly limited to PowerVR chipsets. Also, if you get broken terrain/water/sky please quit and restart the world, and tell me if the problem goes away (at least temporarily)?

1.27.2 Out

Another bugfix release, 1.27.2 is out. Here’s the list of changes:

  • Fixed hitting horse when saddling
  • Fixed sometimes unable to ride a horse when naked
  • Suppressed 1.26 data migration after 3 attempts
  • Removed duplication of projectiles when sticking to chest and being captured by the chest at the same time

Please keep testing. I am most interested in this:

  • On which devices/Android versions you’re getting “error saving game” messages. Believe it or not this is another Android audio bug in action :-)
  • Please send screenshots of any visual glitches of the sky, missing or badly rendered terrain. Please include device model and Android version, and under which conditions the glitches occur. Without this information your screenshots are of little use.

Predators in 1.27 are more adventurous and will jump higher cliffs than previously to get to their target. This is by design.

1.27.1 bugfix release published

Ok, so there are audio bugs.

Unfortunately, Android audio API is a big, messy pool of goo, so it’s not easy to get anything working. Every device behaves differently and a lot of things don’t work as expected in fancy and inventive ways.

The new engine attempts to workaround certain problems. For example some devices leak file handles with every sound created (https://code.google.com/p/android/issues/detail?id=17995), so that you can only play a fixed number of sounds until your app dies. And about a hundred of similar issues.

Anyway, I think I tried to workaround audio problems too hard.

In 1.27.1 I removed some of these contraptions, so that the audio code is simpler and uses less tricks. While I am sure it will now start failing in yet unknown and wonderful ways, I hope it will work reasonably well across more devices.

1.27.1 is already published and should be available in a couple of hours. Please keep downloading and testing.

Big thanks!

Release

The release of 1.27 is upon us. As usual, I will first publish for Android, which will serve as a beta-test platform for a hopefully short period of time.

Once all the bugs I missed during my testing are squashed, I will start publishing for other platforms.

This time I am more worried about the release than ever. This is by far the biggest code change since Survivalcraft was released in 2011. All because of the new engine.

EngineLogo

Just to give you an idea of how much has changed since 1.26:

  • New input system written from scratch
  • New audio system written from scratch
  • New graphics system written from scratch
  • New storage access system written from scratch
  • New web access system written from scratch
  • New maths library written from scratch
  • New content pipeline and build tools written from scratch
  • Lots of new game features added

Every previous release from 1.0 to 1.26 only had to worry about the last bullet point on that list, and we still got bugs.

1.27 is a scary, scary thing… I expect there will be problems. I expect some devices that did work with the game will stop working. I expect some devices that did not work will start working. Although none of the phones or tablets in my big box of test devices did the former, I made sure of that. The world of Android is huge, fragmented and cruel :-)

By the way, I have just submitted 1.27.0.0 to Google Play Store so you should be able to update very soon and start hating me. Let the lashings commence!

Now on the merrier note. I haven’t told you about all the new features yet. In 1.27 you can throw or drop items on a chest, and it will automatically collect them (if there is space). Handy for automated harvesting systems.

Have a look at the video: http://youtu.be/tawQeMchgo0

New Outfit

In 1.27 the hero will start with more clothes on. This will make him less susceptible to initial cold, plus will make dying a bigger problem, because you respawn naked.

I added quite a lot of new clothes in 1.27. Here’s the new starting outfit:

NewOutfit

Notice the hat, sandals and socks, which are not very visible under the pants. This outfit is much warmer than in 1.26, although you still won’t be able to go into snowy areas without crafting some furs.

Sandals are a poor-mans version of leather boots. Hat is an old, tattered one to match the shirt and pants. It cannot be crafted, so it’s an achievement to still have it after a long time – it wears out quickly.

You can however craft two more hat types: leather cowboy hat and a cotton fedora. Here’s the hero in barbie outfit:

PinkHero

Also, I toned down the wet squelchy sound. It now fades smoothly as you dry, so it’s only loud and annoying for a short time after you exit the water.

Immersive Mode

Android 4.4 and later support a mode where all the on-screen buttons are hidden. Better late than never, I guess.

I experimented with it a few times, but with the old engine the support was really brittle and the game was doing strange things for no reason.

No so with the new Engine. See the photo of my trusty Nexus 5:

Immersive

Yes, no buttons. Totally full screen. You need at least KitKat (Android 4.4) device for this to work, otherwise you’ll get the buttons.

By the way, the awesome world on the screenshot is called “Mansions” and you can find it in Community Content (you need to go to recently added, and click “more items” about 20 times or so).

Cosy and warm

Here’s one more addition to 1.27:

Carpet

Carpets make for cosy and nice interiors. And I made the walking sound properly soft and subdued.

Beware though, rain will ruin the carpet if it’s ever allowed to fall on it! Keep them indoors.

Proper Water Transparency

One thing that the new engine allows me to do is to use shaders.

Finally, after over 3 years of pain and trying to emulate what I wanted to do with XNA pipeline, I have proper shaders. It’s like a breath of fresh air. For example I could remove all the dirty hacks I used to make clothes render properly.

More importantly we now have proper water transparency. See for yourselves:

http://youtu.be/wg4iYkvS2i8

New indicators

In 1.26 there is only health indicator, the hearts. In 1.27 there will be three: health, hunger and outside temperature. Have a look:

NewIndicators

The temperature indicator shows environment temperature, not body heat like in the vital stats panel.

When it’s all blue, it means the temperature is optimal. When it turns dark, it means it’s too cold. When it turns orange, it’s too hot.

If you are properly clothed, with long johns, socks, sweaters etc., you can function in almost all temperatures. Only the most extreme cold, when the indicator is all dark might make you shiver a little. Unless you get wet. Being wet pretty much nullifies all clothing until you get it dry. In 1.27 you can stand close to a campfire to do so.

Look closely

I am sure you’ll find something you’ll like in this screenshot:

NewButton

Follow

Get every new post delivered to your Inbox.

Join 44,004 other followers