It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hello everyone,

I could use some clarification / advice on an issue I encountered, so here goes.

I recently played The Last Door - Season 1 (great game by the way!). The machine I played it on is an older laptop (almost 10 years old now). No problems there, everything was perfect up to the end.

Then, I installed Season 2 on the same machine. While playing the 1st episode I noticed that the computer was really struggling to run it properly. The fan spins like crazy, the cursor has a minor lag and after a few minutes the computer just shut down. The same happened on the 2nd and 3rd attempt.

First of all: I know that the laptop is old and also that it cannot handle (visually) demanding games anymore. The same behavior has actually occurred before while trying to run other games too, so that's no news to me because I knew it couldn't keep up. Every time it runs a demanding game it just gets overheated and shuts down.

Still, I wondered why? Season 2 is visually exactly the same as Season 1 (very low-res graphics upscaled to match the screen resolution). After peeking at both seasons' directories things became clear. Season 1 was made with Adobe AIR, but Season 2 was made with Unity.

Now, personally, I do not use any commercial engine for my prototypes and small games, I like writing the code myself based on a small framework I also created. Of course, I do not blame any developer that does employ a commercial engine for their games. But, I still feel that using such an engine for such a game is total overkill (again, personal opinion).

Finally, to my question. Are there any command line arguments that could disable Unity features that are unnecessary to such games? I could not locate any config file in the game's directory so I wonder if there are any other means to work around the issue.
No posts in this topic were marked as the solution yet. If you can help, add your reply
avatar
Panaias: Still, I wondered why? Season 2 is visually exactly the same as Season 1 (very low-res graphics upscaled to match the screen resolution). After peeking at both seasons' directories things became clear. Season 1 was made with Adobe AIR, but Season 2 was made with Unity.
Unity isn't the most efficient engine, especially for point & click adventure games. One weird quirk is that it can run "frameworks" (ie, engines within its own engine) which usually ends up a hugely unoptimized mess. Eg, the developer of Lorelai said they used the Adventure Creator Framework *within* Unity Engine and it runs significantly worse on lighter weight hardware than other games.
avatar
Panaias: Now, personally, I do not use any commercial engine for my prototypes and small games, I like writing the code myself based on a small framework I also created. Of course, I do not blame any developer that does employ a commercial engine for their games. But, I still feel that using such an engine for such a game is total overkill (again, personal opinion).

Finally, to my question. Are there any command line arguments that could disable Unity features that are unnecessary to such games? I could not locate any config file in the game's directory so I wonder if there are any other means to work around the issue.
I agree that "one size does not fit all" and Unity is probably my least favorite engine for lightweight point & click adventure games (AGS being my personal favorite). As far as I know, there's very little that devs can do in terms of offering settings when the core issue is the overkill "weight" of the engine itself. It's like no matter what you can tweak, Unreal 4 games will always run a lot slower than UE1-2 games even when feeding the same primitive graphics in both. To give an example of the Lorelai game above, people are commenting in the support forum that both "Fantastic" and "Fastest" (typical Unity Engine presets) both give 11fps on the same hardware due to the use of an engine within an engine.

As for The Last Door's art style, I think it's the super pixelated stuff with LD1 = 14:1 pixels in 4:3 ratio = effective 102 x 76 rendered resolution, and LD2 = 12:1 pixels in 16:9 ratio = effective 160 x 90 rendered resolution (as viewed on a 1080p screen), which is far lower than 30 year old DOS (320 x 240). It's fine to use as an art style (it also worked well for The Darkside Detective) but if it's running badly at that low res, that's entirely down to the sheer "weight" of Unity (and being no less silly than making simple point & clicks in CryEngine or Unreal simply because that's all the devs are familiar with).
Post edited February 03, 2020 by AB2012
unity isn't very efficient. (same response as ^^^ really,) i played yooka laylee, which is a fairly simple 3d game. very low performance. on the 2.5D minigames, i just didn't have the response time to play the mini-games. even though i can run for example, bioshock infinite, or witcher 3 or assaasins creed syndicate. also, dreamfall chapters gained around 20fps by updating unity to directx 11 support. so you just need to tweak the graphic settings to your liking.
avatar
AB2012: ...One weird quirk is that it can run "frameworks" (ie, engines within its own engine) which usually ends up a hugely unoptimized mess...
What? Really? That sounds like trouble for sure in many possible ways.
avatar
AB2012: ...As far as I know, there's very little that devs can do in terms of offering settings when the core issue is the overkill "weight" of the engine itself...
I thought so. It is unfortunate when your work has to be adapted to the means instead of the other way around.
avatar
timmy010: ...so you just need to tweak the graphic settings to your liking...
That was the 1st that came to mind. Too bad the game does not offer such graphics options (i.e. implemented by the developers within the game, not the Unity ones) and there's no config file to tweak any values. The only thing I was able to try was to lower the resolution from the OS (Win7) and set Unity's quality option to "Fastest". The result was the same.

