Propaganda
Desenvolver jogos nunca foi tão fácil. Plataformas de desenvolvimento de jogos como o Unity tornam possível criar de tudo, desde simples plataformas 2D até atiradores em primeira pessoa totalmente detalhados em 3D. O Unity é gratuito para pequenos desenvolvedores, e há diversos tutoriais sobre a melhor forma de usar o editor para criar um protótipo de suas idéias.
Aprender a usar o programa Unity só o levará até agora. O verdadeiro núcleo do seu jogo será o código que determina seu comportamento. Determinar qual idioma aprender para o desenvolvimento de jogos pode ser difícil, mas no caso do Unity, é simples.
1. A melhor escolha: C #
Para qualquer pessoa que comece com o Unity ou com conhecimento prévio de programação orientada a objetos, C # é a linguagem certa para aprender sobre o Unity. De fato, o C # é o único idioma que vale a pena aprender para a plataforma, e por boas razões.
O Unity usa o Mono, que é uma implementação de plataforma cruzada da estrutura .NET da Microsoft. C # é o idioma principal do .NET e todas as bibliotecas do Unity são criadas usando o código C #. Dizer que C # é a linguagem da Unity não seria um exagero. O Unity deixou claro que eles consideram o C # o único idioma para uso com o mecanismo daqui para frente.
É uma boa notícia, pois o C # é uma linguagem poderosa e fácil de aprender. Unidade é apenas uma das muitas boas razões para aprender C # 7 razões práticas para aprender programação em C #Existem muitas linguagens de programação, então qual delas você deve escolher? Aqui estão várias razões para aprender C #. consulte Mais informação , e se você é iniciante, pode até achar mais acessível. O desenvolvimento de jogos estrutura a aprendizagem e os objetivos baseados 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á promovendo o que pode ser feito com o C # cada vez mais, e o novo compilador Burst o torna mais rápido do que nunca.
2. A alternativa atual: JavaScript
O Unity também suporta JavaScript - conhecido como UnityScript. Desde o lançamento, o JavaScript ficou ao lado do C # como uma linguagem de desenvolvimento do 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 poderiam usar sintaxe familiar. Houve, no entanto, um problema.
Enquanto o UnityScript parece semelhante ao JavaScript, não é. O UnityScript tem classes, algo que o JavaScript não possui. Recursos do JavaScript, como declaração de várias variáveis e ponto e vírgula opcional, não estão disponíveis no UnityScript.
Talvez de maneira crucial, procurar a ajuda de JavaScript em projetos do Unity sempre causou confusão, já que a maioria das pessoas se referia a ele como JavaScript, e não ao UnityScript. Os resultados para o design da web e o desenvolvimento de jogos ficaram embaçados, e a diferença entre os idiomas foi um ponto de discórdia para os desenvolvedores puros de JavaScript.
Talvez sem surpresa, a Unity anunciou que iria retirar o suporte ao UnityScript, e agora existe um cronograma para desativá-lo. Você ainda pode usar JavaScript com o Unity, mas, sabendo que chegará ao fim, por que você usaria?
3. A terceira terceira escolha: Boo
Nos primeiros dias do Unity, havia a opção de usar o Boo - uma linguagem semelhante ao Python. Talvez isso não seja surpreendente como Rodrigo B. De Oliveira, Designer de Boo, trabalhou para a Unity. O idioma é compatível com .NET e Mono e seria totalmente implementado com o mecanismo de jogo. O que deu errado?
Poucas pessoas o usaram, provavelmente assumindo que estava apenas tentando imitar o Python. Com o tempo, o Unity abandonou o suporte ao Boo, e as próximas alterações no UnityScript tornarão inúteis todos os scripts antigos do Boo no Unity. Alguns podem ver isso como uma oportunidade perdida, pois o Boo foi uma grande tentativa de sintaxe semelhante ao Python para programação .NET.
Os amantes de Python têm outra opção, no entanto.
4. A Escolha Estranha: IronPython
Se você quer desenvolver jogos, Provavelmente o Python não é a linguagem para você 4 razões pelas quais Python não é a linguagem de programação para vocêA linguagem de programação Python é extremamente popular, mas aqui estão algumas razões pelas quais você pode evitar o Python. consulte Mais informação , mas é possível. Em seu blog Microsoft Developer Community, Charlie Calvert descreve como executar o Python a partir de c #- mas não é para os fracos de coração. Quase dez anos depois, o IronPython ainda está em desenvolvimento ativo.
Em resumo, 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 #, como faria com qualquer outra biblioteca. O IronPython também permite chamando bibliotecas .NET de Python. Por mais útil que isso pareça, como o Unity depende de C #, essa funcionalidade não ajuda.
O IronPython - e o IronRuby, seu projeto irmão que vincula o 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 o Unity é MoonSharp- um intérprete de Lua. Este projeto não foi projetado para substituir o C # como um idioma, mas sim como uma ponte. O caso de uso perfeito para o MoonSharp seria adicionar de uma maneira aos jogadores do seu jogo a criação de 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 está procurando uma maneira interessante de interagir com seu código, vale a pena considerar o MoonSharp. Como está disponível gratuitamente em Loja de ativos da Unity, você pode importá-lo diretamente para seus projetos.
6. Melhor idioma para plugins: C / C ++
Apesar da robusta biblioteca do Unity e de todas as ferramentas disponíveis fornecidas pelo C #, às vezes você pode querer seus próprios plugins. As principais razões pelas quais as pessoas optam por plug-ins incluem velocidade ou acesso a uma base de código já escrita em outro idioma. A criação desses scripts em plugins DLL economiza o código de refazer e pode melhorar o desempenho em alguns casos.
Na maioria dos casos, o C ++ será a linguagem usada para a criação de plug-ins, mas o C funcionaria igualmente bem. Desde que o código crie uma DLL, ele pode ser colocado na pasta de plugins do Unity e referenciado no código. A probabilidade é, no entanto, se você já está confortável em codificar em C / C ++, que aprender C # seria uma tarefa relativamente simples!
7. Novo idioma para plugins: Rust
Ferrugem é uma linguagem com muito barulho. Programadores experientes adoram a incrível quantidade de controle que dão, evitando as armadilhas da escrita em linguagens menos seguras como C ++. O Rust foi criado pela Mozilla em 2009, como uma maneira de os desenvolvedores desenvolverem software de alto desempenho rapidamente.
Embora não seja possível escrever Rust in Unity diretamente, você pode acessar funções e métodos escritos em Rust a partir do seu código do Unity. Jim Fleming aborda como fazê-lo em detalhes em seu post no Medium.
Se isso parece familiar, é porque essa é outra maneira de criar plug-ins nativos. Ao aproveitar a capacidade do Rust de interagir com outros idiomas, você pode chamar as funções do Rust diretamente do código C # usando o Unity DllImport atributo. Naturalmente, existem várias etapas entre e lendo a postagem de acompanhamento de Jim além de obter uma boa compreensão das IFIs (interfaces de função estrangeira), é recomendável!
Uma Escolha Simples
A atitude da Unity em relação a qualquer idioma que não seja C # é clara, e as constantes melhorias no Unity dependem dessa obstinação. Junte isso ao aprimoramento contínuo da Microsoft em C # como idioma, e aprender C # para o desenvolvimento de jogos do Unity é fácil. E não deixe de conferir Unity Learn para uma maneira mais fácil de aprender o desenvolvimento de jogos O Unity Learn é a maneira mais fácil de dominar o desenvolvimento de jogosDeseja começar a desenvolver seus próprios jogos? O Unity Learn é a melhor e mais fácil maneira de aprender e dominar o que você precisa saber. consulte Mais informação .
Esta não é sua única opção, porém, o Unity é apenas um mecanismo, e há muitas opções de software de desenvolvimento de jogos 5 ferramentas gratuitas de software para desenvolvimento de jogos para criar seus próprios jogosO software de desenvolvimento de jogos grátis é uma ótima maneira de começar a criar videogames. Compilamos o melhor software de jogo do mercado. consulte Mais informação escolher a partir de.
Ian Buckley é jornalista freelancer, músico, intérprete e produtor de vídeo que vive em Berlim, Alemanha. Quando ele não está escrevendo ou no palco, está mexendo com eletrônicos ou códigos DIY, na esperança de se tornar um cientista louco.