Islands

To better support multiple players, there’s new terrain generation mode: Island.

Have a look at some islands it makes:

You can tweak island size, all the way from very tiny to super huge.

Why Microsoft constantly shoots itself in the foot?

When I write a program in C++ I am reasonably sure that even in 20 years time I will be able to use the latest and shiniest compiler to compile it.

Not so with Microsoft technologies.

Survivalcraft on Windows Store is a “Windows 8.1 Store App”. I just downloaded Visual Studio 2017RC and lo and behold – you can no longer build Windows 8.1 store apps with it! You need to use old Visual Studio 2015. You can only build “Universal Windows Platform” (aka Windows 10) apps.

This leaves me with two options:

  • Keep using VS 2015 and give up all the new shiny features and performance of VS 2017
  • Upgrade Survivalcraft project to Universal Windows Platform. This is not an option, because UWP runs only on Windows 10, so Windows 8.1 users would be left out. Plus, UWP will certainly be obsoleted in turn too (as many others before it, vide DirectX SDK, XNA, Windows 8 Apps, Windows 8.1 Apps).

None of these two options is good. What I would like to do is to develop Windows 8.1 apps in the new shiny VS 2017. But, alas, some grand genius business manager up in Seattle rules my and your life. He made a decision and he won’t give us VS 2017. I hate that.

Microsoft has a horrible history of obsoleting technologies for no reason, and suddenly leaving developers out in the cold.

So, back to VS 2015. Oh how I wish a proper open source ecosystem similar to C#/.NET/Visual Studio existed. I would kiss Microsoft goodbye in no time (C# and .NET are kind of open source these days, but Visual Studio is not and will likely never be).

Sleep

I am working on a thousand bugs and issues at once, but 2.1 is slowly getting kicked into shape.

I’ve just finished working on the modified sleep mechanics. With multiple players it’s no longer possible to simply accelerate time when a player goes to sleep. Plus other players can now interact with the sleeping player too.

This is the way I did it:

  • When a player goes to sleep, the screen goes black as usual and player lies down the same way as when he’s dead.
  • If other players are present and not sleeping, time runs at normal speed.
  • If all players are sleeping, time speeds up as previously.
  • Player will wake up when his sleep meter is full and it’s daytime – previously player always slept until next morning no matter what.
  • To prevent a sleeping player from being stuck in sleep for 10+ minutes (when other players don’t sleep), he can now manually wake early:

Sleep.jpg

Player will also wake when:

  • He’s injured
  • He’s becoming wet – you can pour a bucket of water on someone to wake them up (or remove roof over their heads and let rain do it).

When a player loses consciousness due to lack of sleep, the option to manually wake up is disabled.

I’m now working on players spawning code. When this is done I will get to making skins – thank you for all the specimens you sent me! I now have plenty of material and will hopefully concoct something reasonable from them.

 

Distance limit

There’s one issue with multiple players that I haven’t worked out how to deal with yet.

The problem is, the game engine does not support having players very far from each other. The maximum allowed distance is about 4000 blocks, and I could make it up to 16000 if really needed, but either way it is finite. At some point, if players keep walking in opposite directions, there will be trouble.

From the gameplay perspective this is not a big deal, because having players so far away from each other is pointless. It essentially degrades the game to a singleplayer game, as players cannot interact with each other without walking back for many days first.

However, there needs to be some mechanism that prevents players from going too far from each other and breaking the game.

“Hard wall” limit is simple to do, but has a major drawback. If one player started to build something, the other player can screw it up by just walking in one direction. At some point, the first player will no longer be able to move away from the 2nd player and parts of his build will become inaccessible.

If you have a better idea how to do it, please share in comments!

 

Thanks for the skins!

Please keep them coming. I’ve got many already, but with each new one there’s some fresh ideas.

Yes, I will probably modify female model slightly to better differentiate it from male. It’s probably best to avoid long hair – there’s no good way of making it properly animate (currently it will just look stuck to the back of the body and not rotate with the head).

Please remember: no clothing other than boxer shorts/bras. File format must be PNG (potentially renamed to .scskin), size 64×64.

human11.pnghuman9.pnghuman12.pnghuman4.png

Thank you!

Skins Request

As you know from the last post, I am adding capability to have multiple players in the same world.

Of course, it looks silly if they all look the same:

LongJohns

(nice long johns!)

What we need is several built-in skins, so that every guy can look different.

I am currently on a short skiing holiday, but have a laptop with me and I’m doing some coding in spare time. There’s still a plethora of things to fix and add before 2.1 can be released.

