Jump to content
Sign in to follow this  
Aleš Ulm

Dev Diary #57

Recommended Posts

Hi there, fellow ylanders!

Well, what do you know - Christmas time is once again upon us. If you‘re among those who celebrate it, let us all wish that you spend this special time with your close ones (if you manage to survive the regular shopping Armageddon), eat, rest, eat some more, and play some games!


Since the team will take some much-needed rest from this weekend till the end of the year, you may find that your requests and questions on forums stay unanswered for a longer time - but we will still check it and will be ready to help you if something critical comes up.

But until the Ylands factory engines stop for maintenance, they‘re still going strong. One of the things we‘re working on these days is the long promised fix that should remedy the issues with ships. Saying this is a "fix“ is a little bit like saying that a nuclear plant is a slightly more sophisticated steam engine. A lot of things had to be changed, improved, or rewritten so that this issue (or group of issues) would be eliminated. Let me tell you a bit more about what‘s causing this, what we‘re doing about it and how it‘s going to affect the gameplay.


Basically what happens is that whenever you build on a ship‘s hull, we want the objects to have colliders so that your avatar can‘t walk through your cabin walls, tables and more. The problem is that Unity isn‘t such a big friend of the idea of hundreds of blocks, each with its own collider, placed on a moving platform. As you might have guessed, the same goes for cars, but there the situation is quite better because you usually don‘t create your cars out of hundreds of blocks.

The solution is to combine the colliders into few larger ones so that the general shape of the ship (or, more specifically, the part placed over the hull) would remain the same. That is not a trivial operation (especially when you need the number of resulting colliders to be as low as possible). But this is something that is a problem that programmers have been working on and have made a really nice progress so far. The second problem is that you don‘t want your ship to stay this way forever, because at some point you may want to remove a block here and there, replace it with something else etc. At that point the combined colliders need to be broken down back again into the original state.

And on top of that, this operation takes some time, it‘s not instant.

 

happyholidays2018.png
Have a classy Winter Break, everyone! :)


So what we‘re going to do about this is that we will provide you with a (single-click) way to "optimize“ your ship whenever you're done building it. Within the next few seconds, all the colliders will be optimized and you will be good to go and sail the sea with almost no impact to performance (which is currently easily dozens of fps). When you feel like building some more or changing what you built so far, you will be able to "de-optimize“ the ship, perform any changes necessary, and bake it again.


This "optimization“, however, won‘t be important only for ships and cars. The Unity engine has a limit as to how many colliders can be active in the scene, and it‘s 250 000. That may seem like a lot, but if you imagine a large city and think how many bricks (=colliders) one small wall has, you‘ll see that this limit can be reached pretty fast. So we will let you (in the Editor - unlike with ships and cars where you will be able to do this in Explore as well) optimize whole buildings, which will effectively fix this issue.


That however isn’t the only thing we’re fixing about ships – as you are well aware, ships have had their share of MP problems in the past, most notably the disagreements between the client and the server on where exactly a character should be. This would cause teleportation and, more often than not, unfortunate man overboard accidents. Starting with the next update, it should be smooth sailing from here on out, with the disagreements happening much less frequently, if at all. And finally, we’re making overall sailing improvements across the board – better ocean wave simulation, smooth wind intensity transitions between ylands, and different weather presets… There’s definitely a lot to look forward to!


And that‘s it for today! Have a classy Winter Break!

  • Like 6
  • Thanks 2
  • Upvote 1

Share this post


Link to post
Share on other sites
1 hour ago, Aleš Ulm said:

Hi there, fellow ylanders!

Well, what do you know - Christmas time is once again upon us. If you‘re among those who celebrate it, let us all wish that you spend this special time with your close ones (if you manage to survive the regular shopping Armageddon), eat, rest, eat some more, and play some games!


Since the team will take some much-needed rest from this weekend till the end of the year, you may find that your requests and questions on forums stay unanswered for a longer time - but we will still check it and will be ready to help you if something critical comes up.

