0.2.0
๐ Version 0.2.0 โ The Immersion & Performance Update
We are excited to release v0.2.0! This release marks a significant milestone in the project's evolution, transforming the core audio architecture, introducing premium gameplay features (tactical radar, acoustics, and radio DSP), adding Discord integration, and hardening client/server reliability.
Below is the detailed list of changes and new features introduced since v0.1.0.
๐ Major Highlights (Diff from v0.1.0)
๐ก 1. High-Performance UDP Audio Transport
- WebSocket to UDP Transition: Shipped a major rewrite of the voice stream transport. Audio now travels over UDP rather than WebSockets, resulting in significantly lower latency, no head-of-line blocking, and resilience against packet jitter.
- Auto-Reconnect Mechanism: Implemented an asynchronous connection manager that automatically reconnects the UDP stream and WebSocket control channel upon unexpected dropouts.
๐ง 2. Dynamic Radio DSP & Acoustics
- Radio Signal Degradation: Integrated distance-based low-fidelity audio degradation. Real-time bandpass filtering and white-noise mixing are applied to mimic distance-based radio signals.
- Synthesized PTT Mic Chimes: Added satisfying key-down/up radio chirps to simulate tactile radio transceivers.
- Acoustics & Deck Occlusion: Introduced dynamic audio occlusion. Voice streams are now dynamically muffled/occluded based on ship deck layouts and bulkheads.
- Voice Presets & Speech-To-Text (STT): Implemented client-side voice presets and initial support for Speech-To-Text processing.
๐ฅ๏ธ 3. Vulkan/DirectX HUD Overlay & Tactical Mini-Radar
- Transparent HUD Overlay: Developed a click-through WPF overlay window using Win32 styles that remains fully compatible with Vulkan/DirectX in borderless windowed mode. Shows real-time server information, user connectivity, and active speakers.
- Tactical Mini-Radar: Renders active localized VOIP sources on a HUD-based mini-radar.
- Position Source Toggle: Added an optional client toggle between OCR (Optical Character Recognition) screen scanning and
Game.logparsing (GRTPR) to conserve CPU cycles while tracking coordinates.
๐ฎ 4. Discord Rich Presence (RPC)
- Added a settings toggle to enable/disable Discord RPC.
- Displays current status, ship, and coordinate overlay cards directly on your Discord profile.
๐ ๏ธ Under-the-Hood Enhancements & Stability
๐ป Client Enhancements
- Startup & Dynamic Log Rotation: Cap logs at 100MB using a rotation system to prevent local storage bloat.
- Native DLL Resolution: Resolved issues resolving native DLL dependencies when running as a single-file publish, adding fallback path matching.
- Settings Crash & Compiler Fixes: Fixed a crash in the settings panel and resolved settings window constructor compiler warnings.
๐๏ธ Server Reorganization
- Modular Go Architecture: Reorganized the entire Go server codebase into clean, modular packages (audio, websockets, config, logging) and fixed CI/CD delivery pipelines.
- Administrative Radar Map: Extended the server admin panel with an HTML5 canvas real-time radar map displaying synchronized player locations.
๐งช Testing & Validation Diff
- C# Unit Tests: Added tests for:
GameDetectionServicecoordinate parsing and helmet attachment monitoring.AudioPlaybackServicesynthesized PTT chime generation.RadioDspFilterprocessing at different degradation levels.
- Go Integration Tests: Added tests for position-server admin authentication, asynchronous goroutine-based message receiving, and real-time player coordinate broadcasting to admin clients.
๐ Documented Features
- Updated all localized documentation versions (English, Portuguese, German, French) in the
doc/directory to cover:- OCR vs GRTPR coordinate selection.
- Radio DSP effects.
- Transparent Vulkan-compatible HUD overlay.
- Portable ZIP file extraction unblocking steps.
๐ Complete Commit Changelog (0.1.0 โ 0.2.0)
c99e6aa- fix(client): resolve settings window constructor compiler warningsb572fb9- docs: update portable zip unblocking steps across all readmesb3377b3- docs: document voice changer, hud radar, deck occlusion, and stt in readmesc84f2d2- feat(client): implement tactical mini-radar, voice presets, deck occlusion, stt, and fix settings crashe56c90e- feat(client): implement auto-reconnect loop on unexpected socket disconnects5e9fbc9- fix(client): cap log file size at 100MB using counter-based rotation3774779- fix(audio): handle socket disposal gracefully and limit join logging191f7b2- feat(net): transition audio transport from WebSockets to UDPd7c9868- docs: update client and server architecture sections in readmes351bf6c- feat: implement startup log rotation, fix single-file native DLL resolution, and enhance Discord RPC0dd3b85- feat(client): add Discord RPC settings toggle and overlay info cardee92bf2- feat: implement acoustics, discord rpc, and radar visuals05a7857- refactor(server): reorganize Go codebase into modular packages and fix pipelinesc45c782- docs,tests: document position source toggle, radio dsp effects, overlay, and radar map57f9cb4- feat(client server): implement client positional toggle, radio dsp, hud overlay; and server radar map