I am worried that this is going to take too long. I figured out what you can do to help, if you want! Make the skins.

What we are after are both male and female skins. Here’s the requirements:

  • They must be in the same style as the default guy and they must be real men/women (no monsters, clowns, slendermen etc.)
  • They might have different skin color (black, asian, mulatto etc.)
  • They must be clothed in boxer shorts only (male) or shorts + bra only (female). No other clothing.
  • Size must be 64×64 pixels (like the default skin).

Easiest to make them by modifying the default skin:

Human.png

If you make anything, please send png images to candyrufusgames@gmail.com

Please test them in-game before sending!

Big thanks!

This is what I am working on

I have finally got to a point where I think the big thing in 2.1 will work, so here’s what it is.

Is it multiplayer?

It isn’t. But it also is! That’s what I am talking about:

Splitscreen1.jpg

In the photo above, my kids are testing split screen in Challenging mode, trying to grab some wood before the night comes.

Up to 4 people can play:

Splitscreen2.jpg

All of the above screenshots were taken on a PC. One person plays with a mouse, the rest uses gamepads.

What about phones and tablets? Well, it’s more difficult. You can mirror the device’s screen on a TV and use gamepads to play (I am adding gamepad support in 2.1).

But below is an experimental setup that might just work on 10″ tablets without TVs or pads:

Splitscreen4.jpg

The players use opposite sides of the tablet.

I don’t have much hopes this is very comfortable for any length of time, and probably it’s a dud, but the possibility is there.

Today I quickly hacked the terrain generator so that it generates a small island surrounded by ocean only. I played with my kids for a couple of hours in Challenging using 3-way splitscreen, trying to survive on the island. There was no pumpkins, and the only cows were in a cold part of the island, where we could not get without proper clothes. My son was hunting birds with a stone spear to keep us alive (three people need a lot of birds not to starve), my daughter was improving our little house on top of a tree, while I was preparing a farm near the water (we had no bucket yet). It was a blast! Real fun.

During the last month I refactored the code out of all recognition, and it now supports UI that is upside down (funky!) and most importantly having multiple players in the same world.

Now I need to dispel any misunderstandings. This is not multiplayer – all players must play on the same computer/phone/tablet. But yes, you can have many players.

Also, it is badly unfinished still. Plenty of details are wrong. For example if one player goes to sleep, time speeds up about 10x and everyone else is pretty much screwed :-)

Anyway, I hope you get the idea, and I must tell you after playing with my kids, I’ve not had so much fun with a game for a long time! If you have siblings or friends I think you’ll like it too.

[EDIT]

I was reading your comments, and I think you guys are amazing. I posted a couple of puny screenshots and you are already finding bugs! Someone noticed that the temperature meter is invisible for some players in the screenshots – so well spotted! I didn’t notice it. It took me 5 minutes to figure out why they are invisible – if only everything was so simple. It’s not a bug in this case – the players are in a cold area and the bars are flashing – that’s why some of them are invisible in the screenshots :-) But thanks anyway, the fact that you are looking so closely made my day.

 

Colors

The big thing is progressing, but still no cigar.

Yesterday I took a little break from working on it to add something quick that I always wanted to have: customizable colors palette.

palette

palette2

You can change all 16 available colors to whatever you want. The colors are saved with the world and do not affect other worlds.

You can now have browns, oranges and whatnot. I am sure the builds will become a lot more interesting (or psychodelic) from 2.1 on.

Ah yes, clothes are affected too, of course. Here’s how it looks in the world:

palette3

Getting there

I think I have cleared all major obstacles on the way to the big new feature for 2.1. What remains are plenty of minor things and a tiny detail – actually making it playable! That means adding loads of new UI.

I have been working on this monster flat out for almost three weeks now. My list of “things to check when I’m finished” (i.e. whether they are not broken) contains pretty much everything that is in the game.

I hope I’ll be able to show something to you soon.

 

Still working…

Nothing to show so far, but I made big progress. I think we are on the right track here. Several big chunks of work that were very risky are out of the way and working. However, there’s still a few left that can derail the whole thing – chief among them is terrain refactoring work that I am starting just now; I need it for the new feature to work.

Yesterday I was actually looking for some sort of git visualisation tool to boost my ego by seeing how many code changes I made over the last week. Sadly I haven’t found anything practical, otherwise I’d have shown you a nicely spiking graph! In brief, I am averaging about ten commits per day with each commit spanning a hundred or more files. Pretty much rewrote half of the game in the last two weeks.

I feel bad writing so much and showing nothing, but it’s too early for reveals, so you’ll just have to bear with me and wait a little longer :-)