Visual Scripting na Unity


Playmaker é uma ferramenta que se instala dentro da Unity e deveria ajudar a criar jogos de forma mais fácil e rápida porém, em nenhum momento, os treinamentos e livros que existem dela indicam que haveria facilidade em criar jogos usando essa alternativa. Para bons e verdadeiros programadores ela é uma perda de tempo. Para artistas que não conseguem entender bulhufas de codificação é bom dar uma olhada porém, já indico, é preciso paciência e persistência para conseguir entender a proposta, caso contrário será uma perda de tempo.

O que é o Visual Scripting?

Playmaker faz parte de um processo, dentro das game engines, chamado de "visual scripting" que em outras palavras pode ser mencionado como codificação visual. O que isso representa? Que o usuário não precisa saber escrever códigos, e programar, para fazer os códigos de seu jogo. Na prática é isso.

Por estarmos usando uma ferramenta robusta e acessível como Unity é estranho que ela não tenha algo parecido, internamente, para facilitar a vida dos usuários e no entanto ela não tem. UDK, Godot e em parte Construct 2 e 3 tem essa possibilidade e podem até ter sido construídas pensando no visual scripting e nos usuários não programadores, mas a Unity foge disso, o que é uma escolha de criação da ferramenta e não uma falha do projeto.

Visual Scripting é "coloco um objeto, acrescento a informação do que ele faz. Acrescento outras informações em um fluxo de tarefas, que é uma via de 2 sentidos, envio de informação e retorno da informação. Defino como, quantas e quais informações funcionam e se relacionam, e coloco todas elas dentro de um determinado objeto. Crio, o que a Unity chama de prefeb (um objeto pré fabricado), e coloco no projeto de jogo vigente ou um projeto a parte para ser usado em outros projetos. Salvo tudo e poderei exportar como um pacote de objetos usáveis em outros jogos ou dentro deste próprio jogo."

O playmaker coloca as informações de interelações e comportamento que os objetos tem porém sem escrever uma linha de código (o tal do script). Essa é a forma de trabalhar com ele, porém como fazer são outros quinhentos.


Uma mão na roda mas nem tanto

Foi quando uma empresa chinesa (sempre eles) chamada Hutong Games (até onde descobri) pensaram, desenvolveram, criaram e continuam a melhorar essa ferramenta.

Ao pensar nos usuários que não são programadores a ferramenta cai como uma luva nas mãos deles porém, pode não parecer, mas exige tanta lógica e organização de conteúdo dentro dos projetos que os artistas vão ficar nervosos só de ver o como é complexo o uso dela.

O que fazer então? Desistir ou insistir? E acima de tudo, tentar usar e aprender Playmaker e o visual scripting ou não?

Como dito por um programador que conheço "a partir do momento que entendo como a lógica funciona, a dificuldade é aprender a linguagem e a sintaxe dessa linguagem, superado isso, o resto é fácil" e realmente a mesma forma de pensar funciona para todos os programas que seguem os mesmos princípios. No caso da arte 2D, vetorização, tratamento de imagem e 3D. Seus princípios são os mesmos (vetor ou pixel, cor, sombra, transparência e gradiente, vértices, arestas, faces, pivot, material, rebatimento de luz, texturas e por aí vai...) o que muda são as etapas no meio do processo de como fazer os trabalhos e entender e usar a interface (a pior etapa do processo de aprender uma ferramenta nova).

Playmaker deveria facilitar a vida dos outros, e facilita até certo ponto, mas na prática diária de codificar algo dá tanto trabalho quanto aprender a programar e usar a linguagem da game engine pois existem regras e formas de trabalhar que são específicas enquanto outras são bem mais fáceis de se fazer usando a ferramenta. Tudo depende do tipo de projeto e do que o usuário quer realmente fazer, qual jogo fazer. E nesse ponto, é melhor começar pequeno.


Usando a ferramenta

O princípio da ferramenta é simples: todo e qualquer objeto pode ser "transformado" em um conjunto de estados. Ativando e controlando esses estados, a ferramenta faz o resto do trabalho. Qual o estado do objeto que está sendo manipulado?

Máquina de estados é apenas um número de estados conectados juntos por eventos para formar um sistema. Sistema este que pode ser A) um único comportamento ou um conjunto deles; B) uma ação específica de um determinado objeto (como chave na fechadura ou ponte levadiça que fica parada durante um tempo para o jogador passar e continuar ou ligar e desligar uma lâmpada de um cenário); C) um pacote de itens acumulados pelo jogador em seu inventário; D) munição específica de uma arma ou diferentes armas com suas munições; E) o menu visual inicial da tela de início de um jogo (onde pode-se escolher campanha, multiplayer, treinamento e configurações do jogo na PC do usuário) entre tantas outras coisas reais que temos e devemos simular nos jogos.

Com a máquina de estado definida precisa-se estipular o tipo de comportamento  dos objetos. Este comportamento é chamado de evento. Um evento pode ser composto por diferentes eventos que fazem uma única ação ou muitas. Para cada evento estipula-se uma transição de estados. Pode-se determinar um estado finito ou continuado que gera resultados tipo pontuação ou total de vida do personagem. Com o complemento das variáveis define-se, em números inteiros ou fracionados, o que aquele evento acumula ou retira. Pontos, itens, a quantidade de itens disponível e por aí vai...

