7 lingue da imparare per lo sviluppo di giochi Unity: qual è la migliore?

7 lingue da imparare per lo sviluppo di giochi Unity: qual è la migliore?

Sviluppare giochi non è mai stato così facile. Le piattaforme di sviluppo di giochi come Unity consentono di creare di tutto, dai semplici platform 2D agli sparatutto in prima persona 3D completamente dettagliati. Unity è gratuito per i piccoli sviluppatori e sono disponibili numerosi 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 cuore del tuo gioco sarà il codice che ne determina il comportamento. Capire quale lingua imparare per lo sviluppo del gioco può essere difficile --- ma nel caso di Unity, è semplice.





come aprire il centro operativo Windows 10

1. La scelta migliore: C#

Per chiunque inizi con Unity o per chiunque abbia una precedente conoscenza della programmazione orientata agli oggetti, C# è il linguaggio giusto da imparare per Unity. In effetti, C# è l'unico linguaggio che vale la pena imparare per la piattaforma, e con buone ragioni.





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

Questa è una buona notizia, poiché C# è un linguaggio potente e facile da imparare. L'unità è solo una delle tante 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# ed ECS , Unity sta spingendo sempre più avanti ciò che può essere fatto con C# e il nuovo compilatore Burst lo rende più veloce che mai.

2. L'attuale alternativa: JavaScript

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





Ciò è stato utile per gli sviluppatori che provengono da un background JavaScript poiché, nonostante le differenze nel modo in cui il codice è stato strutturato, potrebbero utilizzare la 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 in modo cruciale, la ricerca dell'aiuto JavaScript sui progetti Unity ha sempre causato confusione poiché la maggior parte delle persone lo chiamava JavaScript anziché UnityScript. I risultati sia per il web design che per lo sviluppo di giochi si sono confusi e la differenza tra le lingue è stata un punto di contesa per gli sviluppatori JavaScript puri.

Forse non sorprende che Unity abbia annunciato che avrebbero ritirato il supporto per UnityScript, e ora c'è un tempistica in atto per disattivarlo . Puoi ancora usare JavaScript con Unity, ma sapendo che sta per finire, perché dovresti?

3. La vecchia terza scelta: Boo

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

Non abbastanza persone l'hanno usato, probabilmente presumendo che stesse semplicemente cercando di imitare Python. Nel 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 vederlo come un'opportunità mancata, poiché Boo è stato un grande tentativo di sintassi simile a Python per la programmazione .NET.

Gli amanti di Python hanno comunque un'altra opzione.

4. La strana scelta: IronPython

Se vuoi sviluppare giochi, Python probabilmente non è il linguaggio che fa per te, ma è possibile. Nel suo blog della Microsoft Developer Community, Charlie Calvert delinea come eseguire Python da C# --- ma non è per i deboli di cuore. Quasi dieci anni dopo, IronPython è ancora in fase di sviluppo attivo.

In breve, dovrai scaricare il Librerie IronPython da GitHub e fai riferimento a loro nel tuo progetto C#. Ciò ti consentirà di chiamare gli script Python dagli script C# proprio come faresti con qualsiasi altra libreria. IronPython consente anche chiamare le librerie .NET da Python . Per quanto utile possa sembrare, poiché Unity si basa su C#, questa funzionalità non aiuta.

IronPython --- e IronRuby, è il progetto gemello che collega C# con il 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 Lua. Questo progetto non è progettato per sostituire C# come linguaggio, ma funge da ponte. Il caso d'uso perfetto per MoonSharp sarebbe aggiungere un modo per i giocatori del tuo gioco di creare mod di gioco nella lingua Lua.

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

Se stai già programmando in C# e stai cercando un modo interessante per interfacciarti con il tuo codice, vale la pena prendere in considerazione MoonSharp. Dal momento che è disponibile gratuitamente su Unity's Asset store , puoi importarlo direttamente nei tuoi progetti.

6. Miglior Linguaggio per Plugin: C/C++

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

Nella maggior parte dei casi, C++ sarà il linguaggio utilizzato per la creazione di plugin, ma il C funzionerà ugualmente bene. Finché il codice è integrato in una DLL, può essere inserito nella cartella dei plugin di Unity e referenziato nel codice. La probabilità è, tuttavia, se sei già a tuo agio con la codifica in C/C++, che imparare C# sarebbe un compito relativamente semplice!

dov'è la mia torcia sul telefono?

7. Nuova lingua per i plugin: Rust

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

Sebbene non sia possibile scrivere direttamente Rust in Unity, puoi accedere a funzioni e 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 la capacità di Rust di interfacciarsi con altri linguaggi, puoi chiamare le funzioni Rust direttamente dal codice C# usando Unity DllImport attributo. Naturalmente, ci sono diversi passaggi nel mezzo, e leggendo il post di follow-up di Jim oltre ad acquisire una buona comprensione delle FFI (interfacce di funzioni estere) è consigliato!

Una scelta semplice

L'atteggiamento di Unity nei confronti di qualsiasi linguaggio che non sia C# è chiaro e i costanti miglioramenti a Unity si basano su questa risolutezza. Abbinalo al continuo miglioramento di Microsoft di C# come linguaggio e l'apprendimento di C# per lo sviluppo di giochi Unity è un gioco da ragazzi. E assicurati di dare un'occhiata Unity Learn per un modo più semplice di imparare lo sviluppo del gioco .

Questa non è la tua unica opzione, Unity è solo un motore e ce ne sono molti opzioni del software di sviluppo del gioco scegliere da.

Condividere Condividere Tweet E-mail Canon vs Nikon: quale marca di fotocamere è migliore?

Canon e Nikon sono i due più grandi nomi nel settore delle fotocamere. Ma quale marca offre la migliore gamma di fotocamere e obiettivi?

Leggi Avanti
Argomenti correlati
  • Programmazione
  • JavaScript
  • Sviluppo del gioco
  • C
  • Unità
Circa l'autore Ian Buckley(216 articoli pubblicati)

Ian Buckley è un giornalista freelance, musicista, performer e produttore di video che vive a Berlino, in Germania. Quando non sta scrivendo o sul palco, armeggia con l'elettronica o il codice fai-da-te nella speranza di diventare uno scienziato pazzo.

Altro da Ian Buckley

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti