Sviluppare giochi non è mai stato così facile. Le piattaforme di sviluppo del gioco 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 c’è una ricchezza di tutorial su come utilizzare al meglio l’editor per prototipare le vostre idee.
Imparare ad usare il programma Unity ti porterà solo così lontano. Il vero nucleo del tuo gioco sarà il codice che determina il suo comportamento., Capire 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# è il linguaggio giusto da imparare per Unity. In effetti, c# è l’unica lingua che vale la pena imparare per la piattaforma e con buone ragioni.
Unity utilizza Mono, che è un’implementazione multipiattaforma di. NET framework di Microsoft. C # è la lingua principale di. NET e tutte le librerie di Unity sono costruite usando il codice c#., Dire che c# è il linguaggio 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, come c# è un linguaggio potente e facile da imparare. L’unità è solo uno dei tanti buoni motivi per imparare c#, e se sei un principiante, si può anche trovare più accessibile. Lo sviluppo di giochi dà struttura all’apprendimento e gli obiettivi basati sul progetto portano a una maggiore comprensione di nuovi argomenti.,
Ci sono molti linguaggi di programmazione, quindi quale si dovrebbe scegliere uno per imparare? Qui ci sono diversi motivi per imparare c#.
Con l’introduzione del sistema C# job e dell’ECS, Unity sta spingendo sempre più in là ciò che si può fare con c# e il nuovo compilatore Burst lo rende più veloce che mai.
2. L’alternativa attuale: JavaScript
Unity supporta anche JavaScript – – – noto come UnityScript., Dal rilascio, JavaScript si è affiancato a C# come linguaggio di sviluppo Unity completamente descritto. Il riferimento di scripting Unity aveva codice di esempio sia in c # che in JavaScript per la maggior parte degli elementi della libreria.
Questo è stato utile per gli sviluppatori provenienti da uno sfondo JavaScript in quanto, nonostante le differenze nel modo in cui il codice è stato strutturato, potevano usare 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 variabili multiple e i punti e virgola opzionali non sono disponibili in UnityScript.
Forse in modo cruciale, la ricerca di aiuto JavaScript sui progetti Unity ha sempre causato confusione poiché la maggior parte delle persone si riferiva ad esso come JavaScript piuttosto che UnityScript. I risultati sia per il web design che per lo sviluppo del gioco sono sfocati insieme e la differenza tra le lingue è stata un punto di contesa per gli sviluppatori JavaScript puri.,
Forse non sorprende che Unity abbia annunciato che avrebbe ritirato il supporto per UnityScript, e ora c’è una linea temporale 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 sorprendente come Rodrigo B. De Oliveira, designer di Boo, ha lavorato per Unity. Il linguaggio è compatibile con. NET e Mono e sarebbe pienamente implementato con il motore di gioco. Cosa è andato storto?,
Non abbastanza persone lo hanno usato, probabilmente supponendo che stesse semplicemente cercando di imitare Python. Nel corso del tempo, Unity ha abbandonato il supporto per Boo e le prossime modifiche a UnityScript renderanno tutti i vecchi script Boo inutili in Unity. Alcuni potrebbero vedere questo come un’occasione persa, come Boo è stato un grande tentativo di sintassi simile a Python per la programmazione. NET.
Gli amanti di Python hanno un’altra opzione, tuttavia.
4. La scelta strana: IronPython
Se vuoi sviluppare giochi, Python probabilmente non è il linguaggio adatto a te, ma è possibile., Nel suo blog 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 sviluppo attivo.
In breve, dovrai scaricare le librerie IronPython da GitHub e farle riferimento nel tuo progetto c#. Questo ti permetterà di chiamare script Python da script C# proprio come faresti con qualsiasi altra libreria. IronPython consente anche di chiamare le librerie. NET da Python. Per quanto utile possa sembrare, dal momento che Unity si basa su C# questa funzionalità non aiuta.,
IronPython – – – e IronRuby, è il progetto sorella 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, più agire come un ponte. Il caso d’uso perfetto per MoonSharp sarebbe quello di aggiungere in un modo per i giocatori del tuo gioco per creare mod di gioco in 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. Dal momento che è disponibile gratuitamente su Asset store di Unity, è possibile importarlo direttamente nei vostri progetti.
6. Miglior linguaggio per i plugin: C/C++
Nonostante la libreria Unity robusta e tutti gli strumenti disponibili c# dà, a volte si consiglia il proprio plugin., I motivi principali per cui le persone optano per 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 plugin DLL consente di risparmiare codice rifacimento e può migliorare le prestazioni in alcuni casi.
Nella maggior parte dei casi, C++ sarà il linguaggio utilizzato per la creazione di plugin, ma C funzionerebbe ugualmente bene. Finché il codice si costruisce in una DLL, può essere inserito nella cartella dei plugin di Unity e fatto riferimento nel codice. La probabilità è, tuttavia, se sei già a tuo agio nella codifica in C / C++, che imparare c# sarebbe un compito relativamente semplice!
7., Nuovo linguaggio per i plugin: Rust
Rust è un linguaggio con un sacco di buzz intorno ad esso. I programmatori esperti lo adorano per l’incredibile quantità di controllo che dà 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.
Anche se non è possibile scrivere direttamente Rust in Unity, è possibile accedere a funzioni e metodi scritti in Rust dal codice Unity. Jim Fleming copre 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 altre lingue, è possibile chiamare le funzioni Rust direttamente dal codice c# utilizzando l’attributo DllImport di Unity. Naturalmente, ci sono diversi passaggi in mezzo, e leggere il post di follow-up di Jim insieme a ottenere una buona comprensione delle FFI (foreign function interfaces) è consigliato!
Una scelta semplice
L’atteggiamento di Unity verso qualsiasi linguaggio che non sia c# è chiaro, e i costanti miglioramenti di Unity si basano su questa mentalità univoca., Coppia questo con il continuo miglioramento di Microsoft di c # come linguaggio, e l’apprendimento c# per lo sviluppo del gioco Unity è un gioco da ragazzi. Ed essere sicuri di controllare Unity Learn per un modo più semplice per imparare lo sviluppo del gioco.
Questa non è la tua unica opzione però, Unity è solo un motore, e ci sono un sacco di opzioni software di sviluppo del gioco tra cui scegliere.
- Programmazione
- JavaScript
- lo Sviluppo di un Gioco
- C
- l’Unità
Circa L’Autore:
Ian Buckley è un giornalista freelance, musicista, performer e produttore di video che vive a Berlino, Germania. Quando non sta scrivendo o sul palco, sta armeggiando con l’elettronica fai da te o il codice nella speranza di diventare uno scienziato pazzo.
Altro da Ian Buckley