But until the Ylands factory engines stop for maintenance, they‘re still going strong. One of the things we‘re working on these days is the long promised fix that should remedy the issues with ships. Saying this is a "fix“ is a little bit like saying that a nuclear plant is a slightly more sophisticated steam engine. A lot of things had to be changed, improved, or rewritten so that this issue (or group of issues) would be eliminated. Let me tell you a bit more about what‘s causing this, what we‘re doing about it and how it‘s going to affect the gameplay.


Basically what happens is that whenever you build on a ship‘s hull, we want the objects to have colliders so that your avatar can‘t walk through your cabin walls, tables and more. The problem is that Unity isn‘t such a big friend of the idea of hundreds of blocks, each with its own collider, placed on a moving platform. As you might have guessed, the same goes for cars, but there the situation is quite better because you usually don‘t create your cars out of hundreds of blocks.

The solution is to combine the colliders into few larger ones so that the general shape of the ship (or, more specifically, the part placed over the hull) would remain the same. That is not a trivial operation (especially when you need the number of resulting colliders to be as low as possible). But this is something that is a problem that programmers have been working on and have made a really nice progress so far. The second problem is that you don‘t want your ship to stay this way forever, because at some point you may want to remove a block here and there, replace it with something else etc. At that point the combined colliders need to be broken down back again into the original state.

And on top of that, this operation takes some time, it‘s not instant.

 

happyholidays2018.png
Have a classy Winter Break, everyone! :)


So what we‘re going to do about this is that we will provide you with a (single-click) way to "optimize“ your ship whenever you're done building it. Within the next few seconds, all the colliders will be optimized and you will be good to go and sail the sea with almost no impact to performance (which is currently easily dozens of fps). When you feel like building some more or changing what you built so far, you will be able to "de-optimize“ the ship, perform any changes necessary, and bake it again.


This "optimization“, however, won‘t be important only for ships and cars. The Unity engine has a limit as to how many colliders can be active in the scene, and it‘s 250 000. That may seem like a lot, but if you imagine a large city and think how many bricks (=colliders) one small wall has, you‘ll see that this limit can be reached pretty fast. So we will let you (in the Editor - unlike with ships and cars where you will be able to do this in Explore as well) optimize whole buildings, which will effectively fix this issue.


That however isn’t the only thing we’re fixing about ships – as you are well aware, ships have had their share of MP problems in the past, most notably the disagreements between the client and the server on where exactly a character should be. This would cause teleportation and, more often than not, unfortunate man overboard accidents. Starting with the next update, it should be smooth sailing from here on out, with the disagreements happening much less frequently, if at all. And finally, we’re making overall sailing improvements across the board – better ocean wave simulation, smooth wind intensity transitions between ylands, and different weather presets… There’s definitely a lot to look forward to!


And that‘s it for today! Have a classy Winter Break!

Don't most games do this sort of block optimization on the fly? 

I know your focus on ships will make @bb cakes_P1 very happy :D 

 

Share this post


Link to post
Share on other sites

Would it be possible to make ocean waves during thunderstorms lethal? For both ships and people?

In game right now they are harmless but it would make sense if you could drown in them... 

Share this post


Link to post
Share on other sites

Sounds like a fantastic leap forward.  (I was just thinking the other day, in the editor, why couldn't editing vehicles be similar to editing groups?  It sounds like I'm not the only one who thought that.)

One question about optimizing buildings in the editor:  Would this affect a player's ability to break or deconstruct individual blocks of those buildings?

Edited by Indomitus
  • Upvote 1

Share this post


Link to post
Share on other sites
1 hour ago, Aleš Ulm said:

because you usually don‘t create your cars out of hundreds of blocks.

Is that a challenge?  :D

  • Haha 1

Share this post


Link to post
Share on other sites

Making thunderstorms lethal: I can't promise it will be present in 0.12, but we do plan to make the game a bit more dangerous and one of the things we plan is for thunderstorms to sink small ships / rafts etc.