As a side note, I tried to change the game's resolution (through the Unity launcher) to the lowest one available (640x480). The problem was that the game does not seem to handle resolutions well. In this case, each scene was rendered with portions cut off on both sides (aka unplayable), while the in-game cursor icons were HUGE (obstructing big part of the screen and not clarifying where the cursor hotspot actually is).
Developers use to say that an engine is just a tool and depending how you manage it results can be good or bad.

But I have learnt to discover if a game is made in unity just suffering the bad performance in 2d and the 3d shadows code for example, or the terrible bunch of resources and memory it eats.
Post edited February 03, 2020 by Gudadantza
avatar
Panaias: As a side note, I tried to change the game's resolution (through the Unity launcher) to the lowest one available (640x480). The problem was that the game does not seem to handle resolutions well. In this case, each scene was rendered with portions cut off on both sides (aka unplayable), while the in-game cursor icons were HUGE (obstructing big part of the screen and not clarifying where the cursor hotspot actually is).
Unity also has the most awkward resolution management. A while back they changed defaults so that "Fullscreen" actually now means Borderless Windowed. If you want proper Exclusive Fullscreen you may have to force the game with -window-mode exclusive command line option. On top of that, for some games the engine always seems to permanently render at the desktop resolution and whatever in-game resolution you set is merely the "internal" rendering resolution (which if lower is then upscaled internally sometimes giving some things an abnormally blurrier look vs having your GPU or monitor handle it). And as you've found out, with Unity there's no Unreal equivalent of "Engine.ini" files that you can manually tweak. (And Unity is also stuffed full of Telemetry which doesn't help performance on weak CPU's either).
Post edited February 03, 2020 by AB2012
avatar
Gudadantza: Developers use to say that an engine is just a tool and depending how you manage it results can be good or bad.

But I have learnt to discover if a game is made in unity just suffering the bad performance in 2d and the 3d shadows code for example, or the terrible bunch of resources and memory it eats.
Well, in this case, it is very bad. It is like for example a cockroach appears in the room and you want to get rid of it.
-Solution 1: you get your trusty slipper or shoe and you get the job 100% done. Stain is probably inevitable, but you can quickly clean it up.
-Solution 2: you visit a weapon store and get yourself a brand new hitman's essentials kit, with some extras included. You return home, set it all up and get the job done as well. The cockroach is out of the picture of course, but so are many other things that you have crashed during the process (pun intended).
avatar
AB2012: ...If you want proper Exclusive Fullscreen you may have to force the game with -window-mode exclusive command line option...
Thanks for the tip! I will try it when I get the chance again and post the result here. My hopes are not high but it's worth at least a try.
avatar
Gudadantza: Developers use to say that an engine is just a tool and depending how you manage it results can be good or bad.

But I have learnt to discover if a game is made in unity just suffering the bad performance in 2d and the 3d shadows code for example, or the terrible bunch of resources and memory it eats.
avatar
Panaias: Well, in this case, it is very bad. It is like for example a cockroach appears in the room and you want to get rid of it.
-Solution 1: you get your trusty slipper or shoe and you get the job 100% done. Stain is probably inevitable, but you can quickly clean it up.
-Solution 2: you visit a weapon store and get yourself a brand new hitman's essentials kit, with some extras included. You return home, set it all up and get the job done as well. The cockroach is out of the picture of course, but so are many other things that you have crashed during the process (pun intended).
avatar
AB2012: ...If you want proper Exclusive Fullscreen you may have to force the game with -window-mode exclusive command line option...
avatar
Panaias: Thanks for the tip! I will try it when I get the chance again and post the result here. My hopes are not high but it's worth at least a try.
Yes. Good point. That is exactly what I fear. Unity consumes too many resources to render something that could be done with less. And that is killer in old resources computers. What I am not sure is if it is an optimization problem or a design problem.
Not to mention unity telemetrics is probably burning up your processor and ram sending all your data back to them.
Some of the settings (usually resolution, screen mode, audio and a few others) are stored in the registry, so have a look there too.

