RimWorld

RimWorld

RuntimeGC
user19990313  [developer] Oct 30, 2018 @ 1:22am
So update 1.0 is released! Got something to say...
So... Hey everyone!
RuntimeGC just got its 1.0 update!


@Blade696 says it cost me "2 months & 1 day" for this update, yes, as I was busy writing essays and blah blah.
Actually, I should say, it costs me 1 year 6 months 8 days and 21 hours to update RuntimeGC from nothing: I started this project on Apr. 21st, 2017, and I just finished my first mod "SuppressedAutoUnload"(AntiAutoUnload now). I never tried C# before that, and I knew nothing about RimWorld programming except how to detour a function.

It wasn't until I read a thread that I came up with this idea. There, some players figured out that world pawns section in saves is very long, and they tried to delete that section to sommth fps. Well soon they discovered their comms console were broken - cuz they deleted faction leaders as well - and one of them rigged an executable to handle this. However, the game still act wierdly after that lynch, and that executable was for A14-15 - no one tells if it could work on A16.
It occurred to me that we shouldn't focus on the save files - If we have a mod that can access all data and the relationships during runtime, we'll make it safer and stronger. That's how RuntimeGC gets the "Runtime"; and deleting unused data to recycle memory is called Garbage Collection(GC) in programming, that's where the two wierd character came from.

From the beginning it was hard for anything. Spending time on WorldPawn structures, then have to see Pawn, then Map, then Thing, then AI, then TaleManager, then Pawn_InteractionWorker, Pawn_relationTracker, etc. The dependency was several times more complicated than I thought. Thankfully my brain didn't overheat and now I could say I know RimWorld codes better than Tynan(except those mysterious naming styles).
To tell the truth, the most difficult thing for the initial release is to create a user interface. I wrote C, I wrote Java, I even created some Minecraft mods, but I never ever tried GUI before. After playing with tons of Rect-s (and failed to draw anything), I found an automatic listing tool in the code - and that's how the UI was created. Actually, till now, the layout remains the same.

Well, I never thought I could publish RuntimeGC then, not to mention updating it to 1.0. But now, it's here. It is enjoyable every time I solved a [technical issue here] or fixed a [patch name here], actually the coding of RuntimeGC makes it a delight of life. I apologize for the delay, and thank you all for your continious support (though few will look down through the whole passage and see this)

Now, enjoy the update! I love RuntimeGC as much as you do
And if you like RuntimeGC, how about a cup of coffee for it? (I was curious how many cups it will receive XD)

2018/10/30