* The GAME (KSP) and the IP was purchased by Take-Two, not the company itself.
* The IP was then given to Star theory (MNC/SMNC/Planetary Annihilation guys) to develop KSP2
* Star theory failed once to deliver on the budget they promised, they got extra money
* ST failed second time,T2 didn't wanted to give them more money, so ST wanted to sell out to T2
* T2 went "fuck it", took IP from them
* Take-Two was one to poach developers from Star Theory (not Squad!) to make new studio to make KSP2. IIRC they basically made blanked statement "if you want to work on KSP we will hire you" to their devs, a lot of them came over.
I assume the last part happened because T2 went "hold on, you failed to deliver then want us to buy you ? Why would we buy company with incompetent management in the first place ? Poaching devs is cheaper".
> You are better off installing better graphics mods on KSP.
Well, at least you got that right.
with my limited technical knowledge about game programming and much less limited technical knowledge about software development in general this seems quite wrong
because while the game is somewhat unique in some point, in many many(1) other technical points it's not, so by using a game engine you can save a lot of time/problems with all the points it's not unique in and just either replace or adapt the parts where it is
so while Unity might very well have been a bad choice
the general idea of using an existing game engine was not
(1): Like window handling, input handling, asset loading/packing/bundling/compression, parts of game saving, most parts related to the rendering pipeline, menus, statistics/crash reporting, installers, and probably more.
Through this is also how game engines rot: By not maintaining many of the build in components leading to any non very simple game needing to replace them all the time. I think Unity had been going into that direction.
developing games is cost and time constrained
if you can use a existing engine and not wast resources on all the things which are not the main selling point and in turn spend more resources on getting the main selling point right, why should you not do so?
AFIK few, probably non of the more successful established game engine force you to use their physics engine
this still leaves quite a lot of parts you do not need to replace
FWIW my experience in gaming has been that Unity is exceptionally powerful and allows game developers to create games that would otherwise require an entirely separate dev team to support the engine. When I first learned game dev, the code sections were almost entirely devoted to interacting with the underlying graphics libraries (OpenGL or DirectX) and hardly any to creating powerful features in a game. Now, using something like Unreal or Unity is akin to using a web framework like Ruby on Rails or Laravel.
* The source is available to view and modify
I’ve known people who worked on some games where they hand rolled a physics engine in c# instead of using the unity one.
I think you might mean that unreal is "source available" which doesn't confer any of the rights of open source, but does allow you to view and modify the source code subject to a commercial license (which might be free for personal, small scale use. I don't know unreal's pricing structure).
Unreal is not open source (cf. the Open Source Definition: https://opensource.org/osd/). It's just that the licencee is allowed to view and modify the source code within the limits of the licence.
Although, I don't even know if the KSP2 studio is big enough to afford it, let alone if they are actually doing it
> * The source is available to view and modify
“source available”, and then you are using common terminology in a non-controversial way and don't need an explanation that is longer than the term.
But if you want to do something a bit more complex, like modifying 3d objects in flight based on unit interaction, not only are you fighting an uphill battle, but the documentation is all out of date and mostly wrong. Because Unity isnt just an engine, its a set of default addons to that engine, and each of those addons was written to be just generic enough, but mostly just enable people to start making FPS and RTS games really quick. If you want to step outside that paradigm you are basically just engine coding again.
I've been using Unity since 2009, and have been a lead developer and CTO in several different companies. I have never heard anyone writing their own memory management for Unity. May be you're talking about object pooling?
As someone not familiar with the KSP ecosystem that threw me for a loop.