Also if Unity were to be bought out or crash then the game engine could still be supported and maintained by the developers using it.
Or if you purchase Unity 5 and you are still working on your game when 6 or even 7 comes out you can still fix bugs and keep working on your game.
Actually could Unity open source 2.x, 3.x or 4.x the way other companies have open sources their previous games and game engines?
OR is Unity trying to be the ultimate do everything work on every platform game engine, and therefore it becomes a sub optimal solution if you are working on a specific platform as Unity has limited time and budget to fix bugs and get itself working on new platforms and graphical API’s.
But with an Open Source approach dedicated professionals could utilise and optimise it for their target platforms and provide improvements to the engine.
And Yes I know there is a source license, but that costs a lot and probably allows big companies to use Unity and totally change and revamp it without any requirement to provide Unity with those improvements.
So you have open sourced a lot of the building components/tools/utils that are used within Unity but this is not the Unity game engine, the core or heart of the beast.
You can’t really go open source and still maintain the same degree of middle-ware for no additional cost. Either you will keep the middle-ware or you will get an open source engine. Take your pick.
Open Source Unity? For eight years, I was co-leader of Delta3D - an open-source game engine for serious games. It involved THOUSANDS of hours, multiple book chapters, and one award winning game. I FULLY grok open-source - and firmly believe that Open-source is not appropriate for Unity. Plus, Unity Free is pretty darn amazing.
Gigi
PS - There are numerous open source 3D engines including: Ogre3D, Delta3D, Irlicht (sp), and Open Scene Graph.
Well as Unity has control of the inner game loop and it tends to be in regular loops where the best optimisations can be made then I would think this is probably where most games could gain the most from optimisation.
But hey what do I know, you tell me are there optimisation bugs or performance bugs on the books and where are they in the code base?
I think you’re mixing up ‘inner’ and ‘outer’ loops.
Sure thing. For starters, how about 594320? The following code allocates 24 bytes when run in Unity:
void LoopOverList(List<int> list) {
foreach(int i in list) { }
}
Note that the same code does not allocate 24 bytes when it is compiled by Visual Studio’s C# compiler and run in the project as a DLL, rather than being compiled by Unity as a loose script. The IL generated by the two compilers is different.
As a solution, you’ll want to look into the use of the ‘.constrained’ opcode for method invocation. That part’s easy but you’ll also have to make it work with AOT compilation for generics sharing (which is where I got stuck when looking at this bug before).
Also, as far as things in the core of Unity itself goes: we ship symbols, so it’s already entirely possible for you to do a lot of performance investigation work.
Back when I was just a beta tester I identified performance and multithreading bugs just using symbols and a couple of profilers, and come up with some theories about how the engine was behaving and what it should be doing differently. Contacting the developers responsible with my findings led to very quick fixes.
See and how much more could the community help out with the source code, not only could they locate performance bottlenecks they could submit improvements.
Look Unity Technologies have at most a few hundred staff working to deadlines and working within ‘Silos’, their own specific regions of the engine and probably for specific platforms.
Now in the community you have thousands of very talented developers/academics/physicists and with a closed black box system Unity is locking itself out of all those test cases and performance optimisations.
Instead you are getting bug reports and frustrated users.
What was that saying you can work smarter or you can work harder?!
Your competitors appear to be working smarter, where will you be in a few years?!