Перейти к содержимому

How RimWorld 1.7 Lets You Commit War Crimes Faster

Chickenrikke

0:00 / 0:00

How RimWorld 1.7 Lets You Commit War Crimes Faster

42 782 просмотра · 2 дн. назад
Chickenrikke
1,75 тыс. подписчиков
42 782 просмотра · 2 дн. назад
RimWorld 1.7 dropped Unity for Waylith, Ludeon's own engine, and the same save now runs about twice as fast. I ran both versions side by side, then took them apart to find out where every extra tick comes from. To keep score I invented a unit, war crimes per minute: my base commits 23.1 on Unity (1.6) and 46.8 on Waylith (1.7). This video explains the engine swap, where the speed really comes from, and why the new engine can outrun the game's own fast-forward button. It also covers what happens to your mods. Chapters: 0:00 Two RimWorlds, one save 1:06 The war-crimes base 2:35 Peg legs vs. bionic legs 3:38 What swapping an engine means 6:31 How I measured it 9:14 The test: war crimes per minute 11:22 Machine code, Mono and .NET: a short history 20:37 Following one war crime 23:09 The garbage collector 25:00 Faster code, one trick at a time 36:15 The speed limit 39:27 How mods survive 41:42 The honest part 43:03 So how did it get twice as fast? HOW I DID IT ILSpy (ilspycmd), the free, open-source .NET decompiler. I used it to read the C# of both versions of the game and compare them. https://github.com/icsharpcode/ILSpy For the machine code: both runtimes can list where each compiled function lives in memory (for 1.6, through a small hook I wrote into Unity's Mono). I copied that code straight out of the running game and turned it into readable instructions with objdump, the GNU disassembler, so what you see is exactly what each version ran. https://www.gnu.org/software/binutils/ HIW Bench, a small mod I wrote. It loads the same fixed-seed save on both versions and records the time of every tick and every frame. The saves: a 100-colonist late-game colony, a 500-pawn battle, and the war-crimes base. MangoHud, the Linux performance overlay, for frame rates. https://github.com/flightlessmango/Ma... Linux perf, for sampling profiles of the game's main thread, and dotnet-counters, for the .NET runtime's garbage collector and JIT numbers. https://learn.microsoft.com/dotnet/co... Both versions of the game ran as native Linux builds, with the same save, the same PC and no speed limit, so the only thing that changed was the game itself. CREDITS Music: "Hep Cats" Kevin MacLeod (incompetech.com) (edited) Licensed under Creative Commons: By Attribution 4.0 https://creativecommons.org/licenses/... Game footage, sounds, logo, and art are from RimWorld. RimWorld is Ludeon Studios. This channel isn't affiliated with or endorsed by Ludeon Studios. Unity and the Unity logo are trademarks of Unity Technologies. Mono, .NET, Microsoft, Java, Harmony and other product names and logos shown belong to their owners and appear for identification and commentary only. This channel isn't affiliated with or endorsed by Unity Technologies or any of them. If there's a game behavior you've always wondered about, leave it in the comments and I'll see if I can figure out what causes it.