Hacker News new | ask | show | jobs
by vanderZwan 4005 days ago
The game itself I love. But I have some issues with it's implementation.

To be specific, it maxes out the CPU even when it's not doing anything. Given that it's supposed to emulate low-level hardware, at very slow speeds, and does not have any demanding graphics, I fail to see why it should do that.

(It's something I've seen happening in more games as of late, actually. For example, Desktop Dungeons - a very fun game which has no business demanding anything from my computer since it's turn-based, uses sprites, and barely animated. And yet my laptop heats up as soon as I open the game.)

In fact, it's a bit ironic, given that the whole theme of the game is squeezing out performance out of bare metal hardware, and I admit that I'm more annoyed by it for that somewhat irrational reason.

3 comments

IIRC TIS-100 is implemented using Unity, which doesn't really give you a lot of leeway as to when you update and render (e.g. you choose a framerate and it renders and updates your objects at that rate). Admittedly, since most of the time in TIS100 the screen does not change, if it were implemented using a custom engine this could be fixed.

For desktop dungeons, I'm not aware of the specifics about that game (though I have played it), but generally, if you're using OpenGL or DirectX to render, repainting only part of the screen isn't an option, so if anything is animated (no matter how slight the animation), you have to redraw the screen every frame. There are exceptions to this (like the mouse pointer, although this requires platform specific code), but not many of them.

As I mentioned in the other comment, perhaps the problem is poor Linux support on the Unity side of things? Which would be... how shall we say... typical, since Unity also targets mobile platforms. You'd think they'd allow developers to properly optimise for fan noise.

Regarding DD: first, it's also implemented in Unity, so... but that aside, even if the whole screen gets repainted, it shouldn't max out. The graphics are just not demanding enough for that.

Well, repainting at 30 or 60fps is going to heat up a lot of computers, demanding graphics or not.

Although you're probably right that it's mostly a Unity Linux support issue. My understanding is that Unity Linux support is mostly a labor of love from the Linux-using employees at Unity, and that it doesn't get a lot of attention other than that.

This is common with games nowadays. Almost no one throttles the game loop outside of mobile I guess. I've had the same issue with the Analog/Hate _visual novel_ series. My laptop doesn't need to turn into a lapheater for some text....
It's still in early access, perhaps a bug report to the developer would be in order? It doesn't do this on my machine, so it might not be occurring for them.
I am running Linux, I have to admit. Could be poor Unity support in that regard.