Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

It is weird. And since you read the Steam comment and my comment here, you'll know that it's not happening on most modern systems, which is what makes tackling it difficult, especially since it could both be an optimization issue and a user created issue at the same time.

Outer Wilds doesn't do the same things that TCFDX does, so it's not really a good comparison. I'm not sure that there really is a good comparison, other than maybe Aliens vs Predator, but even that's difficult to compare to since every actor in TCFDX is performing gravity transforms. I do have a few guesses as to potential CPU bottlenecks.

On your side note: In my experience working customer service and tech support for a decade, people typically only provide feedback when they're having problems, and most people refuse to believe they are at fault in some way (whether it be missing updates or contracting malware or bad system configurations or faulty hardware, etc...). It's when people aren't having problems that they typically don't leave feedback.

I know there are optimizations still to be made that I'm actively working at, but some of the issues reported by a very small percentage of the player base are difficult to tackle because no pattern has actually emerged with their performance issues and bugs and I don't have quite enough information, so it's basically one dev fumbling around in the dark trying to solve issues that are unlikely to be the problems the game actually has.

But, like I said, I'm trying to fix the problems I know it does have and hopefully it'll solve some issues for some people.

You are absolutely right that people tend to give feedback when something is not working as expected. I still think it's unusual that there's nothing but complaints about bad performance. Then again there's not a whole lot of feedback at all, so it might not be representative. But let's leave it at that. I said I'm trying to be helpful and I meant that. So, is there anything I could try out to get to the bottom of this?

And just for curiosity's sake: Why is Outer Wilds a bad comparison? It constantly shifts gravity and you can walk on walls and ceilings in a couple of places. Is it because there are no enemies and that allows for a different, less CPU-intensive implementation of those features?

Yeah, the feedback is largely scattered between here, the Steam hub, Twitter, and several Discord servers. It's a little tough tracking it all down by myself.

I don't think there's anything you can do to help unfortunately, but I do appreciate the offer. It's just going to have to be a back-to-the-basics try-stuff-and-see-what-sticks approach unfortunately.

And as for your Outer Wilds ill comparison guess, you're essentially right. In TCFDX all enemies, gibs, and some projectile weapons have gravity transformations applied to them, so it's a bit more intense in that respect than Outer Wilds. But I did some more digging and experimentation and a possible cause might be a specific enemy type performing a sight check, along with the gib movement calculations. I've made some changes around those to try to make them more "theoretically" performant, but I can't tell if the performance boost is a placebo effect due to me not really having the issues others are having. After some internal testing I'll push the update and we'll all cross our fingers.

(1 edit)

Okay, I'll make sure to check out the updated demo.

Edit:

Nope, the update didn't really improve performance for me. MAYBE I get a couple of frames more here and there, but it still dips into the 20s. And even when my PC tells me that I'm playing at 40 FPS it just doesn't feel that way. Might there also be a frame pacing issue?

One thing I haven't mentioned yet: When I'm in the main menu everything is buttery smooth, but I guess that's because that's a static scene in the background?

Largely, yes. It is an actual map with a skybox, but the models you see in the title screen aren't actually Actor entities.

I'm actually doing a port of the Actor class into C++. The only best guess I have left is that GDScript (Godot's built-in scripting language) just can't pull off the number of physics requests that I'm asking of it no matter how much I try to optimize it.

It's just very weird how dramatically inconsistent it is across higher end PCs, but GDNative/C++ is significantly faster than GDScript so there should be improvements no matter what.

I don't have an ETA on the C++ update currently. Many apologies. Just trying to do this right.

Don't worry about it, there's no need to rush things.

It really is incredibly strange how random this whole thing seems to be. Did you notice any similarities between the systems that struggled with the demo?

Most of them were Intel machines with NVIDIAs, BUT most machines are Intel machines with NVIDIAs so that doesn't really mean much, especially since there were at least 1 or 2 reported Ryzens and Radeons.

Porting is going well though. I've been sharing some progress with that on Twitter. It'll be better to have the majority of the game in C++ anyway.

Well, at least porting is going smoothly. Let's hope it improves things.