Jump to content

I just heard of KSP 2. Are they officially using Unity?


Recommended Posts

I’m not an expert, but even if Unity is not the best choice for a frame-rate critical game like a FPS, KSP is nit that type of a game. And the bottleneck is never going to be graphical representation; it’s always going to be physics.

If there was a compelling reason to switch engines, Star Helix Theory would have done so. It seems unlikely they would have chosen Unity if they felt it wasn’t the right choice.

Link to post
Share on other sites
8 hours ago, BudgetHedgehog said:

Unity is only associated with shovelware because there's a free version to use (as KSP I believe originally did). Unity is a great engine that many high-quality games from AAA devs and publishers use (Cities:Skylines, Cuphead, and Hearthstone are the big ones that come to mind) and as @DStaal said, the problem's more a fault with KSP itself rather than the engine - I remember them referring to spaghetti code more than once.

Oh bad example with city skylines man.

The game ran like absolute crap as soon as your city gained size.  Like you set it to speed 5 and it runs into about 1.5 maybe 2.
It was absolutely annoying and made me quit after a while.
Not as bad, but can get as bad, Hearts of Iron 4... which if I am right is also unity.  It ALSO suffers from slowdown after a while and is especially visible in a total world war with more than 2 factions.

Benefit of the doubt where it is due.  They said there would be quite the improvement... I figure unless you go with 2.5k-3k part monster ships.  A wee bit of optimization from the player's part will make such atrocities be 1000 parts at most (Using most efficient batteries, fuel tanks, engines, etc).
The HUGE problem with KSP1 is that if you go Nuclear, you have 60 thrust engine... that's it.  A good mothership needs at the very least 1k thrust to be viable... 2-3k isn't out of the picture either, do the math.  Fuel tanks encourage spamming parts, getting nice wings encourage spamming parts, just getting a circular-looking ship is part spam to the nth degree.
And of course lag starts from 200-350 depending on your rig. Having 64 gigs of Ram does not help either.  Proper part design would solve A LOT of problem with ships in KSP1, the lego approach is cool, but it's killing frame rate to hell and back. 
You have to mod your own parts in KSP1, say a 2000 thrust nuke engine to replace 33 parts.  A * SINGLE* LF tank that weights properly but that single piece adds say 50k LF... etc.  I hope KSP2 is a mix of BETTER performance (all but confirmed) and better stock part designs.

But unity hasn't impressed me as an engine.  Then again, not many engines have impressed me... Game devs usually purchase dev tools to develop in them, and running certain types of game in the wrong engine can spread crap all over said game project.
So meh. 

TL;DR?  Wait and see.

Link to post
Share on other sites

The main Problem with Unity is: easy to use => many crap Games => has a bad reputation as it deserves

Unity has evolved a lot in recent years and continues to evolve:

  • The new 2 Renderpipelines (URP/LWRP and HDRP), one for better look, the other for better performance (i wonder is KSP 2 using it?)
  • C# Job system and Burst compiler for high performance multithread code without Garbage collection and in some cases faster als normal C++ (i hope KSP 2 using it!!)
  • Future: ECS System (Entity Component System), a new data oriented approach instead of object oriented with a high performance boost (core API could come out of the preview this year, KSP 2 could using it for some internal simulation stuff)

For what possible with grafics in Unity look at: https://www.youtube.com/watch?v=34K8YJOMDRY

For what possible with Performance in Unity look at (using ECS): https://www.youtube.com/watch?v=KgcU2HBOXAw

 

Link to post
Share on other sites
3 hours ago, Francois424 said:

And of course lag starts from 200-350 depending on your rig. Having 64 gigs of Ram does not help either.  Proper part design would solve A LOT of problem with ships in KSP1, the lego approach is cool, but it's killing frame rate to hell and back. 
You have to mod your own parts in KSP1, say a 2000 thrust nuke engine to replace 33 parts.  A * SINGLE* LF tank that weights properly but that single piece adds say 50k LF... etc.  I hope KSP2 is a mix of BETTER performance (all but confirmed) and better stock part designs.

If you see that trailer/pre-alpha gameplay Jool interstellar ship it doesn't seems to be made out of thousands of parts, I think they're on the right track on this.

Also that ship has a excrements-ton of containers and no specialized hardware like landers or rovers, maybe they will have some sort of Kit system to put our specialized craft in easy to manage containers for transport.

Link to post
Share on other sites

Unity is a relatively new game engine (compared to established industry standard such as Unreal Engine). When KSP, Cities : Skylines and such came out, not many people had much experience.

Now, more and more people are getting experience working with Unity3D and it shows; more and more stunning titles are being released. There are quite a few impressive titles in the works right now.

