I have found most of the remaining memory leakage, and I have got the total memory leakage down from [200mb+ every single time you reload] to only [100mb once the first time you reload], and that’s it (and this only happens if you exit your current save and then reload the same save). This is about a 90%+ reduction in memory leakage, and since it now only happens once, and this is only the case under specific circumstances, and it’s such a small amount by the standards of modern games – I’m calling this done. The issue was in the game creating large temporary files for handling and manipulating data when generating map grids and buildings before then moving that data into proper data structures – but the temporary structures were not being deleted. These were surprisingly huge, and when coupled with the globals that weren’t being cleared out, and the unused planetary data – this appears to be almost all the remaining memory leakage! (As above, a tiny bit still remains, but I can’t find the source and it’s such a small amount that it doesn’t feel as vital to address).
I am therefore incredibly pleased to say that both of the major remaining issues (no Windows 10 functionality, extreme memory leaks) have been fixed!
Now, I need to do several things from this point on. I need to remove a ton of debug messages that are still in the game, as those shouldn’t really be in the final version. I need to remove the console from the final version for the same reason. I need to do some double-checking of a few things to make sure that things which work in Python itself continue to work when combined into an executable. I also need to do one thing in world generation to stop the game looking like it has frozen, since some people before mentioned this and I don’t want it to give that impression while it’s doing a large calculation. Oh, and I found a new crash bug with some NPCs not being given “home” coordinates and thus not being able to answer questions about their homeland, home environment, etc; this needs sorting out as well. (And of course there are some extremely minor non-crash bugs I know are in there, but I am only dealing with essentials – anything else can be fixed in 0.8.1 or whatever).
It… actually looks like it’s going to happen.
Yes, my friends – I am as shocked as you are.
So it’s on to the final stretch now, clearing out the stuff above. I’ll aim to clear all this out in the next three days, but it’s always contingent on a) how hard this stuff is and b) my head / health behaving. I’ll aim to post an update on Sunday regardless, but after that Monday and Tuesday are my teaching days, and teaching is demanding, so I cannot promise an update immediately, but the next one will be very soon, all being well.
MORE VERY SOON.