Jump to content

How exactly would a Unity 5 update affect KSP?


Recommended Posts

As you may have guessed, I'm familiar with the fact that KSP runs on Unity, and that we're all waiting for Unity 5 to be released so that KSP can become a better game with it. But what exactly will this "high and mighty" Unity 5 be able to do? The most I know about is that it can fix x64 for windows, and a couple things about the physics engine, but that's about it. Can someone fill me in?

Link to comment
Share on other sites

Unity 5 is supposed to bring 2 things.

1) Stable 64 bit client and editor: This will let Squad actually interact with and debug the game in a 64 bit environment and fix bugs, which they cannot right now since the editor is only 32 bit and sometimes bugs appear in the 32-64 bit conversion process. Additionally it will stabilize the windows 64 bit client, which is currently rather unstable in and of itself, not just due to conversion bugs.

2) DirectX11. DX11 cuts memory usage a LOT (results vary but on average, between 25 and 40% reduction in RAM.

Unity 5 is the saving grace for all the RAM issues KSP has, which is arguably its biggest flaw currently.

Link to comment
Share on other sites

This has already been asked, funnily enough :)

I think it's important to make it clear that Unity 5 is very unlikely to be the magical silver bullet people are making it out to be.

When we moved from unity 3 to 4, we had to deal with a LOT (and I do mean a LOT) of upgrade-related bugs which we didn't expect. Furthermore, the earlier versions of Unity 4 had quite a few bugs of their own which we had to work around (or hang tight) until fixes came along.

My point is, moving to Unity 5 is very unlikely to be a straightforward transition, and by no means I expect KSP to be stable or even playable (let alone improved) after simply upgrading the project over. I would be very happy to be wrong in that one, I must add, but historically, every time we upgraded to a new major version of unity, we came across new issues we had to contend with, so please don't get overexcited about Unity 5 just yet.

This late in a project, most games tend to freeze engine versions when they find something stable that fits their needs. Regression issues is in fact the main reason why Unity stuck with PhysX 2.8 until now. If breaking mods and saves is an issue for us, imagine their case, where instead of mods and saves, they risk breaking hundreds of commercial projects. We have it easy by comparison really...

Anyhow, we don't plan to freeze engines, but I just wanted to clarify that moving to Unity 5 may not be as simple and so immediately beneficial as it may seem. At the very least, we don't plan to upgrade until A: The 1.0 release is out, and B: Until U5 is out of beta and confirmed stable.

Cheers

Link to comment
Share on other sites

So, what you're saying is that if I had a ship with enough parts to start lagging my computer, this would fix it?

Your ship lagging has to do with KSP calculating physics on pretty much every part there (there are some physicsless parts that do not add to this) not your RAM. the RAM related issues affect people like me who mod the living crap out of their game until it ceases to be the same game. My current 64 bit install loads into memory at 5.54GB total. For reference, the 32 bit version of the executable crashes at ~3.45GB.

Link to comment
Share on other sites

Unity 5 is supposed to bring 2 things.

1) Stable 64 bit client and editor: This will let Squad actually interact with and debug the game in a 64 bit environment and fix bugs, which they cannot right now since the editor is only 32 bit and sometimes bugs appear in the 32-64 bit conversion process. Additionally it will stabilize the windows 64 bit client, which is currently rather unstable in and of itself, not just due to conversion bugs.

