reklama
Vývoj her nikdy nebyl snazší. Platformy pro vývoj her, jako je Unity, umožňují vytvářet vše od jednoduchých 2D plošinovka po plně detailní 3D střílečky z první osoby. Jednota je pro malé vývojáře bezplatná a je zde spousta tutoriálů o tom, jak nejlépe použít editor k prototypování vašich nápadů.
Naučit se, jak používat program Unity, vás dostane jen tak daleko. Skutečným jádrem vaší hry bude kód, který určuje její chování. Vypracovat, který jazyk se naučit pro vývoj her, může být těžké - v případě Unity je to jednoduché.
1. Nejlepší volba: C #
Pro kohokoli, kdo začíná Unity, nebo kdokoli, kdo má předchozí znalosti objektově orientovaného programování, je C # tím správným jazykem, který se u Unity naučí. Ve skutečnosti je C # jediným jazykem, který stojí za učení pro tuto platformu, a to z dobrého důvodu.
Unity používá Mono, což je multiplatformní implementace frameworku Microsoft .NET. C # je primární jazyk .NET a všechny knihovny Unity jsou vytvořeny pomocí kódu C #. Říkat, že C # je jazyk Jednoty, by nebylo přehánění. Unity dala najevo, že C # považují za jediný jazyk pro použití s motorem do budoucna.
To je dobrá zpráva, protože C # je výkonný jazyk a snadno se učí. Jednota je jen jedním z mnoha dobré důvody, proč se učit C # 7 Praktické důvody, proč se učit C # programováníExistuje mnoho programovacích jazyků, takže který z nich byste se měli učit? Zde je několik důvodů, proč se naučit C #. Přečtěte si více , a pokud jste začátečník, můžete jej dokonce najít dostupnější. Vývoj her dává strukturu učení a cíle založené na projektech vedou k většímu porozumění novým předmětům.
Se zavedením C # systém úloh a ECS„Unity posouvá, co lze s C # dělat, dále a dále, a nový kompilátor Burst zrychluje než kdykoli předtím.
2. Aktuální alternativa: JavaScript
Unity také podporuje JavaScript - známý jako UnityScript. Od uvedení na trh seděl JavaScript vedle sebe s C # jako plně vybavený vývojový jazyk Unity. Odkaz na skriptování Unity měl příklad kódu v C # i JavaScript pro většinu prvků knihovny.
To bylo užitečné pro vývojáře přicházející z pozadí JavaScriptu, protože i přes rozdíly ve způsobu, jakým byl kód strukturován, mohli použít známou syntaxi. Byl však problém.
Přestože se UnityScript zdá podobný JavaScriptu, není. UnityScript má třídy, něco, co JavaScript nemá. V jazyce UnityScript nejsou k dispozici funkce JavaScriptu, jako je deklarace více proměnných a volitelné středníky.
Pravděpodobně rozhodující je, že hledání pomoci JavaScriptu v projektech Unity vždy způsobilo zmatek, protože většina lidí jej označovala spíše jako JavaScript než UnityScript. Výsledky pro webový design a vývoj her se společně rozmazaly a rozdíl mezi jazyky byl bodem sporu čistě vývojářů JavaScriptu.
Možná nepřekvapivě Unity oznámila, že budou odebírat podporu pro UnityScript, a nyní existuje časová osa pro vyřazení z provozu. Stále můžete používat JavaScript s Unity, ale s vědomím, že to skončí, proč byste?
3. The Old Third Choice: Boo
V prvních dnech jednoty existovala možnost používat Boo - jazyk podobný Pythonu. To je asi nepřekvapivé, protože Rodrigo B. De Oliveira, Boo designér, pracoval pro Unity. Jazyk je kompatibilní s .NET a Mono a byl by plně implementován do herního enginu. Co se pokazilo?
Nebylo to dost lidí, pravděpodobně za předpokladu, že se pokoušel napodobit Pythona. Postupem času Unity zrušila podporu pro Boo a nadcházející změny UnityScript způsobí, že všechny staré Boo skripty budou v Unity zbytečné. Někteří by to mohli vidět jako promarněnou příležitost, protože Boo byl velkým pokusem o syntaxi podobnou Pythonu pro programování .NET.
Milovníci Pythonu však mají jinou možnost.
4. Odd Choice: IronPython
Pokud chcete vyvíjet hry, Python pravděpodobně není jazyk pro vás 4 důvody, proč pro vás Python není programovací jazykProgramovací jazyk Python je velmi populární, ale zde je několik důvodů, proč byste se měli Pythonu vyhnout. Přečtěte si více , ale je to možné. Charlie Calvert na svém blogu Společenství pro vývojáře společnosti obrysy jak spustit Python z C #- ale není to pro slabé srdce. Téměř o deset let později se IronPython stále vyvíjí.
Stručně řečeno, budete si muset stáhnout Knihovny IronPython od GitHub a odkazujte na ně ve svém projektu C #. To vám umožní volat skripty Pythonu z C # skriptů stejně jako v jakékoli jiné knihovně. IronPython také umožňuje volání knihoven .NET z Pythonu. Stejně jako to zní, protože Unity spoléhá na C #, tato funkce nepomůže.
IronPython - a IronRuby, sesterský projekt propojující C # s programovacím jazykem Ruby - jsou fantastické projekty, ale nejsou praktické pro použití s Unity.
5. Zajímavá volba: Lua
Jednou z lepších implementací externího jazyka pro Unity je MoonSharp—A Lua tlumočník. Tento projekt není určen k tomu, aby nahradil jazyk C # jako jazyk, více působil jako most. Perfektním případem použití MoonSharp by bylo přidat hráčům vaší hry způsob, jak vytvářet herní mody v jazyce Lua.
Můžete jej také použít k popisu objektů a úrovní designu odděleně od vašeho základního herního kódu.
Pokud již kódujete v C # a hledáte zajímavý způsob, jak propojit svůj kód, vyplatí se MoonSharp. Protože je k dispozici zdarma na Unity's Asset store, můžete jej importovat přímo do svých projektů.
6. Nejlepší jazyk pro pluginy: C / C ++
Přes robustní knihovnu Unity a všechny dostupné nástroje, které C # dává, možná budete chtít mít své vlastní pluginy. Mezi hlavní důvody, proč se lidé rozhodnou pro pluginy, patří rychlost nebo přístup ke kódové základně již napsané v jiném jazyce. Vytvoření těchto skriptů do pluginů DLL ukládá předělávací kód a v některých případech může zlepšit výkon.
Ve většině případů bude jazyk C ++ jazyk používaný pro vytvoření pluginu, ale C bude fungovat stejně dobře. Dokud se kód zabuduje do knihovny DLL, může být umístěn do složky pluginu Unity a odkazován v kódu. Pravděpodobnost je však taková, že pokud již máte pohodlné kódování v C / C ++, bylo by učení C # relativně jednoduchým úkolem!
7. Nový jazyk pro pluginy: Rust
Rust je jazyk se spoustou buzzů. Zkušení programátoři to milují pro neuvěřitelné množství kontroly, kterou poskytuje, a vyhýbají se nástrahám psaní v méně bezpečných jazycích, jako je C ++. Rust vytvořila Mozilla v roce 2009 jako způsob, jak vývojáři rychle vyvinout vysoce výkonný software.
I když není možné psát Rust v Unity přímo, můžete přistupovat k funkcím a metodám napsaným v Rust z vašeho Unity kódu. Jim Fleming popisuje, jak to udělat podrobně ve svém příspěvku na Medium.
Pokud to vypadá dobře, je to proto, že je to další způsob, jak vytvořit nativní pluginy. Díky schopnosti Rustu propojit se s jinými jazyky můžete volat funkce Rust přímo z kódu C # pomocí Unity's DllImport atribut. Přirozeně je mezi nimi několik kroků čte Jimův sledovací příspěvek spolu se získáním dobrého porozumění FFI (rozhraní cizích funkcí) se doporučuje!
Jednoduchá volba
Postoj Unity k jakémukoli jazyku, který není C #, je jasný a neustálá vylepšení Unity se spoléhají na tuto jednostrannost. Spojte to s neustálým zlepšováním jazyka C # společností Microsoft a učení C # pro vývoj hry Unity není žádným důvodem. A nezapomeňte se podívat Unity Learn pro snadnější způsob, jak se naučit vývoj her Unity Learn je nejjednodušší způsob, jak zvládnout vývoj herChcete začít rozvíjet své vlastní hry? Unity Learn je nejlepší a nejjednodušší způsob, jak se učit a ovládat to, co potřebujete vědět. Přečtěte si více .
Toto není vaše jediná možnost, Unity je pouze jeden motor a je jich spousta možnosti softwaru pro vývoj her 5 bezplatných softwarových nástrojů pro vývoj her k vytvoření vlastních herSoftware pro vývoj her zdarma je skvělý způsob, jak zahájit výrobu videoher. Sestavili jsme nejlepší herní software na trhu. Přečtěte si více vybrat si z.
Ian Buckley je nezávislý novinář, hudebník, performer a video producent žijící v Berlíně v Německu. Když nepíše nebo na jevišti, pohrává si s elektronikou pro kutily nebo kódem v naději, že se stane šíleným vědcem.