Category Archives: Uncategorized

New platforms

All the hustle and bustle around the 1.27 release, but I haven’t told you the most important news about it yet.

With the new engine, there is support for new platforms! Namely Windows Phone 8.1 and Windows Store. I will be submitting 1.27 there soon.

download

Windows Store submission means that for the first time you will be able to play Survivalcraft on your powerful PCs, using mouse and keyboard. Provided you have Windows 8.1 of course. I spent a lot of time updating mouse/keyboard support so that they are production ready and not just some development hack like in 1.26.

The Windows Store version has been running smoothly for some time now, so I have high hopes for the submission success. However, as this is a completely new platform, our mileage may vary. We will see.

1.27 is the biggest release for a long time.

1.27.4 out

Another bugfix release is out.

Here’s the changelist:

  • Fixed animals spinning aimlessly
  • New compatibility setting to disable AudioTrack caching. Should only be used on Kitkat and above (4.4+), just in case someone finds a problem with the caching
  • Worked around clouds rendering bug in Samsung Galaxy Tab 4 7.0 (and other devices using Vivante GT GPU)
  • Reduced wolf loot
  • Fixed health regeneration in Challenging
  • Optimized clothes drawing, it’s 2x faster now, should run smoother when inventory page full of clothes is displayed
  • Added swoosh sound when attacking
  • Melee attacks can now miss, with probability depending on weapon used
  • Made axe powerful, but with large chance to miss
  • Made clothes and carpets colors more saturated
  • Reduced opacity of water sides
  • Increased maximum creative flying height

Please download and test.

For electrically inclined, check this enlightening video: http://youtu.be/IN3Bs3ySLZ0

Huge visibility range

The new engine has one great advantage over the old one. It can run in a 64 bit process. It is not bound by 2GB memory limit that each 32 bit process has.

Lack of virtual address space was the factor limiting visibility range in previous versions. In the new one, I can enable truly monstrous visibility ranges.

This is not for the phones of course, which run 32 bit hardware anyway. Plus their GPUs would totally choke even if they had the memory to run it. It’s just for my test desktop version.

1024visrange

1024 blocks visibility range in Survivalcraft (click to enlarge)

I am quite proud of what Survivalcraft engine can do. At 1024 blocks I am still frame locked at 60 FPS! Although this is on nVidia 970 GTX, which is a poweful GPU.

There is an insane amount of geometry out there. 512,000,000 blocks in total, although most of them underground or behind, and thus invisible.

To compare, the biggest visibility range setting Minecraft has is 32 chunks (each chunk is 16 blocks), so 512 blocks. And it is completely unplayable, even on my powerful PC. Although Minecraft was never optimized for the phones, so it can be forgiven that it is slow.

If you look closely you can just spot the ship, miles away on the right :-)

I think with the default visibility range (128) you would not see a single block from this high vantage point of view (150 blocks)

Two more screenshots:

1024vis2

 1024vis3

New combat mechanic

I have decided to quickly add a new combat mechanic to Survivalcraft – the melee weapons now have a probability to miss.

I think this should add more risk to attacking animals, because if you miss there is no pushback effect, and the animal will get you. Currently it’s too easy to use hit-and-run strategy.

This is an eleventh-hour change that I should not really be making at this point, but let’s be it :-)

MeleeHitProbability

Using this new value, I made axe an interesting weapon. It causes massive damage, bigger even than the machete, but has an abysmal hit ratio. Only one in four swings hits the target.

1.27 faster than 1.26

While fixing the sky I was running Survivalcraft 1.26 on the Samsung Tab 4 7.0, and took the opportunity to compare framerates against 1.27.

1.27 wins, 55fps vs 49fps.

It is on a flat, empty terrain though, with no animals, so it’s not a very realistic benchmark. Maybe some day I will find time to compare them properly.

Sky fix

The clouds are fixed for devices with broken 3D clipping. There are still occasional glitches on the Samsung Tab 4 7.0, but it’s barely noticeable now. I spent good 4 hours optimizing the new, more tesselated clouds, and the profiler says it’s not significantly slower than the old one.

I think you’ll agree this looks nicer than the one from the last post:

