Hello, fellow coders and gamers! Today, I am excited to introduce you to my recent project, HarmonyLink, an innovative project created using the robust Rust programming language. HarmonyLink is not just another plugin; it’s a transformative tool designed to bridge the gap between your favorite games and handheld devices, starting with the Steam Deck. This tool offers real-time access to critical system metrics, enhancing gameplay, and ushering in a new era of personalized, immersive gaming experiences.
HarmonyLink: The Vision and The Reality
The central idea behind HarmonyLink is to provide a comprehensive and interactive gaming experience on handheld devices. Currently focusing on the Steam Deck, HarmonyLink has been designed with future expansion in mind, bringing this level of interaction and responsiveness to a variety of handheld devices.
Here’s a rundown of the key features of HarmonyLink:
- Device Identification: HarmonyLink equips games with the ability to identify the specific handheld device they are operating on.
- Real-Time Metrics: Games can access real-time data about the handheld device’s power usage and docking status through HarmonyLink, creating a more responsive and immersive gaming experience.
- Cross-Platform Compatibility: HarmonyLink isn’t limited to native platforms but extends its functionality to Windows games running on Proton/Wine, preparing it for a wide array of future handheld devices.
HarmonyLink: How It Works
HarmonyLink operates using a client-server structure. The server, a Rust DLL, runs on the host side (native Linux or Windows), and games access the metrics via an API, running natively or through Proton.
This server-client setup allows developers and modders to easily implement GET and POST requests from the API, integrating system metrics into games. The power metrics and docking status can be used to adapt the game’s quality settings, providing a more customized gaming experience.
Additionally, I have plans to expand HarmonyLink into a Decky plugin to ensure its usability in the Steam Deck’s gaming mode.
Getting Started with HarmonyLink
Ready to explore HarmonyLink? You can access the server application on GitHub here.
- Server Application: https://github.com/Jordonbc/HarmonyLinkServer
- Viewer: https://github.com/Jordonbc/HarmonyLinkView
- Unreal Engine Plugin: https://github.com/Jordonbc/HarmonyLinkUE
Remember, while the DLL is currently closed-source, I’m open to making it open-source if it gains popularity. This is just the start, and I’m thrilled to see how the project evolves with community engagement.
I am eager to demonstrate HarmonyLink’s capabilities and the difference it can make in your gaming experience. To help visualize its functionality, I’ll be including a video in this blog post that showcases HarmonyLink in action on a Steam Deck in desktop mode.
HarmonyLink is a significant step towards revolutionizing the handheld gaming experience. By providing real-time device metrics, games can be more responsive and adaptive, improving user experience and immersion.
Whether you are a game developer aiming to optimize your games for handheld devices or a gamer seeking a more personalized handheld gaming experience, HarmonyLink might just be what you’ve been waiting for.
Your feedback, questions, and suggestions are always welcome. Feel free to leave a comment below. Until next time, happy coding and game on!