What's New in Rust's "Devblog 169" Update
Devblog 169 was a workhorse patch: a brand-new music system with three new songs shipped, while behind the scenes the Bradley APC, scientist AI, and a mountain of texture and performance optimizations took shape.
Devblog 169 arrived on July 20, 2017, and it was one of those classic mid-summer Rust patches: not a lot of flashy new toys in your hands right away, but a huge amount of groundwork being laid. The headline shippable was a new music system with three new songs, while the team's progress reports covered the Bradley APC, smarter scientist AI, and a serious optimization push across textures, foliage, and effects.
Bradley APC Progress
Helk put a ton of work into the Bradley this week, though not quite enough to get it into the game yet. The physics got tightened up, and patrol paths were added so the team could plot areas for it to move between at the launch site. He also wrote AI logic for speeding up and slowing down when approaching tight turns to keep the vehicle on track, and implemented the first piece of its weapons systems, including the main cannon. By his own admission the suspension and track movement weren't perfect, but the plan was to ship a minimum viable version and improve from there.
On the audio side, Alex R was experimenting with granular synthesis for the Bradley's engine sounds. Simple pitch-shifting of engine loops "sounds like shit" (his words), so instead the plan was to record one long, slow acceleration and map tiny overlapping slices of that audio to the Bradley's speed. Gun sounds had solid source material lined up too, but the engine came first.
AI and Scientists
The navmesh adventures continued. The navmesh was divided into a grid so that NPCs in close proximity share navmesh, and patches only get generated where they're actually needed. AI walking between navmesh patches was still unsolved, so more work remained before it was ready.
More interesting for players: scientists got a cover system that generates cover points in an area. Scientists would now prefer partial cover when shooting, seek cover when shot by an unseen attacker, and generally use cover in smarter ways.
Deprecating 32-bit Windows and DirectX 9
Garry floated two removals. First, 32-bit Windows support: Rust already didn't ship 32-bit builds for OSX or Linux, and over 99% of Windows players were on 64-bit systems, so shipping a 32-bit Windows build made less and less sense. Second, DirectX 9: nearly 10 years old at that point, with Unity about to drop support for it entirely - which would also end Windows XP support. Neither change had actually happened yet; this was fair warning, with Garry's advice being simply "upgrade to Windows 64. Please."
Performance and Optimization
A strong optimization showing this week:
- Foliage displacement no longer needs a second camera at all - the displacement mask is rendered via a command buffer on the main camera with custom view and projection matrices, saving around 0.5ms per frame when the feature is enabled. Andre recommended turning it back on if you'd disabled it for performance.
- Effect lookups got a major fix: spawning impact effects (footprints, projectile hits) used to load the effect list for a surface type on first access, which could be extremely slow - and tended to happen mid-firefight. The effect cache is now generated at build time and stored in the game manifest.
- Texture optimizations continued, with an automated texture packer that regenerates packed versions whenever artists modify originals. Two dozen packed materials were ready for staging right after the patch, with hundreds more to go. Diogo also built a texel-density visualization tool for artists - one example showed a sewer cap that could drop from 16MB to a quarter of the size at 4MB without losing meaningful detail.
- The lowest texture quality modes got slashed: "potato" quality (q=0) textures dropped to 1/16th size and q=1 to 1/4, freeing roughly 1GB of VRAM at q=0 and about 2GB at q=1.
Art: Ore Nodes, Launch Site, and the Backpack
Vincent redid the ore node visuals and their various stages of picking, bringing them in line with the collectable stones and ore so new players could more easily tell what a node actually yields - due to arrive with the next wipe. Damian polished and optimized the launch site, merging objects in the rocket factory to prevent visual pop-in and LOD issues, and moved on to remaining greybox assets like rooftop AC units, with Cobalt Space Center office furniture next. Pilgrim's backpack model finished its high poly, low poly, and textures, with just LODs and the Unity prefab left.
New Music System and Sound Fixes
After wrestling with version control (and manually copy-pasting changes to a new branch), Alex got the new music system in, along with three new songs. The one known rough edge was the loading screen, where low framerates could stop short music clips queuing in time. The music volume slider scale was also made far more reasonable - 0.3 music volume no longer drowned out everything else in the game.
Footsteps got some love in the changelist too: they play more reliably on steep inclines, the walk/run footstep choice is now based on actual movement speed rather than whether you're holding sprint, and walking on ore nodes is no longer silent. One stray fix worth a smile: water no longer spawns a sack world model when dropped.
All told, Devblog 169 was a patch about momentum - the music system landed, the optimization drumbeat continued, and the Bradley crept ever closer to prowling the launch site for real.