Sou um entusiasta estudante de artes marciais, embora não me considere um especialista. Prefiro pensar em mim como um eterno faixa-branca, sempre em busca de conhecimento.
Embora eu tenha um conhecimento básico de várias artes marciais, incluindo boxe, luta greco-romana, espada longa alemã e italiana, backhold escocês, Jiujitsu (tanto tradicional quanto brasileiro), savate e judô, minha experiência é limitada em todos os aspectos. No entanto, um conceito que transcende diferentes artes marciais é o de kata.
Em sua forma mais simples, um kata é uma sequência predeterminada de movimentos praticados individualmente. Os katas são projetados para refinar técnicas, melhorar o equilíbrio e promover a disciplina mental. Facilitam a memorização e a repetição dos movimentos fundamentais.
Há um debate contínuo sobre a eficácia dos katas como métodos de ensino, considerando os avanços na pedagogia desde o século XIX, quando os sistemas de artes marciais mais modernos foram codificados.
No entanto, o escopo deste artigo não se aprofunda nesse debate. Em vez disso, pretendo usar o conceito do kata para apresentar uma série de exercícios que podem ser executados no Unity ou em qualquer outro mecanismo de jogo para aprimorar sua compreensão do mecanismo e aprimorar suas habilidades de desenvolvimento de jogos .
À semelhança dos katas, os exercícios que sugiro são para treino e simulacro, e nunca poderão substituir a experiência de trabalho, devendo adaptá-los e moldá-los ao seu estilo de trabalho preferido.
Por outro lado, é importante lembrar que o desenvolvimento de jogos é um reino de anarquia onde as regras são escassas, exceto talvez algumas orientações práticas como não lançar projetos na sexta-feira ou antes dos feriados.
Sem mais delongas, vamos nos aprofundar nos próprios katas:
A Oficina serve como o primeiro kata que vamos explorar. Essencialmente, o Workshop é um projeto Unity eterno onde você pode experimentar, testar novos conceitos e explorar recursos lançados recentemente.
Utilize-o como seu campo de teste de prova de conceito. Quando você tem uma nova ideia de jogo e deseja prototipar rapidamente sem se preocupar com nomes, designs ou qualquer coisa além da jogabilidade principal (que deve ser seu foco principal), o Workshop oferece um ambiente ideal.
Utilize-o como um repositório para o código comumente usado. Certos trechos de código serão inevitavelmente reutilizados, mas talvez você não queira depender de pesquisas na Web todas as vezes. Por exemplo, em meu workshop, tenho trechos de código personalizados para lidar com botões, estados de jogo, menus de pausa e vários outros elementos essenciais que todo jogo exige. Esses snippets economizam tempo e esforço, eliminando a necessidade de escrever código personalizado para cada novo jogo.
Uma dica útil para essa abordagem, se você copiar código de fontes on-line, é garantir que você entenda o código copiado, reescreva-o para aderir ao estilo e aos padrões de seu projeto e adicione um comentário indicando sua origem. Os autores de código podem atualizar suas implementações ou você pode esquecer o contexto para usar uma solução específica, mas um comentário pode fornecer as informações necessárias.
Utilize-o para aprender, experimentar e testar novos recursos. Ao manter o projeto do Workshop atualizado para a versão mais recente (você pode manter uma ramificação separada para a versão LTS), você pode explorar novos recursos sem o ônus de criar um projeto totalmente novo ou pior, tentando encaixá-los em seu projeto em andamento.
Você já jogou um jogo e se perguntou: "Como eles conseguiram isso?" Agora é sua chance de descobrir. Quando você não tiver ideias para o desenvolvimento de seu próprio jogo ou estiver entre projetos, selecione um jogo que jogou recentemente, escolha uma mecânica, efeito ou recurso desse jogo e tente cloná-lo.
Quando falo em clonagem, não me refiro a uma réplica exata, mas sim a captar a essência do elemento escolhido.
Por exemplo, recentemente fiquei fascinado pelo sistema de movimento em Homem-Aranha: Miles Morales. No entanto, tentar clonar todo o sistema de movimento de um jogo de ação 3D tão complexo seria bastante desafiador. Em vez disso, eu me concentraria em clonar o aspecto que mais me cativa, como o swing na web. Para conseguir isso, não preciso de um modelo completo do Homem-Aranha ou de edifícios detalhados. Um cubo simples respondendo ao pressionamento do botão do jogador e criando uma corda a partir da qual o personagem do jogador balança e avança seria suficiente para replicar a liberdade de movimento experimentada no jogo original.
Defina um limite de tempo estrito para si mesmo. Lembre-se, você não está criando um jogo inteiro, mas sim clonando um único elemento de um já existente. Alocar cerca de seis dias úteis, equivalente a três fins de semana, tempo suficiente para estudantes em tempo integral e desenvolvedores que trabalham.
Esta é a oportunidade perfeita para alavancar o Workshop. Ele fornece um espaço ideal para armazenar seus projetos de clonagem. Se você decidir prosseguir com um conceito específico, poderá copiá-lo facilmente em seu próprio projeto sem vasculhar listas de projetos Git abandonados.
Se o seu portfólio estiver faltando, este exercício é uma excelente maneira de aprimorá-lo. Pegue o elemento clonado e aprimore-o adicionando um menu, função de pausa, música de fundo e uma introdução explicando seus objetivos. Tal produto acabado impressionará os recrutadores muito mais do que um documento cheio de idéias de jogos brilhantes, mas inacabadas.
Após cada exercício de clonagem, realize uma breve análise post-mortem. Reflita sobre o que funcionou bem, identifique pontos fracos, considere melhorias futuras e extraia lições valiosas que valem a pena levar adiante.
Ocasionalmente, eu me entrego à palhaçada. Eu seleciono uma ideia que é tecnicamente interessante ou combina vários componentes técnicos que desejo aprender ou revisitar, mas não possui potencial comercial ou valor prático.
O objetivo do palhaço é remover a pressão pela perfeição. Ao trabalhar em um projeto com fins lucrativos ou apresentação a terceiros, as decisões de design tornam-se mais conscientes. A clowning permite que você se concentre apenas em aprofundar seus conhecimentos em áreas específicas.
Por exemplo, alguns anos atrás, embarquei em um projeto chamado "Wizardry Exchange". Era um aplicativo que convertia moeda de denominações do mundo real (CAD, EUR, GBP ou USD) para a moeda usada no universo de Harry Potter (kunuts, foices e galeões). Este projeto envolveu Unity3D WebGL para o front-end, Go para o back-end, um sistema de cache personalizado e implantação na AWS usando o Docker.
Este é um projeto prático ou útil? De jeito nenhum! O front-end não requer Unity, Go é um exagero para alguns endpoints simples e o aplicativo pode ser executado em uma batata, quanto mais na AWS.
Então, por que passar pelo problema? Para aprender sobre WebGL com Unity, use Go para desenvolvimento de servidor e ganhe experiência na criação e implantação de aplicativos usando Docker na AWS . O resultado final não é tão importante quanto o processo de aquisição de conhecimento.
E isso conclui os três katas que podem ajudar a aprofundar sua compreensão do Unity ou de qualquer mecanismo de jogo.
Gostaria de chamar a atenção para uma frase específica que usei anteriormente: “regime de treinamento” .
Essa abordagem tem guiado minha prática de engenharia por mais de 15 anos. Considero a graduação em uma universidade como obter a faixa-preta e, semelhante ao Judô (do qual o sistema de faixas se originou), a faixa-preta significa uma compreensão do básico, em vez de domínio.
Espera-se que, após a obtenção da faixa preta, a pessoa empreenda pesquisas independentes para desenvolver ainda mais suas habilidades na arte do Judô.
Da mesma forma, ao se formar, torna-se sua responsabilidade estabelecer um regime de treinamento para aprimorar continuamente suas habilidades técnicas e adquirir conhecimento. Embora você obtenha conhecimento por meio do trabalho, pode faltar orientação e desenvolvimento pessoal.
Portanto, criar um regime de treinamento para aprimorar suas habilidades de engenharia é crucial. Dessa forma, se surgir uma oportunidade, como a abertura de um novo cargo em sua empresa, a demissão de seu emprego atual ou o encontro com uma função atraente em outro lugar, você estará equipado com mais do que apenas experiência de trabalho.
Lembre-se de que, ao contrário da universidade, seu trabalho pode não priorizar necessariamente o avanço de seus talentos além de um certo ponto. Um bom trabalho servirá, mas distinguir entre os dois pode ser um desafio às vezes. Ter um regime de treinamento em vigor protege seu crescimento profissional.
Espero que você tenha achado esses katas no mínimo interessantes, se não úteis, e que eles possam abrir uma nova maneira de aprimorar suas habilidades técnicas.
Também publicado aqui.