2) DirectX11. DX11 cuts memory usage a LOT (results vary but on average, between 25 and 40% reduction in RAM.

Unity 5 is the saving grace for all the RAM issues KSP has, which is arguably its biggest flaw currently.

Or they could not load every asset in the entire game at once before reaching the main screen.

It's not like we DON'T have scene change loading screens.

Link to comment
Share on other sites

Multi-threaded physics will be, by far, the most important change. Right now the game is virtually always bottlenecked by the CPU (no matter how fast it is) once you start building ships bigger than middle-size.

Stable 64-bit would be the next bigger thing, though that would be less important without the memory leaks currently in the game, until you start loading lots and lots of mods.

Link to comment
Share on other sites

As you may have guessed, I'm familiar with the fact that KSP runs on Unity, and that we're all waiting for Unity 5 to be released so that KSP can become a better game with it. But what exactly will this "high and mighty" Unity 5 be able to do? The most I know about is that it can fix x64 for windows, and a couple things about the physics engine, but that's about it. Can someone fill me in?

If you google around a bit, gather infobits and then dig a little bit deeper, what it comes down to is this:

Most of what is promised about unity 5 is garbage. Unity is at it's peak, and the vendor is milking it while it still sells well (even if in the process killing the goose that lays the golden eggs).

BUT: Unity 5 will bring actually stable 64bit builds, and a physics engine with more or less improved performance.

Since KSP has horrible memory optimization and leaks, and no actually optimized physics subsystem (instead relying on unity to do the grunt work), unity5 would allow KSP to continue its memory wasting behavior without running into 32bit VMEM limits. Furthermore, the bad (in terms of performance) physics of KSP could run faster and be distributed over multiple cores.

So to put it bluntly: Unity5 will change nothing about KSP's badly optimized and memory-leaking behavior - BUT it would open up more ressources (VMEM, cores), so it would crash/bog down to a lesser extend, until KSP exceeds those extra ressources as well. Unity5 will not fix anything about what is problematic about the implementation of KSP - it simply will enable it to consume more ressources.

Since KSP has an overally supportive and "progressive" community, and SQUAD has not yet shown any sign of intention to clean house/optimize and bugfix KSP, people are hoping for unity5 to be the saviour, by "fixing" bad programming with more abundant ressources.

Wait, i'm sure there must be more that unity5 is bringing onto the table - that can't be all of it? Well yes, especially for handhelds, it will enable easier integration of adware, fancy shaders that only cost a bit more performance than is already the case, and it will enable more people to scriptkiddie even more stuff without knowing anything about even .NET coding (SLOW!!!). Oh, and for devs there will be better tools to compose music soundtracks - cause that's what everyone wanted. I could go on, but you get the picture: Besides of 64bit VMEM and physics updates, unity5 seems to address nothing of what its critics actually demand. It just ADDS even more, instead FIXING what is wrong with it. Reminds you of SQUAD?

Edited by rynak
spelling
Link to comment
Share on other sites

a physics engine with more or less improved performance.

Well, that physics engine is so more or less improved that just with CPU under heavy pressure it can do 7-8 times better on an 8 core amd than the current one. and unity 5 (not from release, it will be a later 5.x addition) will support nvidia hardware as extra... whatever makes top PC-s lagging after Unity 5 will be Squad. So yeah, it will fix one big thing: no more excuses!!!

Link to comment
Share on other sites

Or they could not load every asset in the entire game at once before reaching the main screen.

It's not like we DON'T have scene change loading screens.

But then it would be either like Tabletop Simulator (issues with Deck Search and decks larger than 70 cards, where horrible lag starts) or each scene transition (between KSC/SPH/VAB/Tracking Station/Flight) would take a minute or two.

Link to comment
Share on other sites

But then it would be either like Tabletop Simulator (issues with Deck Search and decks larger than 70 cards, where horrible lag starts) or each scene transition (between KSC/SPH/VAB/Tracking Station/Flight) would take a minute or two.

do you have a x386? big games doesnt even have scenetransition, they load smoothly on the go and they have 1000times more assets KSP has...

Link to comment
Share on other sites

do you have a x386? big games doesnt even have scenetransition, they load smoothly on the go and they have 1000times more assets KSP has...

In most traditional games you have well-defined areas though and assets within those areas are known as well. Furthermore, moving between the areas is usually heavily restricted. Which all means the game engine can very intelligently load and unload assets as and when needed in the background without appreciably affecting the running of the game. So yes, they usually do have scene transitions - whether or not that is apparent to the user.

KSP, being a sandbox game with mostly user-generated content (planes/rockets) and being able to switch between them at will irrespective of where they are or what parts they consist of means it does not have that luxury. Yes, startup could be reduced to only loading the assets required initially, but you'd still need to have most/all assets loaded before the player actually is let loose or you risk very slow switches between vessels and/or scenes as any assets not currently in memory need to be loaded in at the time of the switch.

Link to comment
Share on other sites

In most traditional games you have well-defined areas though and assets within those areas are known as well. Furthermore, moving between the areas is usually heavily restricted. Which all means the game engine can very intelligently load and unload assets as and when needed in the background without appreciably affecting the running of the game. So yes, they usually do have scene transitions - whether or not that is apparent to the user.

KSP, being a sandbox game with mostly user-generated content (planes/rockets) and being able to switch between them at will irrespective of where they are or what parts they consist of means it does not have that luxury. Yes, startup could be reduced to only loading the assets required initially, but you'd still need to have most/all assets loaded before the player actually is let loose or you risk very slow switches between vessels and/or scenes as any assets not currently in memory need to be loaded in at the time of the switch.

you know what takes the 99% of the programs running time? the human interaction. think of loading up the most important assets and let ppl playing with the menu... in the meantime a thread can run in the background loading up the main scene assets, let them start, they see nice buildings, looking around, in the meantime you can still load... etc etc etc. if they press the button too quick 'cos they already know the stuff, a little "be patient" message and its done. this is how big asset programs work. you just need to know what will you need next time. dont even mention the amount of assets ksp has is just a fragment of how many assets a modern game put on the opening screen :) the magic is called optimisation

Link to comment
Share on other sites

Or they could not load every asset in the entire game at once before reaching the main screen.

It's not like we DON'T have scene change loading screens.

Oh, how people used to whinge back in 0.20 (or whenever the pre-optimisation update was) when the loading screens were delayed by a few seconds.

It grinds after a while.

On topic: unity 5 will basically create a lot of frustrated players when they realise that it doesn't cure teh kancer.

Edited by TMS
Link to comment
Share on other sites

you know what takes the 99% of the programs running time? the human interaction.

Yes, fully agreed on your post to hide/optimise the loading of the assets during initial startup.

But I thought the main point of your original post was for KSP to actually NOT load all of the assets in order to use less RAM, and only load in the assets as and when required. Which is why I made the point that in a game like KSP that is not really feasible since the player can switch between scenes instantly, whereas other games where the scene-switch is more controlled, the game can intelligently choose which assets it currently needs in memory.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
Does any one know how to mod ksp - it's the unity 5 bit i'm stuck on, i've found very little help.

There's a forum here that talks about modding, that would probably be a better place to ask that question, though you might want to check the stickies there to make sure they don't already have pointers.

Also, be aware that KSP is on Unity 4, not Unity 5, and will still be on U4 for the 1.0 launch.

Link to comment
Share on other sites

There's a forum here that talks about modding, that would probably be a better place to ask that question, though you might want to check the stickies there to make sure they don't already have pointers.

Also, be aware that KSP is on Unity 4, not Unity 5, and will still be on U4 for the 1.0 launch.

Ok well thank you for that fact that it's using unity 4 not 5 it means that:

1) stops me from having problems later on.

2) means that'll have to try and download it again after try for unity 5 to install it after waiting for several hours

3) And there not changing it?

- - - Updated - - -

also what version of 4 do i need?

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...