However, one of the games can only gracefully stop by pressing the 'ESC' key. How can I interpret this into a signal or something similar?
You can't. You're trying to cover for a design error in a child process which I suspect grabs its own input and doesn't use the stdin which would allow you to to send an Esc. Let me know if this assumption is incorrect.
Have you tried using SIGTERM with this game? That's the more conventional "clean yourself up and exit" signal, and I can well imagine someone writing code to handle SIGTERM gracefully while leaving SIGINT and SIGQUIT to their defaults.