Tenho a sensação de que você menciona apenas "serviço" porque no Windows é possível configurar um serviço para reiniciar automaticamente quando ele falha. Eu até acho que não seria fácil fazer um "aplicativo de jogo" arbitrário funcionar como um serviço no Windows, porque os serviços são executados com privilégios limitados.
Se você precisar de um script que reinicialize automaticamente um aplicativo se o último sair com um código de erro diferente de zero (ou seja, quando ele falhar), marque Anycorn responde a uma pergunta semelhante em stackoverflow . É muito simples e não envolve serviços.
Se você quiser instruções passo a passo, aqui o que eu faria:
crie um diretório chamado bin em sua pasta pessoal:
mkdir ~/bin
crie um script "startgame" nesse diretório:
touch ~/bin/startgame
abra-o em um editor de texto:
gedit ~/bin/startgame
digite o seguinte texto:
#!/bin/bash
while [ 1 ]; do /path/to/game/executable && break; done
salve o arquivo;
define o bit executável:
chmod +x ~/bin/startgame
execute o script digitando no terminal
startgame
Todos os itens acima podem ser obtidos sem terminal - ou seja, criar uma pasta usando o Nautilus, criar um arquivo, torná-lo executável; criar um atalho na área de trabalho, etc.
Se você estiver interessado em saber como o script funciona:
while [ 1 ]; do ... done
é um loop infinito
/path/to/game/executable
inicia o aplicativo e aguarda que ele termine (obviamente, você precisa alterá-lo para o caminho real do seu aplicativo)
command1 && command2
executa o comando1 e depois executa o comando2 somente se o comando1 terminar com um código de retorno zero (o que indica sucesso). Ou seja o loop só irá parar (instrução 'break') se o programa terminar sem um erro, caso contrário ele será reiniciado.