7 lingue di sviluppo del gioco Unity da imparare: quale è il migliore?

Unity-lingue

Lo sviluppo di giochi non è mai stato così facile. Le piattaforme di sviluppo di giochi come Unity consentono di creare qualsiasi cosa, da semplici platform 2D a sparatutto in prima persona 3D completamente dettagliati. Unity è gratuito per i piccoli sviluppatori e ci sono molti tutorial su come utilizzare al meglio l'editor per prototipare le tue idee.

Imparare a usare il programma Unity ti porterà solo lontano. Il vero nucleo del tuo gioco sarà il codice che determina il suo comportamento. Stabilire quale lingua imparare per lo sviluppo del gioco può essere difficile, ma nel caso di Unity, è semplice.

1. La scelta migliore: C #

Per chiunque inizi con Unity, o chiunque abbia una precedente conoscenza della programmazione orientata agli oggetti, C # è la lingua giusta per imparare per Unity. In effetti, C # è l'unica lingua che valga la pena imparare per la piattaforma e con buone ragioni.

Unity utilizza Mono, che è un'implementazione multipiattaforma del framework .NET di Microsoft. C # è la lingua principale di .NET e tutte le librerie di Unity sono costruite usando il codice C #. Dire che C # è la lingua dell'Unità non sarebbe un'esagerazione. Unity ha chiarito che considerano C # l'unico linguaggio da utilizzare con il motore in futuro.

Questa è una buona notizia, dato che C # è un linguaggio potente e facile da imparare. L'unità è solo uno dei tanti buoni motivi per imparare il C # e, se sei un principiante, potresti persino trovarlo più accessibile. Lo sviluppo di giochi dà struttura all'apprendimento e gli obiettivi basati su progetti portano a una maggiore comprensione di nuovi argomenti.

Con l'introduzione del sistema di lavoro C # e ECS , Unity sta spingendo ciò che può essere fatto con C # sempre più avanti, e il nuovo compilatore Burst lo rende più veloce che mai.

2. L'alternativa corrente: JavaScript

Unity supporta anche JavaScript, noto come UnityScript. Dal rilascio, JavaScript è stato affiancato a C # come linguaggio di sviluppo Unity completo. Il riferimento di scripting Unity aveva codice di esempio in C # e JavaScript per la maggior parte degli elementi della libreria.

Questo è stato utile per gli sviluppatori provenienti da uno sfondo JavaScript, nonostante le differenze nel modo in cui il codice è stato strutturato potrebbero utilizzare una sintassi familiare. C'era, tuttavia, un problema.

Mentre UnityScript sembra simile a JavaScript, non lo è. UnityScript ha classi, qualcosa che JavaScript non ha. Le funzionalità di JavaScript come la dichiarazione di più variabili e i punti e virgola facoltativi non sono disponibili in UnityScript.

Forse la ricerca di aiuto JavaScript sui progetti Unity ha sempre causato confusione poiché la maggior parte delle persone si è riferita a esso come JavaScript piuttosto che UnityScript. I risultati per il web design e lo sviluppo del gioco sono confusi insieme e la differenza tra le lingue è stata un punto di contesa per gli sviluppatori di JavaScript puro.

Forse, non sorprende, Unity ha annunciato che ritirerà il supporto per UnityScript, e ora è in atto un piano per la sua disattivazione . Puoi ancora usare JavaScript con Unity, ma sapendo che finirà, perché dovresti?

3. The Old Third Choice: Boo

Nei primi giorni di Unity, c'era la possibilità di usare Boo-un linguaggio simile a Python. Questo non sorprende, in quanto Rodrigo B. De Oliveira, designer di Boo , ha lavorato per Unity. Il linguaggio è compatibile con .NET e Mono e sarebbe completamente implementato con il motore di gioco. Cosa è andato storto?

Non abbastanza persone lo usavano, probabilmente presumendo che fosse semplicemente cercando di imitare Python. Nel corso del tempo, Unity ha abbandonato il supporto per Boo, e le imminenti modifiche a UnityScript renderanno inutili tutti i vecchi script Boo in Unity. Alcuni potrebbero vedere questa come un'opportunità mancata, in quanto Boo è stato un grande tentativo di sintassi simile a Python per la programmazione .NET.

Gli amanti di Python hanno un'altra opzione, comunque.

