Automata.Life 2016

De CCSL
Ir para navegação Ir para pesquisar

Time

  • Caio Lopes Demario
  • Carybé Gonçalves Silva
  • Pedro Henrique Rocha Bruel (coach)
  • Ricardo Lira da Fonseca Kun (coach)

Informações gerais

Histórinha

O objetivo do nosso semestre era fazer uma versão online e multiplayer do Jogo da Vida do Conway ( https://bitstorm.org/gameoflife/ ). Nosso cliente deixou a cargo da nossa equipe de escolher um front-end e back-end, e uma boa parte de nosso trabalho foi para descobrir e testar essas ferramentas. No fim decidimos utilizar Django como back-end e javascript para front-end.

Nosso foco principal nas primeiras iterações foi de seguir métodos ágeis aplicado em jogos, ou seja, primeiro construir um protótipo do jogo para testar as mecânicas e jogabilidade, para depois re-escrever a lógica do jogo no back-end e a interface no front-end. Construímos o protótipo inteiramente no Processing, e apesar de ter sido trabalhoso, nos divertimos muito, e por fim acabamos com uma versão jogável para nosso cliente poder jogar e dar feedback.

Entretanto tivemos várias dificuldades na hora de refazer o jogo no back-end, especialmente devido a várias tecnologias novas que tivemos de gastar tempo para aprender a usar. Por fim decidimos fazer uma versão inicial do jogo direto no front-end, utilizando o Material-UI da google para a interface e escrever o código em javascript.

Utilizamos o método "mob programming" no desenvolvimento do projeto, o que foi uma experiência bem proveitosa e inovadora. Nossa opinião dessa técnica é de ser divertido e realmente poderoso quando temos vários integrantes do grupo focados. Temos a impressão de que o grupo unido é mais forte que a soma das partes, e conseguimos superar vários desafios trabalhando desse jeito. Nossa única crítica ao método é que ele perde bastante a eficácia quando estamos tentando aprender uma tecnologia que ninguém do grupo conhece, e parece que o progresso fica muito mais lento nesses casos. Nessas situações, uma solução do grupo é separar meia-hora de "aprendizado coletivo", onde cada integrante do grupo, em duplas ou individualmente, fica numa máquina estudando a tecnologia, e depois todos se reúnem para dividir as informações.

Você pode conferir nosso progresso na nossa pagina do github, aqui: https://github.com/Automata-Life

Nela é possível encontrar nosso protótipo original do jogo, nossos testes para escolher back-end (um app em rails e um app em django), ferramentas que criamos para auxiliar o mob-programming (um contador de tempo) e por fim o repositório de nosso site com a versão atual do jogo na web.