It is a matter of experience. Unity3D itself is just a tool that is starting to mature; the industry already is looking for experienced Unity3D developers for their own projects.

And I tell you, its greater accessibility will produce many more experts than less accessible engines like Unreal Engine will ever do.

For now, at least; a challenger has appeared in the form of Godot. It is still crawling on the floor as an immature game engine, however once it picks itself up and starts to mature, you can bet your grandma's jewels that it'll surpass the proprietary Unity with its fees.

This is me showing the middle finger to Unity's seat licences, however as an engine it is pretty solid.

Link to post
Share on other sites
16 hours ago, linuxgurugamer said:

Can you explain the differences between multi-threading and hyperthreading?  Advantages and disadvantages of each?  What are co-routines, and why are they different from threads?

I read an article about the total war series lack of multi threading support when it comes to processing battle AI. One of the main arguments aside from the warscape engine being outdated is that you can loose overall performance when multithreding because you need to share memory between cores. I've always wondered if this could also be the case in KSP. Physics performance could be worse if shared between cores than on a single core. I am no programmer and from what I know multithreding is even a very difficult subject for people that work on games but is there any truth in what I read and could that be true for KSP? I highly doubt ksp2 will have physics calculated over multiple cores but I think that the single core performance is nowhere near as optimized as it could be. 

Link to post
Share on other sites
8 minutes ago, dave1904 said:

I read an article about the total war series lack of multi threading support when it comes to processing battle AI. One of the main arguments aside from the warscape engine being outdated is that you can loose overall performance when multithreding because you need to share memory between cores. I've always wondered if this could also be the case in KSP. Physics performance could be worse if shared between cores than on a single core. I am no programmer and from what I know multithreding is even a very difficult subject for people that work on games but is there any truth in what I read and could that be true for KSP? I highly doubt ksp2 will have physics calculated over multiple cores but I think that the single core performance is nowhere near as optimized as it could be. 

First, you are correct that the current performance is not optimized, by a lot.  That's due to the inherent design of the current KSP

Second, multi-threading done correctly is extremely difficult to do.  I don't know the details of how the Intel chips work, but there are several ways around bottle necks.  One is to allocate chunks of memory to cpu A for it's work, another chunk to B, etc.  These chunks would need to be an exact size which matches what the memory manager can handle.  Best thing to say is that the new developers are optimizing KSP in many different ways, and we won't know exactly what or how until the release.

 

Link to post
Share on other sites

Physics is difficult for multithreading in most cases, specially the vessels in KSP, you need the results from the previous calculations, so you can't calculate in parallel.

Unity using NVIDIA PhysX for Physics,  Unity has no direct influence on performance here.

Link to post
Share on other sites
11 hours ago, ronson49 said:

That would be Unity itself?

No, The GAME code is not the same as the Engine code, It was KSP's original core Game Coding that was limiting it, not the Engine.

Also take note that KSP is currently running on an older version of Unity while KSP 2 will be on the Latest version, and thus has better native support for Engine features added after KSP1 began development.

 

Link to post
Share on other sites
14 hours ago, Francois424 said:

Oh bad example with city skylines man.

The game ran like absolute crap as soon as your city gained size.  Like you set it to speed 5 and it runs into about 1.5 maybe 2.
It was absolutely annoying and made me quit after a while.
Not as bad, but can get as bad, Hearts of Iron 4... which if I am right is also unity.  It ALSO suffers from slowdown after a while and is especially visible in a total world war with more than 2 factions.

Benefit of the doubt where it is due.  They said there would be quite the improvement... I figure unless you go with 2.5k-3k part monster ships.  A wee bit of optimization from the player's part will make such atrocities be 1000 parts at most (Using most efficient batteries, fuel tanks, engines, etc).
The HUGE problem with KSP1 is that if you go Nuclear, you have 60 thrust engine... that's it.  A good mothership needs at the very least 1k thrust to be viable... 2-3k isn't out of the picture either, do the math.  Fuel tanks encourage spamming parts, getting nice wings encourage spamming parts, just getting a circular-looking ship is part spam to the nth degree.
And of course lag starts from 200-350 depending on your rig. Having 64 gigs of Ram does not help either.  Proper part design would solve A LOT of problem with ships in KSP1, the lego approach is cool, but it's killing frame rate to hell and back. 
You have to mod your own parts in KSP1, say a 2000 thrust nuke engine to replace 33 parts.  A * SINGLE* LF tank that weights properly but that single piece adds say 50k LF... etc.  I hope KSP2 is a mix of BETTER performance (all but confirmed) and better stock part designs.

