LambdaMod 0.4.0 Release
17th August 2021
Version 0.4.0 of LambdaMod is now out, adding proper client-side prediction supported by client-side animation and physics in addition to adding an all-new UI system! Here's what was worked on across the last 66 daily patches:
- Added VoIP.
- Added support for OpenXR haptics.
- Added support for the Huawei VR controller.
- Added support for the Microsoft Xbox controller (only when in VR mode).
- Added extrude tool for body editing.
- Changed ping audio to be positional.
- Changed meshes to be split between original and animated forms.
- Added Alt+L and Alt+A bindings to reset linear and angular velocity respectively.
- Fixed F10 not hiding all UI elements.
- Fixed client-side prediction.
- Improved lag simulation to be symmetric.
- Added new scripting features: timers, constants, dice rolls, programmatic chat and conical entity detection.
- Added basic AI pathfinding and decision making algorithms.
- Improved scripting language error messages to be more consistent.
- Added on-screen ping counter.
- Added direct chat.
- Added server-side correction.
- Added historical data feature to support server-side correction.
- Reduced overall step rate to decrease hardware requirements.
- Added step rate setting.
- Added on-screen log output when the console is closed.
- Fixed output format issues that caused sRGB to not be used on some platforms.
- Improved and added new system diagnostics logging.
- Added stash feature, allowing entities to be stored outside of the game world.
- Added Alt+H binding to reset the camera.
- Fixed long-standing bug where camera rotation could end up inverted on the server.
- Replaced entire UI system with a new widget based system that vastly simplifies and improves the code base.
- Updated splash text to be more concise and helpful.
- Added more code to upcoming user controls like confine and tether.
- Restored very basic operation in VR mode (previously it would crash with Vulkan validation errors).
And many other small fixes! Overall I think this was a success, the system has been moved into a state where new features can be added without worrying about them being disrupted by a future massive overhaul like introducing client-side physics or rewriting the UI. Unfortunately I didn't quite hit all the targets for this patch. After doing client-side prediction I realized that most upcoming functionality (VR, better sound and animation, proper UI tools, the stash) would need to be supported by UI elements. Writing those UI elements would have meant spending more effort on the UI system I eventually intended to replace, so I decided to replace it first and do the features later. As a result VR support didn't get fixed.
That said though, the focus of version 0.5.0 will be exclusively VR (except updates to animation, which VR requires for inverse kinematics). Version 0.6.0 will then focus on replacing the sound tone-color system with a new system that more closely aligns with how humans think about sound. Then with version 0.7.0 hopefully I can start working on actual game systems and polishing the system for a proper MVP!