Processo de desenvolvimento
1. Brainstorming:
Este projeto começou como algo muito mais ambicioso do que é agora. Tínhamos planejado implementar não só cinco níveis ao total, mas também várias outras mecânicas: flechas especiais (por exemplo explosivas, congelantes, de fogo, etc), estruturas abandonadas, colecionáveis (por exemplo, frutinhas para repôr pontos de vida, equipamento para aumentar defesa, etc), inventário... Era bastante coisa para conseguir implementar em só meio semestre, ainda mais com nosso conhecimento nível amador de Unity.
2. Escrita do código
Além de mecânicas básicas como andar, pular, atirar, matar inimigos e se afogar na lava, passamos a maior parte do tempo... bem... tentando fazer com que as flechas especiais funcionassem. Mas a cada tentativa de implementação, nos deparamos com erro após erro, e quando nos demos conta, metade do semestre já tinha passado. Então fomos obrigados a descartar a ideia, decidindo tomar outras decisões para que o projeto não ficasse tão simples.
E a principal decisão foi trocar as "estruturas abandonadas" previamente mencionadas com algo mais interativo: armadilhas e portões. Para o nosso nível de conhecimento acerca da Unity e da linguagem C#, a implementação foi bem mais tranquila.
3. Conclusão
E foram essas mudanças que, apesar de não serem tão ambiciosas quanto as ideias discutidas na fase de brainstorming, mantêm o jogo desafiador. Acho que foi uma mudança para o melhor, pois começar pelas mecânicas mais fáceis de implementar nos ajudou muito mais na compreensão da orientação a objetos do que partir direto para algo mais complexo, como planejado no início.