Porém, a partir do momento que um evento está definido, é impossível voltar para o mesmo evento. Por exemplo: se um objeto está parado ele vai continuar parado caso contrário ele estará no evento de movimento. Se o movimento não for pré-definido para terminar, ele continuará a se mover pois existe a inércia (conceito de física). Neste exemplo existem 2 estados: parado e movendo. Ou ele está em um estado - no caso parado - ou ele estará em outro estado - neste caso movimento. Começar e terminar o evento no mesmo estado, sem passar pelo oposto, não causará nada ao objeto e o evento virará nulo.

É importante deixar claro na mente dos usuários que: construir os estados dos objetos e cenas de um projeto de jogo pode fazer o computador se comportar de forma muito estranha e como tudo na vida que foi feito para seguir um determinado caminho pode ficar estranho pela quantidade de coisas - eventos - extras que são imputados a eles, a quantidade de erros e problemas que um evento mal ordenado pode causar ao projeto não são poucos.

A vantagem da ferramenta playmaker é: se o evento foi feito errado, a ferramenta indica que houve um erro, e mesmo que funcione de forma decente para o teste, este e outros erros podem causar problemas em outros pontos do jogo; caso o evento definido faça as coisas erradas e o jogo não rode, é melhor refazer o evento; e acima de tudo, faça eventos pequenos e diretos para entender como a ferramenta funciona. 


Outras informações

Existem ao menos 03 livros de Playmaker disponíveis para compra. Se preferir arriscar um e-pub ou torrent fique à vontade. Dentro das opções de torrent disponíveis a quantidade de treinamentos aumenta porém, existe o site oficial da playmaker e nele existe a documentação básica da ferramenta, treinamentos que funcionam como norteadores e o canal oficial do youtube com uma infinidade de vídeos tutoriais para usar a vontade. Recomendo o canal antes dos livros. Para quem souber inglês bom proveito, para quem não souber vá para os vídeos.

Desvantagens

Só existem tutoriais de playmaker em inglês. A maioria é complexa e difícil de entender caso não sabia nem a Unity nem o inglês. Muitos já me perguntaram "porque não tem nada da área em português?" e a resposta é simples "Porque a programação foi criada pelos americanos então tudo será em inglês..." até a linguagem Lua, criada por um grupo de pesquisadores da PUC-Rio está em inglês. Então, pare de preguiça e vai aprender inglês se quiser continuar com o sonho de produzir jogos e senta o bumbum na cadeira, é muita coisa pra estudar antes de começar.

Conclusão

Artistas! Não Desistam! Programadores? Simplifiquem o entendimento. Muitos artistas detestam lógica e código por isso ajude-os. Da mesma  forma que muitos programadores detestam entender como a arte é feita ou funciona. Sem uma arte, minimamente agradável, nem os jogos mais mirabolantes dará o retorno que a equipe espera. Um conjunto de detalhes visuais ou um combinado de artes (que não sejam objetos geométricos simples) faz uma tremenda diferença no projeto final.

Sabemos que ambos os profissionais podem ser designers (devido a origem britânica do termo que significa projeto ou projetar) então é preciso entender como ambos os lados funcionam. Fazer um meio de campo, entre as áreas mais aberto ao diálogo, mais prolífero ao entendimento do trabalho do outro, será melhor e poderá gerar um resultado final mais impactante aos trabalhos dos grupos.

Sou designer e artista mas não faço arte. Eu uso a arte como suporte. Meu trabalho é meramente entender e ordenar as coisas e estipular quais coisas devem ser feitas nos projetos e onde elas se encontram para dar continuidade aos trabalhos. Caso contrário nem projeto, nem proposta, nem trabalho sairão do plano das ideias.

Por isso deem uma chance a ferramenta playmaker. Ela facilita, até certo ponto, a vida dos artistas. Pode ser confusa no início, para os artistas, e muitos simples, para programadores avançados, mas aprendam ela. Pode facilitar o trabalho para alguns que tem uma ideia diferente e pode sair uma proposta inusitada. Ensinem da forma menos complicada possível seu uso e aplicações e curtam o trabalho de fazer jogos. Ninguém tirará de vocês ou da equipe este conhecimento. Por isso aprendam, cada vez mais, a simplificar os projetos. O segredo de um bom jogo é o entendimento rápido de sua mecânica e a objetividade de sua proposta.

Até o próximo livro.
Ass,: Thiago Sardenberg

Links desse texto abaixo...
Hutoung Games Canal de treinamento do YouTube
PlayMaker for Unity Site oficial da ferramenta
Playmaker Tutorial Tutoriais do próprio site oficial
Playmaker Manual  O manual Básico da ferramenta

Godot Game Engine - engine 2D e 3D 0800 - também recomendado pela Blender Foundation

OBS Post mortem... Terminei de ler o livro na semana seguinte que escrevi este texto. O livro mostra diversos conceitos importantes da produção mas ele é tão rápido que deixe a desejar. No início até parece que é bom mas fica faltando alguma coisa. Por isso vai a recomendação: veja os vídeos do canal da Hutoung Games é mais eficiente. Se houver curiosidade em querer ler o livro aí sim leia com descontração e não pensando em aprender coisas. Não é lá grande coisa.

Comentários

Postagens mais visitadas deste blog

O VADE MECUM DAS HQs

Aprenda Krita para ser um ilustrador digital

A função 'muderna' das artes