Testando automaticamente um jogo Ren’Py usando Travis CI

Se você tem um jogo Ren’Py que deseja testar com o script Lint fornecido no inicializador Ren’Py e testar sua construção, mas não quer ter que fazer isso manualmente, então você pode querer ler esta dica.

Observe que a implementação a seguir deste sistema funciona com o código-fonte do jogo hospedado no Github e usando o Travis CI, mas você pode encontrar outras maneiras de implementar este sistema.

Primeiro você vai querer habilitar o Travis CI para o repositório do jogo. Isso pode ser feito indo ao Travis CI e fazendo login com sua conta do Github, em seguida, vá para a página de seu perfil e selecione a caixa cinza ao lado do repositório do jogo para que fique verde com uma marca de seleção.

Em seguida, você vai querer fazer um arquivo “.travis.yml” para o repositório. O que usei para um jogo no qual estava trabalhando (Ganbatte) está abaixo:

language: python
python
:
- "2.7"
# command to install dependencies
install
:
- cd ..
- wget http://www.renpy.org/dl/6.99.1/renpy-6.99.1-sdk.tar.bz2
- tar xf renpy-6.99.1-sdk.tar.bz2
- rm renpy-6.99.1-sdk.tar.bz2
- mv renpy-6.99.1-sdk renpy
- cd renpy
# command to run tests
script
: ./renpy.sh "../ganbatte/" lint && ./renpy.sh launcher distribute "../ganbatte/"

O script que usei deve ser facilmente adaptado para o seu jogo. Mas você deve substituir todas as instâncias de “ganbatte” pelo nome do seu repositório. Por exemplo, se o seu repositório era “user123 / fun visual novel”, então você alteraria todas as instâncias de “ganbatte” para “fun visual novel”.

Agora, examinarei o que as diferentes partes do script fazem.

language: python
python
:
- "2.7"

Esta seção do script permite que o Travis CI saiba como usar o Python 2.7 ao testar o código do jogo. Esta seção não é necessariamente necessária, mas pode ser útil se você deseja executar qualquer coisa relacionada ao Ren’Py usando Python.

Observe que se você não incluir uma declaração de idioma como esta, o Travis CI assumirá o Ruby como o idioma que carrega por padrão.

install:
- cd ..
- wget http://www.renpy.org/dl/6.99.1/renpy-6.99.1-sdk.tar.bz2
- tar xf renpy-6.99.1-sdk.tar.bz2
- rm renpy-6.99.1-sdk.tar.bz2
- mv renpy-6.99.1-sdk renpy
- cd renpy

Esta seção do código informa ao Travis CI para instalar o Ren’Py. Esta implementação específica do script faz com que o Travis CI instale o Ren’Py 6.99.1. Você pode alterar a versão do Ren’Py que ele instala alterando o link de download na instrução “wget” e os nomes de “renpy-6.99.1-sdk” e “renpy-6.99.1-sdk.tar.bz2 “pastas para corresponder aos nomes apropriados das pastas correspondentes na versão do Ren’Py que você deseja usar.

script: ./renpy.sh "../ganbatte/" lint && ./renpy.sh launcher distribute "../ganbatte/"

Esta seção do código é o que realmente testa o jogo. Primeiro, ele executa o jogo por meio do Lint por meio do Ren’Py Launcher “./renpy.sh”. Então, se passar pelo script Lint, ele tenta construir o jogo.

Observe que é nesta seção do código que você precisará alterar todas as instâncias de “ganbatte” para o nome do jogo que você está testando.

Assim que tiver o arquivo “.travis.yml” configurado e o Travis CI habilitado para o repositório do jogo, o sistema deve estar funcionando agora. Agora, sempre que você enviar alterações para seu repositório Github, ou quando alguém fizer uma solicitação pull, o repositório ou solicitação pull, respectivamente, será executado por meio do script Lint e será testado pelo Travis CI.

Para obter mais informações sobre como trabalhar com Ren’Py em uma configuração semelhante a esta, você pode querer verificar o guia do usuário dlksk do Tumblr sobre como fazer o Ren’Py funcionar no Raspberry PI . Mesmo que você não esteja trabalhando com o Raspberry PI, ele é um guia útil. Usei-o para ajudar a montar o arquivo “.travis.yml” acima.

Se você precisar encontrar mais informações sobre como usar o Travis CI, verifique a documentação do Travis CI .