Survivalcraft 2015-03-30 05-15-14-

It’s only a kludge that moves the glitches out of the screen. It’s not 100% effective, so if you’re a Samsung Galaxy Tab 4 7.0 owner, sometimes you may see spurious triangles here and there.

Moreover, I discovered that this tablet has really poor touch support. It constantly drops and reacquires touches. It makes playing game with move pads very frustrating. I had to switch to buttons. I can see that a person playing this game for the first time on this device will be annoyed, at least until he/she finds how to change controls mode to buttons.

Still a few more tweaks to make before 1.27.4.

Sky glitches on Samsung Galaxy Tab 4 7.0

I made a trip to a local supermarket and, based on your bug reports, got myself yet another testing tablet, a Samsung Galaxy Tab 4 7.0.

Here’s how the sky looks on its screen:

Survivalcraft 2015-03-29 22-44-19-

First of all, this is not a new problem. Survivalcraft 1.26 looks exactly the same. This is not a problem with the game at all, it’s the rubbish GPU they put into this thing. It cannot clip polygons properly, all polygons which cross the near clipping plane get distorted.

Please do not buy this tablet, or indeed any tablet that uses shady GPUs. This one has Marvell PXA1088 CPU + some “Vivante GT” GPU. A combination from hell, names alone should set the warning bells ringing.

Samsung

It is pretty, but stay away!

Most Samsungs are good, this one sadly is an exception. Reliable CPUs come from nVidia (Tegra), Qualcomm (Adreno), Samsung (Exynos), PowerVR, Mali, maybe a few others. Anything else and you’re getting yourself in for trouble.

What can I do to workaround this? I will cut the sky into small polygons, hurting performance, so that you do not see when GPU makes a hash out of clipping them, because they will be (mostly) outside of the screen.

Please stay tuned for 1.27.4.

Campfires

Looking at your comments I realized that some people don’t know you can stoke campfires with wood, to make them bigger and stop them from fizzling out.

Any combustible material will do, although the poorer it is (like leaves or grass) the more you have to put in.

Here’s how various size campfires look like:

Campfires

All the way from tiny to quite large – there are 15 sizes of campfire.

During dry weather campfire reduces by one step every 20 seconds. When rain or snow is falling on a it, it reduces every 5 seconds. Therefore a fully stoked campfire will last about 5 minutes when dry, and only slightly over a minute when it’s raining.

The default campfire you place down is at level 3, that is you have about 40 seconds to stoke it before it turns into ashes.

[EDIT]

To stoke a campfire you can either throw wood at it, or tap on it while holding wood. Either method works. Just don’t throw bombs or gunpowder kegs in :-)

1.27.3

The next bugfix release is out.

I have worked almost non-stop since the last release to get on top of the audio issues. Finally, I implemented a caching scheme that vastly reduced the number of allocated Android AudioTracks.

This means all “Error saving game” messages should be gone. Audio should not go quiet. Game should not crash due to AudioTrack memory leak.

The caching is not easy, because reusing AudioTracks is a minefield. With mines in different locations depending on Android version. I tested it on 2.3, 4.0, 4.1, 4.2, 4.4 and 5.0. Unfortunately it seems that I upgraded all my 4.3 devices to 4.4 so I couldn’t test that version.

On some 2.3 devices (like 1st gen Kindle Fire) I was unable to reliably reuse AudioTracks, therefore on these (hopefully rare these days) devices you may encounter audio corruption.

Here’s the full changelist for 1.27.3:

  • Hopefully fixed “error saving game” messages, audio going quiet and audio-related crashes on pre-4.4 devices
  • Deep water pools no longer make gurgling sound
  • Water gurgling is quieter
  • Wet squelching footsteps sound fades out yet more quickly
  • Tweaked some other audio parameters
  • Fixed immersive mode (fullscreen) getting disabled after using software keyboard

Please download and tell me what’s happening with audio in 1.27.3.

When you report bugs or send screenshots, please do not forget to state your device and Android version!

This is not the last bugfix release, there’s still the graphics corruption I need to investigate.

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)?

Follow

Get every new post delivered to your Inbox.

Join 44,076 other followers