But unity hasn't impressed me as an engine.  Then again, not many engines have impressed me... Game devs usually purchase dev tools to develop in them, and running certain types of game in the wrong engine can spread crap all over said game project.
So meh. 

TL;DR?  Wait and see.

Skylines runs well as long as you have the hardware to support it. It's a pretty CPU-heavy game, and IIRC 30fps is about all you can ask for.

HOI4 runs on Paradox's Clausewitz engine, which has about as much similarity to Unity as my cat to my car.

 

I agree with your TL;DR though. Game won't be out for more than a year, likely enough.

Link to post
Share on other sites
12 hours ago, Harry Rhodan said:

No, like all other Paradox games it uses their own Clausewitz engine.

 

1 hour ago, DuoDex said:

HOI4 runs on Paradox's Clausewitz engine

I stand corrected.  thanks.

 

 

12 hours ago, Master39 said:

If you see that trailer/pre-alpha gameplay Jool interstellar ship it doesn't seems to be made out of thousands of parts, I think they're on the right track on this.

Also that ship has a excrements-ton of containers and no specialized hardware like landers or rovers, maybe they will have some sort of Kit system to put our specialized craft in easy to manage containers for transport.

That's pretty interesting thinking.  Imagine having a large 150 parts rover (for more challenging planets) and you put it in a single large container box. 
Then if the game/ship's physics treats the container as ONE part... Now that would be something.
Maybe apply the same kind of things to part stowed away in a cargo bay or under a fairing.

That's just genius!
+1

Edited by Francois424
Link to post
Share on other sites
12 minutes ago, Francois424 said:

That's pretty interesting thinking.  Imagine having a large 150 parts rover (for more challenging planets) and you put it in a single large container box. 
Then if the game/ship's physics treats the container as ONE part... Now that would be something.
Maybe apply the same kind of things to part stowed away in a cargo bay or under a fairing.

That's just genius!
+1

The idea is not mine, MKS or one of the included mods have this, the kits then needs to be "built" by engineers and that takes time.

Link to post
Share on other sites

Rant: The next time I hear "Unity is Bad", I will lose my mind. Threads and comments exactly like this one have been posted dozens of times since KSP2 was announced. I might as well make a generic responce that I can post whenever someone asks this question.

Anyway, rant over. KSP's bad performance is not due to it's engine, but rather a horrible codebase that needed to be rewritten. You know what was also made using Unity? Subnautica, Rimworld, Cuphead... and countless other good games. The reason Unity gets a bad rep is because it is free and easy to use, which also is the reason why modding KSP is so popular.

tl;dr: codebase bad, Unity not.

Link to post
Share on other sites

Lumberyard is being used by star citizen, and that frankly plays like crap the last time I saw it. They actually admitted they built custom 5k euro PCs to run it at the last citizen con I attended, and even then, they had issues. Like the pc Chris’s Roberts was hosting  a live demo on physically failing, needing to be replaced with another pc, and that one failing...On a custom built Alienware gaming rig, only those three were not the only rigs that failed during the demo, but several other people who were part of that live demo needed to switch to another pc to continue it.

seriously ringing endorsement there that a company who has spent (at that time) over 150 million at that point only to have buggy, crash ridden game that actually breaks 5k Euro gaming computers...... but that’s probably on Chris’s Roberts after all it’s Star Citizen we are talking about. They have chewed through what? 200 million of there 234+ million by now and still have frankly jack squat to show for it.

Edited by [email protected]
Link to post
Share on other sites
2 hours ago, [email protected] said:

My point being that it’s not Just the game engine.

Creation engine is behind Skyrim and fallout 76.
And well modding it today you get 

[ snip ]

And...well I think we all have an opinion on 76.

That's amazing.  There's hope for a good looking Japanese girl avatar in the future of gaming afterall.
Obviously that is going to have to wait until game publishers HAVE TO make good games to make bank again.
With the lootboxes and other garbage, games haven't improved much (graphics-wise) in the last ~10 years IMHO.  And it's a darned shame.

Link to post
Share on other sites
5 minutes ago, mcwaffles2003 said:

I've heard that more modern versions of Unity, than that used in KSP, allow for GPU acceleration of physics and am surprised no one has mentioned this yet. Does anyone know if Star Theory has mentioned anything about utilizing this?

No mention of it. 

The only thing we've heard hardware wise is that they are still trying to decide whether to go single-core or multi-core. 

Link to post
Share on other sites
Just now, GoldForest said:

No mention of it. 

The only thing we've heard hardware wise is that they are still trying to decide whether to go single-core or multi-core. 

Do you mean to say they are considering finding a way to make this multi-threaded? I thought that was out of the question for reasons of difficulty

Link to post
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...