Reklama
Vývoj hier nebol nikdy jednoduchší. Platformy na vývoj hier, ako je Unity, umožňujú vytvárať všetko od jednoduchých 2D platformátorov po plne podrobné 3D strieľačky z prvej osoby. Jednota je pre malých vývojárov bezplatná a existuje množstvo návodov, ako čo najlepšie použiť editora na prototypovanie vašich nápadov.
Naučíte sa, ako používať program Unity, dostanete sa tak ďaleko. Skutočným jadrom vašej hry bude kód, ktorý určuje jej správanie. Zistiť, ktorý jazyk sa má naučiť pre vývoj hier, môže byť ťažké - v prípade Unity je to jednoduché.
1. Najlepšia voľba: C #
Pre každého, kto začína jednotou, alebo pre kohokoľvek, kto má predchádzajúce znalosti objektovo orientovaného programovania, je C # tým správnym jazykom, ktorý sa môže učiť pre jednotu. V skutočnosti je C # jediným jazykom, ktorý sa oplatí učiť pre túto platformu, a to z dobrého dôvodu.
Unity používa Mono, čo je implementácia platformy .NET od spoločnosti Microsoft. C # je primárny jazyk .NET a všetky knižnice Unity sú vytvorené pomocou kódu C #. Povedať, že jazyk C # je jazykom jednoty, by nemal byť prehnaný. Unity dala najavo, že C # považujú za jediný jazyk, ktorý sa bude používať s týmto motorom.
Toto je dobrá správa, pretože C # je výkonný jazyk a ľahko sa učí. Jednota je len jedným z mnohých dobré dôvody na naučenie sa C # 7 Praktické dôvody na naučenie sa programovania v jazyku C #Existuje veľa programovacích jazykov, takže ktorý z nich by ste sa mali naučiť? Tu je niekoľko dôvodov, prečo sa naučiť C #. Čítaj viac , a ak ste začiatočník, možno ho dokonca nájdete prístupnejším. Vývoj hier dáva štruktúru výučbe a ciele založené na projektoch vedú k lepšiemu porozumeniu nových predmetov.
So zavedením C # systém úloh a ECS, Unity tlačí to, čo sa dá urobiť s C # ďalej a ďalej, a nový kompilátor Burst ho robí rýchlejšie ako kedykoľvek predtým.
2. Aktuálna alternatíva: JavaScript
Unity podporuje aj JavaScript - známy ako UnityScript. Od uvedenia na trh sedel JavaScript vedľa seba s C # ako plnohodnotným vývojovým jazykom Unity. Odkaz skriptovania Unity obsahoval ukážkový kód v C # a JavaScript pre väčšinu prvkov knižnice.
Bolo to užitočné pre vývojárov pochádzajúcich z prostredia JavaScriptu, pretože napriek rozdielom v štruktúre kódu mohli použiť známu syntax. Vyskytol sa však problém.
Hoci sa UnityScript javí ako JavaScript, nie je to tak. UnityScript má triedy, čo JavaScript nemá. Funkcie JavaScriptu, ako je deklarácia viacerých premenných a voliteľné bodkočiarky, nie sú v UnityScript dostupné.
Možno je rozhodujúce, že hľadanie pomoci JavaScriptu v projektoch Unity vždy spôsobilo zmätok, pretože väčšina ľudí ho označovala skôr ako JavaScript ako UnityScript. Výsledky týkajúce sa webdizajnu a vývoja hier boli spoločne rozmazané a rozdiel medzi jazykmi bol bodom sporu čisto vývojárov jazyka JavaScript.
Možno nie je prekvapujúce, že Unity oznámila, že odoberú podporu UnityScript, a teraz existuje časový harmonogram na jej vyradenie z prevádzky. Môžete stále používať JavaScript s Unity, ale s vedomím, že sa to skončí, prečo by ste mali?
3. The Old Third Choice: Boo
V prvých dňoch jednoty existovala možnosť používať Boo - jazyk podobný Pythonu. Možno to nie je prekvapujúce, pretože Rodrigo B. De Oliveira, Boov návrhár, pracoval pre Unity. Jazyk je kompatibilný s .NET a Mono a bol by plne implementovaný do herného enginu. Čo sa pokazilo?
Nie dosť ľudí ho použilo, pravdepodobne za predpokladu, že sa iba snažilo napodobňovať Pythona. Časom Unity zrušila podporu pre Boo a nadchádzajúce zmeny UnityScript spôsobia, že všetky staré Boo skripty budú v Unite zbytočné. Niektorí to môžu vidieť ako premárnenú príležitosť, pretože Boo bol veľkým pokusom o syntax typu Python pre programovanie .NET.
Milovníci Pythonu však majú inú možnosť.
4. Odd Choice: IronPython
Ak chcete vyvíjať hry, Python pravdepodobne nie je pre vás jazykom 4 dôvody, prečo Python nie je pre vás programovacím jazykomProgramovací jazyk Python je veľmi populárny, ale existuje niekoľko dôvodov, prečo by ste sa mali vyhnúť Pythonu. Čítaj viac , ale je to možné. Charlie Calvert vo svojom blogu komunity vývojárov spoločnosti Microsoft načrtáva obrysy ako spustiť Python z jazyka C #- ale nie je to pre slabých. O takmer desať rokov neskôr sa IronPython stále vyvíja.
Stručne povedané, budete si musieť stiahnuť Knižnice IronPython od GitHub a odkážte na ne vo svojom C # projekte. Toto vám umožní volať skripty Pythonu zo skriptov C # rovnako ako v ktorejkoľvek inej knižnici. IronPython tiež umožňuje volanie knižníc .NET z Pythonu. Je to užitočné, pretože Unity sa spolieha na C #, táto funkcia však nepomáha.
IronPython - a IronRuby, sesterský projekt spájajúci C # s programovacím jazykom Ruby - sú fantastické projekty, ale nie sú praktické na použitie s Unity.
5. Zaujímavá voľba: Lua
Jednou z lepších implementácií externého jazyka pre jednotu je MoonSharp—A tlmočník Lua. Tento projekt nie je navrhnutý tak, aby nahradil jazyk C # ako jazyk, skôr pôsobil ako most. Ideálnym prípadom použitia MoonSharp by bolo pridať hráčom vašej hry spôsob, ako vytvárať herné módy v jazyku Lua.
Môžete ho tiež použiť na opis objektov a úrovní dizajnu oddelene od vášho hlavného herného kódu.
Ak už kódujete v jazyku C # a hľadáte zaujímavý spôsob, ako prepojiť svoj kód, MoonSharp stojí za zváženie. Pretože je k dispozícii zadarmo na Unity's Asset store, môžete ich importovať priamo do svojich projektov.
6. Najlepší jazyk pre doplnky: C / C ++
Napriek robustnej knižnici Unity a všetkým dostupným nástrojom, ktoré poskytuje C #, niekedy budete chcieť mať svoje vlastné doplnky. Medzi hlavné dôvody, prečo sa ľudia rozhodnú pre doplnky, patrí rýchlosť alebo prístup k kódovej základni už napísanej v inom jazyku. Vytvorenie týchto skriptov do doplnkov DLL ušetrí kód na prerábanie a v niektorých prípadoch môže zlepšiť výkon.
Vo väčšine prípadov bude C ++ jazykom používaným pri vytváraní doplnkov, ale C bude fungovať rovnako dobre. Pokiaľ sa kód zabuduje do knižnice DLL, môže sa umiestniť do zložky doplnku Unity a odkazovať na ňu v kóde. Pravdepodobnosť je však taká, že ak ste už v kóde C / C ++ pohodlne kódovaní, bolo by učenie C # relatívne jednoduchou úlohou!
7. Nový jazyk pre doplnky: Rust
Rust je jazyk s mnohými hláškami. Skúsení programátori ho milujú za neuveriteľné množstvo kontroly, ktorú poskytuje, pričom sa vyhýbajú nástrahám pri písaní v menej bezpečných jazykoch ako C ++. Rust bola vytvorená spoločnosťou Mozilla v roku 2009 ako spôsob, ako môžu vývojári rýchlo vyvíjať vysokovýkonný softvér.
Aj keď nie je možné priamo písať Rust v Unity, môžete získať prístup k funkciám a metódam napísaným v Rust z vášho Unity kódu. Jim Fleming popisuje, ako to urobiť podrobne vo svojom príspevku na médiu Medium.
Ak to vyzerá dobre, je to preto, že je to ďalší spôsob, ako vytvoriť natívne doplnky. Využitím schopnosti Rustu prepojiť sa s inými jazykmi môžete volať funkcie Rust priamo z kódu C # pomocou Unity's DllImport atribút. Prirodzene existuje medzi krokmi niekoľko krokov čítanie Jimovho následného príspevku spolu so získaním dobrého porozumenia FFI (rozhrania pre zahraničné funkcie) sa odporúča!
Jednoduchá voľba
Postoj Unity k akémukoľvek jazyku, ktorý nie je C #, je jasný a neustále zlepšovanie Unity sa spolieha na túto jednoúčelovosť. Spojte to s neustálym zlepšovaním jazyka C # spoločnosťou Microsoft a učenie jazyka C # pre vývoj hry Unity nie je ničím netušiacim. A nezabudnite sa pozrieť Unity Learn pre ľahší spôsob, ako sa naučiť vývoj hry Unity Learn je najjednoduchší spôsob, ako zvládnuť vývoj hierChcete začať rozvíjať svoje vlastné hry? Unity Learn je najlepší a najjednoduchší spôsob, ako sa naučiť a osvojiť si to, čo potrebujete vedieť. Čítaj viac .
Toto nie je vaša jediná možnosť, Unity je iba jeden motor a je ich veľa Možnosti softvéru na vývoj hier 5 bezplatných softvérových nástrojov na vývoj hier na vytvorenie vlastných hierBezplatný softvér na vývoj hier je skvelý spôsob, ako začať s tvorbou videohier. Zostavili sme najlepší herný softvér na trhu. Čítaj viac vybrať si z.
Ian Buckley je nezávislý novinár, hudobník, performer a video producent žijúci v Berlíne v Nemecku. Keď nepíše alebo je na pódiu, pohráva sa s elektronikou alebo kódom pre domácich majstrov v nádeji, že sa stane šialeným vedcom.