Optimizing buildings: you're right in guessing that those objects that will be internally "merged" together will be indivisible and destructible only as whole. However, it is perfectly fine (and it is actually how we'd like the creators to use it) for you to "merge" only some parts of buildings like walls, leaving some parts out - like all interactible elements but also things like windows so that those can be broken etc.

And since you mentioned groups - if you're looking for a better control over your creations in the Editor, I believe that our 2019 Roadmap that we'll talk about early next year has something you're gonna like. :) 


Is that a challenge?  :D

Well, wWe can always use something complex to test our new features ;) 

  • Like 1
  • Upvote 2

Share this post


Link to post
Share on other sites

@RedEagle_P1. I believe they do, but I can only speak for Ylands. :) This is actually a very complex problem and it depends on lot of factors (as I, a non-programmer, believe :) ) - the engine they're using, how is their world simulated, how does their MP work etc. Actually this would be quite easier for us if we adjusted (as in "made more simple") some of the games features but we decided against it.

Share this post


Link to post
Share on other sites

Ever consider the  added  threat to   rafts  etc  by  giant  squid....  and perhaps   lightning  strikes in storms when on high places  being  lethal ? :D

Share this post


Link to post
Share on other sites

I would definitely love to see something like that in Ylands! :) 

@bb cakes_P1 It's not not only about blocks, it's more about the colliders - most objects in the game have them (with the exception being things like grass etc.) and most of them have one collider each. But to simplify this a bit let's say that you have only blocks  in your game. You create 250k of them (=250k colliders) and then you keep adding. What happens is, that the blocks added once the limit has been reached don't have any colliders attached to them so the avatars can walk/fall through them. Also every single block over the 250k limit generates a warning into the game's log (Unity does that, not us) when the game starts so if you have a lot of blocks over that limit it will severely impact the loading times of your game - with a lot of blocks over the limit your game can load real slow.

That is what the situation is now. In 0.12 when we  add colliders optimizations there will still be that limit of 250k colliders but it should be quite difficult to reach it. Imagine that you have a large wall made out of,say,  250 blocks. If it's a flat wall in the ideal world it should be possible to optimize it so that it's a single large collider. Obviously, this is an ideal situation since buildings are usually much more than just few primitive walls and so you can apply this ratio to your whole scene - but still the the optimization should allow you to create MUCH more complex games than before. Also I believe this limitation in Unity will eventually be made less strict or removed since in the last few years the engine has been becoming more and more powerful.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

@Aleš Ulm

I think it will not be a problem for me to reach that limit, anyway I love it.9_9
Finally, we can work in big scenarios without worrying about each block that we put.

One day looking for my tree for Christmas with 250k of colliders.xDxD

 

20181222114820_1.thumb.jpg.fead059c42fc5f8e08e2f1c2580923de.jpg

P.S: Merry christmas to all:)

Edited by Spyler.X
  • Like 1
  • Haha 4

Share this post


Link to post
Share on other sites

Today I bought your game, after a long time I'm looking forward to playing a good game. YLANDS is masterpiece. thank you to the whole team. I wish beautiful holidays.

  • Like 3

Share this post


Link to post
Share on other sites

Looking forward to this "fix" it will definitely help improve the game with sailing performance, guess you guys have found the max capacity of the Unity engine :P.

 

Happy holidays to the entire Ylands team and of course the Ylanders community :)

  • Like 1

Share this post


Link to post
Share on other sites
On 2018-12-21 at 4:56 PM, Aleš Ulm said:

Optimizing buildings: you're right in guessing that those objects that will be internally "merged" together will be indivisible and destructible only as whole. However, it is perfectly fine (and it is actually how we'd like the creators to use it) for you to "merge" only some parts of buildings like walls, leaving some parts out - like all interactible elements but also things like windows so that those can be broken etc.

 

Does this mean for ships that you cannot blow holes or destroy specific parts of a ship with a cannon when this is implemented? Like everything on the ship is considered as one piece and can only be destroyed as a whole?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×