4. La scelta dispari: IronPython

Se vuoi sviluppare giochi, Python probabilmente non è la lingua per te , ma è possibile. Nel suo blog della community degli sviluppatori Microsoft, Charlie Calvert descrive come eseguire Python da C # , ma non è per i deboli di cuore. Quasi dieci anni dopo, IronPython è ancora in sviluppo.

In breve, dovrai scaricare le librerie IronPython da GitHub e farle riferimento nel tuo progetto C #. Ciò ti consentirà di chiamare gli script Python dagli script C # in modo molto simile a qualsiasi altra libreria. IronPython consente inoltre di chiamare le librerie .NET da Python . Per quanto utile possa sembrare, dal momento che Unity si affida a C # questa funzionalità non aiuta.

IronPython e IronRuby, il suo progetto gemello che collega C # al linguaggio di programmazione Ruby, sono progetti fantastici, ma non sono pratici per l'uso con Unity.

5. La scelta interessante: Lua

Una delle migliori implementazioni di un linguaggio esterno per Unity è MoonSharp -un interprete di Lua. Questo progetto non è progettato per sostituire C # come lingua, più agire come un ponte. Il caso d'uso perfetto per MoonSharp sarebbe quello di aggiungere in un modo che i giocatori del tuo gioco possano creare mod di gioco nella lingua Lua.

Puoi anche usarlo per descrivere oggetti e livelli di progettazione separatamente dal tuo codice di gioco principale.

Se stai già codificando in C # e stai cercando un modo interessante per interfacciarti con il tuo codice, MoonSharp merita considerazione. Poiché è disponibile gratuitamente su Unity's Asset , puoi importarlo direttamente nei tuoi progetti.

6. Miglior linguaggio per i plugin: C / C ++

Nonostante la robusta libreria Unity e tutti gli strumenti disponibili C #, a volte potresti volere i tuoi plugin. I motivi principali per cui le persone optano per i plug-in includono la velocità o l'accesso a una base di codice già scritta in un'altra lingua. La creazione di questi script in plugin DLL consente di risparmiare codice di remake e può migliorare le prestazioni in alcuni casi.

Nella maggior parte dei casi, C ++ sarà la lingua utilizzata per la creazione di plugin, ma C funzionerebbe altrettanto bene. Finché il codice viene compilato in una DLL, può essere inserito nella cartella del plugin di Unity e fatto riferimento nel codice. La probabilità è, tuttavia, se si è già comodo codificare in C / C ++, che l'apprendimento di C # sarebbe
un compito relativamente semplice!

7. Nuova lingua per i plugin: ruggine

La ruggine è una lingua con un sacco di buzz intorno. I programmatori esperti lo adorano per l'incredibile quantità di controllo che fornisce evitando le insidie ​​della scrittura in linguaggi meno sicuri come il C ++. Rust è stato creato da Mozilla nel 2009, come un modo per gli sviluppatori di sviluppare rapidamente software ad alte prestazioni.

Sebbene non sia possibile scrivere direttamente Rust in Unity, puoi accedere alle funzioni e ai metodi scritti in Rust dal tuo codice Unity. Jim Fleming spiega come farlo in dettaglio nel suo post su Medium .

Se questo sembra familiare, è perché questo è un altro modo per creare plugin nativi. Sfruttando l'abilità di Rust di interfacciarsi con altre lingue, puoi chiamare le funzioni di Rust direttamente dal codice C # usando l'attributo DllImport di Unity. Naturalmente, ci sono diversi passaggi in mezzo, e si consiglia di leggere il post di Jim e di ottenere una buona conoscenza degli FFI (interfacce di funzioni estranee)!

Una scelta semplice

L'atteggiamento di Unity nei confronti di qualsiasi linguaggio che non sia C # è chiaro, e i miglioramenti costanti a Unity dipendono da questa determinazione. Accoppia questo con il continuo miglioramento del linguaggio C # di Microsoft, e imparare C # per lo sviluppo del gioco Unity è un gioco da ragazzi.

Questa non è la tua unica opzione, Unity è solo un motore, e ci sono un sacco di opzioni di software di sviluppo del gioco tra cui scegliere.

Leggi l'articolo completo: 7 lingue di sviluppo del gioco Unity da imparare: quale è il migliore?

Fonte: Utilizzare