Visualizando a atividade de seu repositório git com gource

Já pensou em preparar uma animação/visualização do repositório de um projeto? Já fiz isso algumas vezes, em especial no final de um projeto. Acho que isso ajuda a colocar em perspectiva todo o trabalho feito nos últimos meses ou anos. É muito comum perdermos a noção do todo após os momentos finais de ajustes, implantação (quem ainda faz isso?), etc.

Gource é uma ferramenta de código livre que é capaz de gerar animações do histórico de um repositório de controle de versão (Git, SVN, Mercurial e Bazaar). A primeira vez que usei Gource foi pelos idos de 2010 e desde lá muita coisa mudou.

A ideia deste post é fazer um breve tutorial de como usar Gource (+ ffmpeg) para gerar (e gravar em vídeo) uma visualização da evolução de um repositório com o passar do tempo.

Gerando a animação

Uma vez instalado corretamente*, basta executar o Gource e seus parâmetros na raiz do repositório (a sua cópia local, claro):

gource

Pronto, é isso, você já deve ver uma janela com o timelapse do seu projeto. Mas convenhamos que essa versão default é bem simples. Vamos incrementar:

gource -s 0.5 --start-date '2017-08-25' -f --key --highlight-users --user-image-dir avatars -a 1 -logo logo.png -1920x1080

Este monte de parâmetros não chega a ser metade dos possíveis, mas já é um bom começo. Uma curta explicação de cada um deles:

-s {tempo} Tempo de vídeo por dia de projeto(em segundos)
-a {tempo} Tempo máximo (em segundos) sem atividade no projeto (achata os dias inativos)
-f Exibe em modo tela-cheia
-o {arquivo/stream} Saída para arquivo/stream (formato ppm)
-logo {logo.png} Logo do projeto
-{w}x{h} Largura (w) e altura (h) do video em pixels
--Title {‘titulo’} Título do projeto
--start-date {‘yyyy-mm-dd’} Data de início da visualização
--user-image-dir {dir} Pasta com imagens dos usuários (“Nome Sobrenome.png/jpg”)
--key Exibe legenda de extensão de arquivos
--highlight-users Nome de usuários sempre visível

A saída deve ficar parecida com esta que fiz do Tretas Lendárias, um joguinho de código livre que fizemos para o Jogabilijam 2:

Para aproveitar que mostrei este vídeo, vou deixar um tutorial bônus de como utilizar o ffmpeg** para gravar tais vídeos.

Gravando saída usando ffmpeg

Para gravar em vídeo a visualização gerada pelo Gource, é preciso primeiro direcionar a saída do comando para o output padrão, utilizando o parâmetro -o. Utilizando esta saída como entrada para o comando ffmpeg (utilizando o recurso de pipeline do shell), é possível gravar tudo em um arquivo de vídeo:

gource -s 0.5 --start-date '2017-08-25' -f --key --highlight-users --user-image-dir avatars -a 1 -logo logo.png -1920x1080 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 saida.mp4

Não vou entrar no mérito dos parâmetros do ffmpeg neste post, basta dizer que ele irá gravar a saída em FullHD com 60 quadros por segundo. Se sua máquina não for rápida, deve demorar um pouco, mas o resultado é de excelente qualidade.

Acho que é isso, bom proveito :)

* Procure por instruções na sua distribuição, para quem usa mac/homebrew, dá para instalar com brew install gource.
** Mais uma vez, procure por instruções de como instalar o ffmpeg com os codecs de sua escolha.

 

Review – Out There Somewhere (PC)

outhere-banner.jpg

Jogo #4 da limpeza de backlog

Junto com a Behold Studios, criadora de Knights of Pen & Paper e Chromasquad, o Studio MiniBoss (Amora B., Heidy Motta e Pedro Medeiros) são provavelmente os desenvolvedores brasileiros de jogos de maior êxito global.

Antes de serem responsáveis pela arte de jogos de sucesso como Towerfall e do recém-lançado Celeste, o estúdio paulistano trabalhou em seu primeiro jogo de lançamento comercial: Out There Somewhere. Apesar do jogo ter sido lançado originalmente em 2012, a versão que joguei é uma espécie de remasterização feita em 2014 especialmente para o lançamento no Steam.

O jogo que mistura quebra-cabeças e plataformas conta a história de Yuri, um astronauta que cai em um planeta desconhecido e, com sua arma de teletransporte e mais umas coisas coletadas no caminho, precisa sair de lá.

outhere_01.png

Out There Somewhere é organizado de forma que cada tela é um quebra-cabeças isolado, não há rolagem de telas. A progressão de dificuldade é suave, mesmo que eu tenha ficado empacado em algumas partes por um bom tempo, por idade ou desatenção.

Como já é esperado do MiniBoss, o trabalho de pixel art é primoroso. Uma paleta de cores que lembra o Super Nintendo e contornos imediatamente reconhecíveis ajudam na hora de entender os quebra-cabeças e torna o jogo (de relativa baixa resolução) bastante agradável aos olhos. A animação não fica para trás, mostrando de onde vem todo aquele conhecimento sobre animação de pixel art nos já famosos tutoriais que o Pedro Medeiros costuma postar no twitter.

Apesar do jogo ter sido lançado originalmente em 2012, a versão que joguei é uma espécie de remaster feito em 2014 especialmente para o lançamento do jogo no Steam.

Fica a recomendação deste jogo muito barato, inteligente, desafiador e bonito. Se você for menos burro que eu, ele deve durar por volta de 2 horas.

Out There Somewhere

Lançamento: Fevereiro de 2012
Gênero: Plataforma/Puzzle
Plataformas: Windows, macOS