7 idiomes de desenvolupament de jocs Unity per aprendre: quin és el millor?

7 idiomes de desenvolupament de jocs Unity per aprendre: quin és el millor?

Desenvolupar jocs mai ha estat tan fàcil. Plataformes de desenvolupament de jocs com Unity permeten crear des de simples plataformes 2D fins a trets en primera persona en 3D completament detallats. Unity és gratuït per a desenvolupadors petits i hi ha una gran quantitat de tutorials sobre la millor manera d'utilitzar l'editor per prototipar les vostres idees.





Aprendre a utilitzar el programa Unity només us permetrà arribar fins ara. El nucli real del vostre joc serà el codi que determina el seu comportament. Esbrinar quin idioma aprendre per al desenvolupament del joc pot ser difícil, però en el cas d’Unity, és senzill.





Magic Mouse 2 vs Magic Trackpad 2

1. La millor opció: C #

Per a qualsevol persona que comenci amb Unity o qualsevol que tingui coneixements previs de programació orientada a objectes, C # és el llenguatge adequat per aprendre a Unity. De fet, C # és l’únic idioma que val la pena aprendre per a la plataforma i amb una bona raó.





Unity utilitza Mono, que és una implementació multiplataforma del marc .NET de Microsoft. C # és l'idioma principal de .NET i totes les biblioteques d'Unity es construeixen mitjançant el codi C #. Dir que C # és el llenguatge d’Unity no seria una exageració. Unity ha deixat clar que consideren que C # és l’únic idioma que s’utilitza amb el motor en el futur.

Aquesta és una bona notícia, ja que C # és un llenguatge potent i fàcil d’aprendre. La unitat és només una de tantes bones raons per aprendre C # , i si sou principiant, fins i tot el trobareu més accessible. El desenvolupament de jocs dóna estructura a l’aprenentatge i els objectius basats en projectes condueixen a una major comprensió de les assignatures noves.



Amb la introducció del Sistema de treball C # i ECS , Unity empeny el que es pot fer amb C # cada vegada més, i el nou compilador Burst ho fa més ràpid que mai.

2. L’alternativa actual: JavaScript

Unity també admet JavaScript, conegut com a UnityScript. Des del llançament, JavaScript s’ha mantingut paral·lel a C # com a llenguatge de desenvolupament d’Unity amb totes les funcions. La referència de seqüències d’ordres Unity tenia codi d’exemple tant en C # com en JavaScript per a la majoria d’elements de la biblioteca.





Això va ser útil per als desenvolupadors que provenien d'un fons JavaScript ja que, malgrat les diferències en la forma en què s'estructurava el codi, podien utilitzar una sintaxi familiar. Hi va haver, però, un problema.

Tot i que UnityScript sembla similar a JavaScript, no ho és. UnityScript té classes, cosa que JavaScript no té. Les funcions de JavaScript, com la declaració de múltiples variables i els punts i coma opcionals, no estan disponibles a UnityScript.





Potser fonamental, la cerca d’ajuda de JavaScript en projectes d’Unity sempre ha causat confusió, ja que la majoria de la gent s’hi referia com a JavaScript en lloc d’UnityScript. Els resultats tant per al disseny de pàgines web com per al desenvolupament de jocs es van difuminar i la diferència entre els idiomes era un punt de discussió per als desenvolupadors de JavaScript pur.

Potser no és sorprenent, Unity va anunciar que retiraria el suport per a UnityScript i ara n’hi ha un cronologia al seu lloc per donar-lo de baixa . Encara podeu utilitzar JavaScript amb Unity, però sabent que acabarà, per què ho faríeu?

3. La vella tercera elecció: Boo

Als primers dies d’Unity, hi havia l’opció d’utilitzar Boo, un llenguatge semblant a Python. Això potser no és sorprenent com Rodrigo B. De Oliveira, Dissenyador de Boo , va treballar per a Unity. El llenguatge és compatible amb .NET i Mono i s’implementaria completament amb el motor del joc. Que ha anat malament?

La gent no la feia servir prou, suposant que només intentava imitar Python. Amb el pas del temps, Unity va deixar de suportar Boo i els propers canvis a UnityScript tornaran inútils tots els scripts Boo antics a Unity. Alguns podrien veure això com una oportunitat perduda, ja que Boo va ser un gran intent de sintaxi semblant a Python per a la programació .NET.

Tanmateix, els amants de Python tenen una altra opció.

4. The Odd Choice: IronPython

Si voleu desenvolupar jocs, és probable que Python no sigui el vostre idioma, però és possible. Al seu blog de Microsoft Developer Community, Charlie Calvert esbossa com executar Python des de C # --- però no és per als dèbils. Quasi deu anys després, IronPython encara està en desenvolupament actiu.

