News for hackers. Stuff that matters.
Re:Kerbal Space Program Acquired by Take-Two Interactive by TylerE on Wednesday May 31, 2017 @12:45PM (#14453923)
Unity's great for small indie games. Complex simulations don't mix well with mandatory GC. Microstutters suck.
Re:Kerbal Space Program Acquired by Take-Two Interactive by glenneroo on Thursday June 01, 2017 @12:11AM (#14457955)
If you're playing KSP, you can tame the stuttering with the MemGraph[0] mod. I don't know about other Unity-based games (nor do I even know of any other games that suffer from the issue). Also in my case they weren't microstutters, rather ~1-3 second pauses.

[0]http://forum.kerbalspaceprogram.com/index.php?/topic/139128-...

Re:Kerbal Space Program Acquired by Take-Two Interactive by jimmaswell on Wednesday May 31, 2017 @03:35PM (#14455271)
It's not that hard to work with the GC in Unity to make the game smooth, especially if you do so from the beginning. https://unity3d.com/learn/tutorials/topics/performance-optim...
Re:Kerbal Space Program Acquired by Take-Two Interactive by prewett on Wednesday May 31, 2017 @08:02PM (#14456881)
For a game engine, smooth performance is pretty much required. If you have to a) know that you have to worry about GC stutters (which beginners are unlikely to), and b) proactively do something about it, that seems like a major failing of a game engine. If I use a game engine, it's because I want to work on the game and avoid having to do things like manage the GC.

Besides, GC is one of those things that is classically unsuitable for real-time use cases, and games are exactly a real-time use case. So you could argue that Unity choosing a GC language was a predictably a bad decision. Again, I don't use a game engine because I want to put up with bad decisions.

Re:Kerbal Space Program Acquired by Take-Two Interactive by jimmaswell on Wednesday May 31, 2017 @08:24PM (#14456982)
All of the extra convenience and features afforded by using .NET are more than worth having to do a few simple things not to make the GC trigger at the wrong times. A game written by a beginner in any engine is going to have classes of errors that make it harder to keep using the same codebase over time. Compare the few simple suggestions (many of which like object reuse apply to C++ as well) in the article to the huge list of things not to do in C++.
Re:Kerbal Space Program Acquired by Take-Two Interactive by TylerE on Wednesday May 31, 2017 @04:06PM (#14455489)
How come no ones seem to do it then, or not do it well enough?

Cities:Skylines has the same GC stutters.

Re:Kerbal Space Program Acquired by Take-Two Interactive by bananaboy on Wednesday May 31, 2017 @07:33PM (#14456759)
It's easy to fall into the trap of doing things the simple way or the unity way. To avoid it you have to go out of your way a bit and apply the same rigour as if you were writing your own engine.
Re:Kerbal Space Program Acquired by Take-Two Interactive by jimmaswell on Wednesday May 31, 2017 @08:20PM (#14456966)
Not making heap allocations in loops/Update and favoring object reuse really isn't comparable to writing your own engine.
Re:Kerbal Space Program Acquired by Take-Two Interactive by bananaboy on Wednesday June 07, 2017 @09:53AM (#14506428)
I didn't say it was. I'm just saying that you can't allocate and instantiate all over the shop just because it's a GC language.
Re:Kerbal Space Program Acquired by Take-Two Interactive by jimmaswell on Wednesday May 31, 2017 @08:21PM (#14456969)
I've never encountered a stuttering issue in any Unity game I've played.