7 linguagens de desenvolvimento de jogos da Unity para aprender: qual é a melhor?

7 linguagens de desenvolvimento de jogos da Unity para aprender: qual é a melhor?

Desenvolver jogos nunca foi tão fácil. Plataformas de desenvolvimento de jogos como Unity tornam possível criar tudo, desde plataformas 2D simples até jogos de tiro em primeira pessoa 3D totalmente detalhados. O Unity é gratuito para pequenos desenvolvedores e há uma grande variedade de tutoriais sobre a melhor forma de usar o editor para criar um protótipo de suas ideias.





Aprender como usar o programa Unity levará você apenas até certo ponto. O verdadeiro núcleo do seu jogo será o código que determina seu comportamento. Descobrir qual linguagem aprender para o desenvolvimento de jogos pode ser difícil - mas no caso do Unity, é simples.





como sair da mídia social

1. A melhor escolha: C #

Para quem está começando com Unity, ou qualquer pessoa com conhecimento prévio de programação orientada a objetos, C # é a linguagem certa para aprender para Unity. Na verdade, C # é a única linguagem que vale a pena aprender para a plataforma, e com razão.





Unity usa Mono, que é uma implementação de plataforma cruzada do framework .NET da Microsoft. C # é a linguagem principal do .NET, e todas as bibliotecas do Unity são construídas usando código C #. Dizer que C # é a linguagem do Unity não seria um exagero. O Unity deixou claro que eles consideram C # a única linguagem a ser usada com o motor daqui para frente.

Esta é uma boa notícia, pois C # é uma linguagem poderosa e fácil de aprender. Unity é apenas um de muitos boas razões para aprender C # , e se você for um iniciante, você pode até achar que é mais acessível. O desenvolvimento de jogos dá estrutura à aprendizagem, e as metas baseadas em projetos levam a uma maior compreensão de novos assuntos.



Com a introdução do Sistema de trabalho C # e ECS , O Unity está empurrando o que pode ser feito com C # mais e mais, e o novo compilador Burst o torna mais rápido do que nunca.

2. A alternativa atual: JavaScript

O Unity também oferece suporte a JavaScript --- conhecido como UnityScript. Desde o lançamento, o JavaScript está lado a lado com o C # como uma linguagem de desenvolvimento Unity com todos os recursos. A referência de script do Unity tinha código de exemplo em C # e JavaScript para a maioria dos elementos da biblioteca.





Isso foi útil para desenvolvedores com experiência em JavaScript, pois, apesar das diferenças na forma como o código foi estruturado, eles podiam usar uma sintaxe familiar. No entanto, houve um problema.

Embora UnityScript pareça semelhante ao JavaScript --- não é. UnityScript tem classes, algo que o JavaScript não tem. Recursos de JavaScript, como declaração de múltiplas variáveis ​​e ponto e vírgula opcional, não estão disponíveis no UnityScript.





Talvez crucialmente, a busca por ajuda de JavaScript em projetos Unity sempre causou confusão, já que a maioria das pessoas se referia a isso como JavaScript em vez de UnityScript. Os resultados para web design e desenvolvimento de jogos eram confusos, e a diferença entre as linguagens era um ponto de discórdia para desenvolvedores de JavaScript puro.

Talvez sem surpresa, o Unity anunciou que retiraria o suporte para UnityScript, e agora há um cronograma estabelecido para desativá-lo . Você ainda pode usar JavaScript com o Unity, mas sabendo que isso vai acabar, por que faria isso?

3. A velha terceira escolha: Boo

Nos primeiros dias do Unity, havia a opção de usar Boo --- uma linguagem semelhante ao Python. Isso talvez não seja surpreendente, pois Rodrigo B. De Oliveira, Designer de Boo , trabalhou para a Unity. A linguagem é compatível com .NET e Mono e seria totalmente implementada com o motor de jogo. O que deu errado?

Poucas pessoas o usaram, provavelmente presumindo que era apenas uma tentativa de imitar o Python. Com o tempo, o Unity abandonou o suporte para Boo, e as mudanças futuras no UnityScript tornarão todos os scripts Boo antigos inúteis no Unity. Alguns podem ver isso como uma oportunidade perdida, já que Boo foi uma grande tentativa de sintaxe semelhante a Python para programação .NET.

Os amantes de Python têm outra opção, entretanto.

4. A escolha ímpar: IronPython

Se você deseja desenvolver jogos, Python provavelmente não é a linguagem para você, mas é possível. Em seu blog da comunidade de desenvolvedores da Microsoft, Charlie Calvert descreve como executar Python em C # --- mas não é para os fracos. Quase dez anos depois, IronPython ainda está em desenvolvimento ativo.