En resum, haureu de descarregar el fitxer Biblioteques IronPython de GitHub i feu-los referència al vostre projecte C #. Això us permetrà trucar als scripts Python des dels scripts C # de la mateixa manera que ho faríeu amb qualsevol altra biblioteca. IronPython també ho permet trucant a les biblioteques .NET des de Python . Tan útil com sembli, ja que Unity confia en C #, aquesta funcionalitat no ajuda.

IronPython --- i IronRuby, el seu projecte germà que enllaça C # amb el llenguatge de programació Ruby --- són projectes fantàstics, però no són pràctics per utilitzar-los amb Unity.

5. L’elecció interessant: Lua

Una de les millors implementacions d'un llenguatge extern per a Unity és MoonSharp --- un intèrpret de Lua. Aquest projecte no està dissenyat per substituir C # com a llengua, sinó que actua com a pont. El cas d’ús perfecte per MoonSharp seria afegir d’una manera que els jugadors del vostre joc puguin crear modificacions de jocs en l’idioma Lua.

També podeu utilitzar-lo per descriure objectes i nivells de disseny per separat del codi bàsic del joc.

Si ja esteu codificant en C # i busqueu una manera interessant d’interfaçar-vos amb el vostre codi, cal que tingueu en compte MoonSharp. Ja que està disponible gratuïtament a Unity's Asset store , podeu importar-lo directament als vostres projectes.

6. Millor idioma per als connectors: C / C ++

Tot i la robusta biblioteca Unity i totes les eines disponibles que C # ofereix, de vegades és possible que vulgueu els vostres propis connectors. Els motius principals per què la gent opta pels connectors inclouen la velocitat o l’accés a una base de codis ja escrita en un altre idioma. La creació d’aquests scripts en connectors DLL permet estalviar refer codi i, en alguns casos, pot millorar el rendiment.

En la majoria dels casos, C ++ serà el llenguatge utilitzat per a la creació de connectors, però C funcionaria igual de bé. Mentre el codi es converteixi en una DLL, es pot col·locar a la carpeta de connectors d'Unity i fer-hi referència al codi. Tanmateix, la probabilitat és que si ja esteu còmode codificant en C / C ++, aprendre C # seria una tasca relativament senzilla.

com esborrar els fitxers d 'actualització de Windows Windows 10

7. Nou llenguatge per als connectors: Rust

L’òxid és un llenguatge molt animat al voltant. Als programadors experimentats els encanta la increïble quantitat de control que ofereix i eviten les trampes d’escriure en llenguatges menys segurs com C ++. Rust va ser creat per Mozilla el 2009, com una manera per als desenvolupadors de desenvolupar ràpidament programes d'alt rendiment.

Tot i que no és possible escriure Rust in Unity directament, podeu accedir a funcions i mètodes escrits a Rust des del vostre codi Unity. Jim Fleming explica com fer-ho en detall al seu missatge a Medium .

Si això us sembla familiar, és perquè aquesta és una altra manera de crear connectors natius. Aprofitant la capacitat de Rust per interactuar amb altres idiomes, podeu trucar a funcions Rust directament des del codi C # mitjançant Unity DllImport atribut. Naturalment, hi ha diversos passos entre llegint la publicació de seguiment de Jim juntament amb una bona comprensió de les FFI (interfícies de funcions externes), és recomanable.

Una opció senzilla

L’actitud d’Unity envers qualsevol idioma que no sigui C # és clara i les millores constants d’Unity es basen en aquest pensament únic. Acompanyeu-ho amb la millora contínua de Microsoft de C # com a idioma i aprendre el desenvolupament de jocs de C # per a Unity no és obvi. I assegureu-vos de comprovar-ho Unity Learn per obtenir una forma més senzilla d'aprendre el desenvolupament de jocs .

Aquesta no és l’única opció, però, Unity és només un motor i n’hi ha un munt opcions de programari de desenvolupament de jocs per triar.

Compartir Compartir Tweet Correu electrònic Canon vs. Nikon: quina marca de càmeres és millor?

Canon i Nikon són els dos noms més importants de la indústria de les càmeres. Però, quina marca ofereix la millor gamma de càmeres i objectius?

Llegiu a continuació
Temes relacionats
  • Programació
  • JavaScript
  • Desenvolupament de jocs
  • C
  • Unitat
Sobre l'autor Ian Buckley(216 articles publicats)

Ian Buckley és periodista, músic, intèrpret i productor de vídeo independent que viu a Berlín, Alemanya. Quan no escriu ni a l’escenari, juga amb electrònica o codi de bricolatge amb l’esperança de convertir-se en un científic boig.

Més de Ian Buckley

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us