June 14th 2019 by SDGNelson
Primarily item and equipped item (typically weapon) updates.
Making the now-crowded attachments view not suck was trickier than expected. Since you can move around jumping and bobbing your weapon all over the place with this menu open, the angles leading to the item slots were not stable.
I experimented with several different approaches involving trying to group the slots together, but in the end a relatively simple solution worked best. The slots push each-other clockwise inserting spacing, then counter-clockwise, and then the average is used. Combining this with a few other techniques to keep the screen positions and angles stable turned out quite well.
Weapon animations have changed significantly over the past year. Initially while working on attachment changes last year there were separate animations for detaching, attaching, and a detach-attach combo. This might make sense for some future items, but was a lot more work to animate and keep consistent. Back then we still didn’t have space-switching for animations either.
Now each equipped weapon can have its own dedicated animation blueprint which allows much more control over the blending and base pose, especially for weapon hand IK in the future. Creating the Eaglefire and Timberwolf reload animations was a lot of fun and quick to do with all the animation tools I’ve made over the past year, and now blend the detach and attach animations into a combination. Despite the item change being what triggers the animation, a notification partway through alerts the visual to swap to the new magazine.
With deep item hierarchies it was really confusing keeping track of where the item was, but now we have the new problem of extra-tall details panels. I somehow suspect this won’t be the last we see of these changes.
Last year I did some work on recoil patterns and control, and re-approaching it with fresh eyes was helpful to make useful changes. All the way back to 3 the recoil was configured as a series of pitch/yaw changes, but thinking about it this is not ideal for easily designing the shape of the pattern.
Now we control a clockwise angle the recoil will kick, and the magnitude of the kick. You can also see a preview of the pattern now in the editor (shown above), and in the future I’d like to support editing the pattern by interacting with the preview.
It’s looking like the next update to 3 will be on June 21st. Quite a few tasks have stacked up on the to-do list for that! As such, Devlog #024 should be someday mid-July.
Gameplay Change List
Usually for 3 I write the log as changes are made, but for this case I went through the commit history gathering the gameplay-related changes.
- Attached items contribute to parent item interactable collision.
- Added dismiss-all-popups hotkey.
- Fixed thumbnail bounds of items with a vertical aspect ratio like magazine.
- Corrected nearby inventory to use physical location.
- Adjusted large scope collision to include mounting point.
- Improved navigation between code lock digit fields.
- Added radial layout and padding for weapon tactical view.
- Support for duplicate 1st / 3rd person weapon widgets so that 3rd person tactical view lines up properly.
- Improved free-look and support free-look while in some menus like weapon tactical view.
- Added sub-anim-instance-blueprints for weapon animations allowing nicer blending of item animations and hand IK for weapons.
- Introduced recoil patterns and recoil control.
- Items can be resized by their attachments.
- Attached items list their parent hierarchy in the details panel.
- Parent items like their child hierarchy in the details panel.
- Separated item transfer input from output which allows clients to send a destination to the server and then a transfer or split stack command. This allows all containers to support the quantity popup easily.
- Inventory controller now tests for item ownership.
- Thumbnails can opt-out of child observer spawning.
- Slot titles now override attachable tag titles so that Handguard has names for top/bottom/left/right.
- Reduced delay between changing stack size and receiving update.
- Added small 5.56 magazine.
- Added detach and attach animations and blending of the two for reload animations.
- Focus is restored to the button that opens a popup when finished.