Em suma, você precisará baixar o Bibliotecas IronPython do GitHub e referenciá-los em seu projeto C #. Isso permitirá que você chame scripts Python a partir de scripts C # da mesma forma que faria com qualquer outra biblioteca. IronPython também permite chamar bibliotecas .NET de Python . Por mais útil que pareça, como o Unity depende do C #, essa funcionalidade não ajuda.

IronPython --- e IronRuby, seu projeto irmão ligando C # à linguagem de programação Ruby --- são projetos fantásticos, mas não são práticos para uso com o Unity.

5. A escolha interessante: Lua

Uma das melhores implementações de uma linguagem externa para Unity é MoonSharp --- um interpretador Lua. Este projeto não foi projetado para substituir o C # como uma linguagem, mas sim como uma ponte. O caso de uso perfeito para o MoonSharp seria adicionar uma maneira para os jogadores do seu jogo criarem mods de jogo na linguagem Lua.

Você também pode usá-lo para descrever objetos e níveis de design separadamente do código do jogo principal.

Se você já está codificando em C # e procurando uma maneira interessante de interagir com seu código, vale a pena considerar o MoonSharp. Uma vez que está disponível gratuitamente em Loja de ativos da Unity , você pode importá-lo diretamente para seus projetos.

6. Melhor linguagem para plug-ins: C / C ++

Apesar da robusta biblioteca Unity e de todas as ferramentas disponíveis que o C # oferece, às vezes você pode querer seus próprios plug-ins. Os principais motivos pelos quais as pessoas optam por plug-ins incluem velocidade ou acesso a uma base de código já escrita em outro idioma. Construir esses scripts em plug-ins DLL economiza refazer o código e pode melhorar o desempenho em alguns casos.

Na maioria dos casos, C ++ será a linguagem usada para a criação de plug-ins, mas C funcionaria igualmente bem. Contanto que o código seja compilado em uma DLL, ele pode ser colocado na pasta de plug-ins do Unity e referenciado no código. A probabilidade é, entretanto, se você já se sente confortável codificando em C / C ++, que aprender C # seja uma tarefa relativamente simples!

como compartilhar localização no android

7. Nova linguagem para plug-ins: Rust

A ferrugem é uma linguagem com muito burburinho. Os programadores experientes o adoram pela incrível quantidade de controle que proporciona, evitando as armadilhas de escrever em linguagens menos seguras como C ++. O Rust foi criado pela Mozilla em 2009, como uma forma de os desenvolvedores desenvolverem software de alto desempenho rapidamente.

Embora não seja possível escrever o Rust no Unity diretamente, você pode acessar funções e métodos escritos no Rust a partir do seu código do Unity. Jim Fleming explica como fazer isso em detalhes em sua postagem no Medium .

Se isso parece familiar, é porque essa é outra maneira de criar plug-ins nativos. Aproveitando a capacidade do Rust de interagir com outras linguagens, você pode chamar as funções do Rust diretamente do código C # usando o Unity DllImport atributo. Naturalmente, existem várias etapas intermediárias e lendo a postagem de acompanhamento de Jim junto com a obtenção de um bom entendimento de FFIs (interfaces de função estrangeira) é recomendado!

Uma escolha simples

A atitude do Unity em relação a qualquer linguagem que não seja C # é clara, e as melhorias constantes no Unity dependem dessa obstinação. Junte isso ao aprimoramento contínuo da Microsoft do C # como linguagem, e aprender C # para o desenvolvimento de jogos Unity é um acéfalo. E certifique-se de verificar Unity Learn para uma maneira mais fácil de aprender o desenvolvimento de jogos .

Esta não é sua única opção, porém, o Unity é apenas um motor, e há muitos opções de software de desenvolvimento de jogos escolher a partir de.

Compartilhado Compartilhado Tweet O email Canon vs. Nikon: Qual marca de câmera é melhor?

Canon e Nikon são os dois maiores nomes da indústria de câmeras. Mas qual marca oferece a melhor linha de câmeras e lentes?

Leia a seguir
Tópicos relacionados
  • Programação
  • JavaScript
  • Desenvolvimento de jogos
  • C
  • Unidade
Sobre o autor Ian Buckley(216 artigos publicados)

Ian Buckley é jornalista freelance, músico, performer e produtor de vídeo que mora em Berlim, Alemanha. Quando não está escrevendo ou no palco, ele está mexendo em eletrônicos ou códigos DIY na esperança de se tornar um cientista maluco.

Mais de Ian Buckley

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever