Advertisement
  1. Game Development
  2. Business

Git e GitHub para desenvolvedores de jogos

Difficulty:IntermediateLength:MediumLanguages:

Portuguese (Português) translation by Jonathan Ramos (you can also view the original English article)

"Tenho certeza de que o Git é ótimo, mas parece complicado - eu vou ficar com meu fluxo de trabalho atual" é como dizer "tenho certeza que IDEs como FlashDevelop e Sublime Text são ótimas, mas parecem complicadas - eu vou ficar com o bloco de notas". Sim, claro, há uma pequena curva de aprendizado, e você pode viver sem isso, mas é tolice. Neste artigo, vou explicar por que o Git (e o GitHub) são tão bons e vou mostrar-lhe como começar de forma fácil e rápida.

Nota: Muito do que eu digo aqui se aplica a outros sistemas de controle de versão, como o Subversion; mas o Git é tão popular que se você pode escolher um deles, eu recomendo que seja o Git.


O que o Git pode fazer por você

Git tem vantagens para todos os desenvolvedores de jogos, seja trabalhando sozinho ou em equipe. Vamos ver as vantagens principais:

Você pode desfazer qualquer mudança que fez

Sem dúvida o ponto principal do Git é poder tirar uma "foto (snapshot)" do diretório do jogo que você está trabalhando sempre que quiser, e poder reverter para qualquer snapshot a qualquer momento.

Este sistema é muito melhor do que fazer uma cópia de sua pasta inteira sempre que você quiser obter uma versão do seu jogo, ou enviar por e-mail o código para si mesmo com uma descrição para não perder.

Além disso, você não precisa ficar desfazendo e refazendo as coisas. Você pode dividir seu projeto em ramificações (branch) e ficar trocando entre elas à vontade. Isto significa que você pode adicionar novos recursos à versão 1.1 e em seguida, voltar para a versão 1.0 e aplicar um bugfix; ou trabalhar em uma característica experimental e desfazê-la se não der certo; ou manter versões separadas para tablet e smartphone, juntas no mesmo repositório.

O Git permite que você comente seu trabalho, não apenas o seu código

Na verdade, o Git não só deixa você adicionar comentários - como ainda exige que você o faça. Basicamente, sempre que você salvar uma versão, você deve escrever um comentário descrevendo as alterações feitas desde o último snapshot.

Aqui estão alguns comentários de exemplo do Tiled, um excelente editor de níveis que já abordamos antes:


TiledCommits

Além de tornar mais fácil encontrar um determinado ponto na história do projeto (que muitas vezes é útil para rastrear a causa de um bug), isto também ajuda a construir bons hábitos de desenvolvimento: você vai começar a quebrar seu trabalho em tarefas menores para que cada parte possa ser totalmente descrita em um comentário curto, ao invés de trabalhar em oito coisas diferentes ao mesmo tempo.

O Git facilita o acesso a outros projetos.

Até agora, falei sobre o Git, que é apenas uma ferramenta de software como Zip, e-mail ou FTP. O GitHub, pelo contrário, é um site que pode hospedar seus repositórios Git (e, portanto, o projeto inteiro).

Existem outros sites de hospedagem Git e também é possível hospedar seus projetos Git você mesmo em seu próprio servidor, mas o GitHub é de longe o mais proeminente. Pense nisso como o Gmail: ele não é apenas um app web de e-mail, apesar de ser apenas isso para algumas pessoas.

Muitos jogos e ferramentas de gamedev estão publicamente disponíveis no GitHub, tais como Tiled (que eu mencionei acima) e o Starling Framework (que também já escrevi sobre). Isto significa que, em vez de só baixar a versão atual do Starling Framework como um arquivo zip e extraí-lo no seu projeto, você pode importar a pasta inteira para o seu projeto e mantê-lo atualizado automaticamente sempre que houver uma alteração.

Você também pode sugerir novos recursos ou reportar bugs através do rastreador de problemas:

StarlingIssues

Você pode até criar uma cópia local (um "fork") do projeto, adicionar um novo recurso ou corrigir um bug e enviar um snapshot para os donos do projeto para que considerem incorporar na versão principal.

(Você deve ter notado que nós começamos a hospedar nossos códigos no GitHub através do Tuts+ - isto já explica o por quê!)

O Git torna mais fácil trabalhar com outros desenvolvedores

Todas as razões acima são muito valiosas para desenvolvedores solo. Mas estes benefícios são também aproveitados ao trabalhar em equipe:

  • Comitar em um projeto de equipe via Git (seja através de planos premium privados no GitHub ou algum outro método de hospedagem) é muito mais fácil do que compartilhar todos os arquivos anexando em um e-mail ou no Dropbox.
  • Como cada snapshot adicionado ao projeto é marcado com um comentário e um autor, é fácil de rastrear quem fez o quê.
  • Cada membro da equipe pode trabalhar em seu próprio código individualmente e somente enviá-lo ao projeto mestre quando estiver pronto (evitando assim qualquer quebra).

O Git também tem recursos para "fundir" diferentes bits de código, forçá-lo a lidar com quaisquer confrontos ao invés de substituir partes do projeto cegamente.


Configurando o Git

Instalar o Git e configurá-lo costumava ser um assunto complicado, usando linha de comando para gerar "Chaves SSH" e ugh. Mas agora é muito simples: tudo que você precisa fazer é baixar e instalar o GitHub para Windows ou o GitHub para Mac, conforme seu sistema operacional.

Sim, eu sei, eu disse que o GitHub é um site de hospedagem de repositórios Git, mas agora eu estou dizendo para instalar o GitHub para usar Git. É confuso: GitHub (o aplicativo) é um software que instala Git e dá uma interface agradável para ele, além de uma opção para hospedar seus repositórios no site GitHub.

Não se preocupe. Basta baixar e instalar a versão para seu sistema operacional. Er, se você usa Linux, temo que você precise seguir uma outra rota.


Introdução ao Git

Nós vamos configurar o Git para um projeto ou jogo que você esteja trabalhando no momento, então você pode começar a usá-lo de verdade, ao invés de fazer um exercício falso. Eu estou usando o GitHub para Windows, mas os passos serão muito similares no GitHub para Mac. Também vou fingir que bfxr é o projeto que estou trabalhando.

Abra o GitHub para Windows e clique em create para começar a fazer um novo "repo" (abreviação para "repositório" - basicamente, o lugar onde todos os seus snapshots do jogo ou do projeto são armazenados). Digite um nome e uma descrição para o seu projeto e deixe o diretório padrão (você não precisa que ele corresponda ao diretório do seu projeto). Certifique-se que a opção Push to github não esteja marcada.

Git_and_GitHub_for_Game_Developers_CreateNewRepo

Clique duas vezes em seu repo recém-criado para abri-lo no app:

Git_and_GitHub_for_Game_Developers_SelectNewRepo

Você verá que ele vai dizer que existem dois arquivos para commit (isto é, ser adicionado ao repo como um snapshot). Estes são arquivos de configuração do Git, então digite um comentário simples na caixa Commit Message e clique em Commit:

Git_and_GitHub_for_Game_Developers_FirstCommit_Cropped

Agora, clique em tools > open in explorer para abrir o diretório do Git para o projeto. Ele não terá nada além dos dois arquivos de configuração (e uma pasta .git oculta, que você pode ou não ser capaz de ver):

Git_and_GitHub_for_Game_Developers_EmptyDir

Copie seu projeto inteiro para esta pasta. (Sim, isso é complicado, mas pelo menos assim você pode se assegurar que você tem um backup, se algo der errado.)

Git_and_GitHub_for_Game_Developers_FullDir

Volte para o GitHub Windows - note que esses novos arquivos já apareceram:

Git_and_GitHub_for_Game_Developers_FirstProperCommit

Faça um "commit" desses arquivos também, e você estará com seu primeiro repo!

Agora, faça uma mudança no seu projeto. Você pode adicionar um novo arquivo ou modificar um já existente:

Git_and_GitHub_for_Game_Developers_NewFile

Volte para o GitHub para Windows, ele irá detectar essa mudança também. Confirme esta alteração, em seguida, selecione-o na lista unsynced commits e clique em revert commit. Você agora tem um novo commit que reverte o commit anterior - isto parece um pouco confuso, mas significa que você está mantendo o controle de tudo que está fazendo!

Git_and_GitHub_for_Game_Developers_History

Verifique os arquivos atuais do seu projeto:

Git_and_GitHub_for_Game_Developers_FullDir

Seu novo arquivo (ou a mudança que você fez no outro arquivo) se foi. Você pode reverter a reversão, se quiser, adicionando outra confirmação à sua lista, ou reverter o commit para removê-lo completamente da lista.


Conclusão

É só isso? Sim. Mas também, não. Eu coloquei esse artigo inteiro no GitHub, assim você pode experimentar o site, solicitando "melhorias" (sugerir algo que você acha que deve ser adicionado), e registrar "bugs" (problemas com o artigo).

Se você está se sentindo realmente um aventureiro, tente fazer um "fork" do artigo para seu computador, faça adições nele e então submeta uma solicitação (pull request) para que as mudanças sejam adicionadas no site... se nada disso faz sentido para você, não se preocupe; uma revisão posterior vai incluir mais detalhes!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.