Games have their own distribution method, but you can download the source and the engine will handle it. In ZeroKs case (https://github.com/ZeroK-RTS/Zero-K/).
The most straightforward method to compile the engine reliably I'd say is with the docker container: https://github.com/beyond-all-reason/spring/wiki/SpringRTS-B...
Edit: spelling,links