Conversation
Chunk 3 of the Bifrost First Contact plan. Adds Nakama Java SDK integration to DestinationSol with NakamaClient (connection, chat, message queue), NakamaConfig (dual-port: gRPC + WebSocket), /say console command, and game loop message polling. Incoming cross-game messages appear in the console. Uses Java 8 compatible APIs throughout. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded Nakama config with nakama.ini file loaded via IniReader. Default ships as a resource, user edits the copy in the save directory. Upgrade protobuf from 3.4.0 to 4.28.2 to match Nakama SDK requirements — EntityData.java regenerated with protoc 28.2. Remove protobuf exclusion hack from nakama-java dependency. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Incoming cross-game chat messages now display as a fading banner on the game HUD with a semi-transparent dark background for readability. The banner fades over 5 seconds. Messages also still go to the console log. Follows the ZoneNameAnnouncer pattern from the existing codebase. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
I am well aware that this is only a proof of concept, however, would it be possible to implement this is an bundled external module, like the Steam Workshop integration in #728? That might require making this depend on some of the changes in #728 though. The idea is that, like with Steam integration, this is entirely optional without any code loaded if not desired. It might make sense long-term to have some of the functionality in the core engine but as-is this demo makes a few instrusive changes to classes and UIs which could have been handled differently. Destination Sol is still largely a monolithic application but over time I have been trying to break it up into a more extensible architecture, even if it is nowhere near Terasology levels of extensibility. |
Not for merging, at least not yet! Details at https://siliconsaga.net/bifrost-first-contact/