Hey folks! It's been a while since the last status update, and although several of you have been tagging along on stream, I figured I'd post an update here, for those of you who can't watch the streams regularly!
v0.2.6 is a rather large update that is primarily focused on performance optimization. Normally, this is something I save for the end of a game's development cycle, but because of the nature of early access, and because more people than expected are already trying to play these development builds, it seemed like a necessary evil to take some time and do a little optimization before proceeding.
The update is coming along nicely, and I've had even better results than I was initially expecting. I know all this optimization work is incredibly slow and boring, and we're all very eager for some new gameplay/content, so I really appreciate how patient/supportive everyone has been.
I've done a handful of benchmarks to see how far things have come since I started this massive optimization project, and I've got a couple of tasty numbers to share.
First, the character build / boot time optimization benchmark! Character build time has been reduced by about 78%, dropping from about 5.2s to 1.15s per character. The initial load time is no longer torture, and you won't have enough time to get up and grab a drink while you're waiting for test subjects to be generated, any more!
Additionally, many of the optimizations made to character build time also apply to character rebuild time, which means the character editor (especially texture and embellishment editing) runs a lot smoother, now.
Secondly - and probably more importantly - runtime performance has been dramatically improved, through a combination of rendering, physics, and general code optimization. In the benchmark above, with 3 active test subjects running at max physics/IK quality, frame time has been reduced from about 47.6ms to 12.3ms: a reduction of about 74.2%. On my machine (GTX 970 / Xeon E3-1231 v3), the framerate increased from about 21fps to about 78fps.
Many of these optimizations have also resulted in smarter memory allocation, fewer GC hiccups, and fewer memory leaks, but I haven't formally started profiling/optimizing memory usage yet, and don't have any good benchmarks ready to share just yet.
Anyway, I know most of you really don't give much of a damn about all these fancy numbers, I just wanted to make sure you're aware that I am back to working on Rack 2 again. Pawstitution was a short diversion to help refresh my creative juices, but I'd like to make more progress on Rack 2 before I continue working on it. I've been busy, and there are results to show off. With any luck, I'd like to finish optimization soon so I can get back to adding what you guys really care about: more interactions and gadgets.
As always, you can monitor my development progress on Trello, or you can swing by Picarto to eavesdrop on me while I work. Thank you all, again, for your patience and support. <3