I understand that embedding the entire client within replay files would significantly increase their size, potentially leading to storage challenges. However, the current method, requiring users to compile from GitHub or ensure version compatibility, can be cumbersome and may deter less tech-savvy players from engaging with replays.
A potential compromise could involve creating a lightweight, standalone replay viewer. This tool would be optimized for replay playback, removing the need to package the full client with each replay while still allowing users to view replays offline without extensive technical steps.
Implementing such a solution would enhance accessibility and preserve the integrity of replays, ensuring they remain a valuable resource for the community.
This standalone replay viewer would download the engine, and remain modular. If a player wants to share a replay, they can “export” it, which includes all the engine files.
The server does not need to retain this extended-size engine, rather, the client can merge all the necessary files into the replay archive itself.
However, there is another potential solution as well:
Rather than rely on a standalone client, it could be possible to store one copy of the engine files on the replay server (or another source that already exists)
When a user clicks to download a file, they can be given two options, an offline or online copy. (Or just default to offline)
The offline copy will create a temporarily stored file in a temp directory and merge it with the engine. After the download, the merged temporary replay file is deleted.
The user receives a self-contained copy, unless they opt for an online copy, which does not merge engine files.