HKEY_CURRENT_USER\Software\*Dev's name*\...
avatar
Gudadantza: ...
Yes. Good point. That is exactly what I fear. Unity consumes too many resources to render something that could be done with less. And that is killer in old resources computers. What I am not sure is if it is an optimization problem or a design problem.
As far as optimization goes, and although I am not pro Unity, I suppose that they're probably doing the best they can. Unfortunately, their one-size-fits-all philosophy probably does not allow for distinct optimization per use case.

I think it's more of a design problem. Not in the sense that they designed their software badly, but more like they should not support 2D games right from the beginning. This way, developers like the ones of The Last Door would have to turn to other solutions (e.g. like AGS that AB2012 has stated in a previous post). In the end it would be for the best, I believe.
avatar
nightcraw1er.488: Not to mention unity telemetrics is probably burning up your processor and ram sending all your data back to them.
^ True

avatar
ariaspi: Some of the settings (usually resolution, screen mode, audio and a few others) are stored in the registry, so have a look there too...
Didn't think of that, I will also check there too. Thanks!
Post edited February 03, 2020 by Panaias
It's really about whether the developers bothered to learn how to optimize. It's easy, but lazy, to blame Unity. You can just as easily blame Unreal or any other engine. For example, inXile had performance issues with Unity, switched to Unreal, and yet there are no shortage of complaints about performance with Bard's Tale IV. What's the common thread there?

Unity is a long way from perfect and does have some impact on performance, but all engines are bad to some degree, including those you write yourself in straight C++. What's more important is learning how hardware and the engine actually works so you can take advantage of what you have. You never hear anything about Unity with games like Hollow Knight, Ori, etc., since the developers did their job properly.

There's no reason whatsoever for The Last Door to have performance issues in Unity, aside from the developers apparently failing rather spectacularly in the optimization department, if comments here are accurate. I haven't played it, but from what I can see, it kinda seems like you'd have to be actively trying to get it to run poorly in this case. Using Unity, it should be able to run at 100s or 1000s of fps on 15-year-old hardware. (But hopefully they'd use vsync so it doesn't actually run that fast...unfortunately you can't assume that devs have heard of vsync, which speaks to my point about issues being more about the developers than the engine.)

Speaking of which, regarding fullscreen, it's completely trivial to set Screen.fullScreenMode = FullScreenMode.ExclusiveFullScreen, or FullScreenMode.FullScreenWindow. You shouldn't have to fiddle with command line options or .ini files...the developers should make the relatively small effort of putting that in the in-game video options, but they rarely do.
Here I'd agree with both AB2012 and eric5h5 on the point of Devs's bad implementation, often resulting in it being a system hog. I find myself cringing with games running with Unity and so am expecting the worst (at least that way I can only be pleasantly surprised) in terms of implementation/performance.

Got both THD and found myself giving up on it, and probably will be a good while before wanting to get back to it, especially if THLD 2 can be a grief giver....

Shame about all that collateral damage with solution 2 (courtesy of Panaias) though, for it's way more fun than going with the trusty slipper/shoe approach ;-)
Post edited February 05, 2020 by Flyingfluffypiglet
avatar
eric5h5: ...
I agree with you. I don't blame Unity for any of these problems, I just think that it should not be their first choice of engine. AGS would probably be my choice if I wanted a "visual tool" to create such a game.

The developers of the game might not even be programmers at all, hence the use of such an engine, else they could use a framework such as MonoGame if they wanted to get low-level stuff out of the way. I also understand their choice if that's the case.

avatar
Flyingfluffypiglet: ...Shame about all that collateral damage with solution 2 (courtesy of Panaias) though, for it's way more fun than going with the trusty slipper/shoe approach ;-)
It probably is more fun, but all I'm asking is a mere slipper please :)
avatar
AB2012: the developer of Lorelai said they used the Adventure Creator Framework *within* Unity Engine and it runs significantly worse on lighter weight hardware than other games.
Oh really? Darn, I'm actually going to be using that for a short game because it is a really well-done asset. Oh well, I'll stick with Unity for now.