Reklama

Tworzenie gier nigdy nie było łatwiejsze. Platformy do tworzenia gier, takie jak Unity, umożliwiają tworzenie wszystkiego, od prostych platformówek 2D po w pełni szczegółowe strzelanki FPS. Unity jest darmowy dla małych programistów i istnieje mnóstwo samouczków na temat tego, jak najlepiej używać edytora do prototypowania swoich pomysłów.

Nauczenie się, jak korzystać z programu Unity, do tej pory Cię tylko zaprowadziło. Prawdziwym rdzeniem twojej gry będzie kod, który określa jej zachowanie. Wypracowanie języka do nauki gry może być trudne - ale w przypadku Unity jest to proste.

1. Najlepszy wybór: C #

Dla każdego, kto zaczyna się w Unity lub dla osób posiadających wcześniejszą wiedzę na temat programowania obiektowego, C # jest właściwym językiem do nauki dla Unity. W rzeczywistości C # jest jedynym językiem, którego warto się nauczyć na platformie i nie bez powodu.

Unity używa Mono, która jest wieloplatformową implementacją platformy Microsoft .NET. C # jest podstawowym językiem .NET, a wszystkie biblioteki Unity są budowane przy użyciu kodu C #. Powiedzenie, że C # jest językiem Jedności, nie byłoby przesadą. Unity wyjaśniło, że uważają C # za jedyny język używany przy silniku rozwijającym się.

instagram viewer

To dobra wiadomość, ponieważ C # to potężny język i łatwy do nauczenia. Jedność jest tylko jedną z wielu dobre powody, aby nauczyć się języka C # 7 praktycznych powodów, aby nauczyć się programowania w języku C #Istnieje wiele języków programowania, więc którego należy się nauczyć? Oto kilka powodów, dla których warto nauczyć się języka C #. Czytaj więcej , a jeśli jesteś początkujący, może nawet okazać się bardziej dostępny. Opracowywanie gier nadaje strukturę do nauki, a cele oparte na projektach prowadzą do lepszego zrozumienia nowych przedmiotów.

Wraz z wprowadzeniem System zadań C # i ECSUnity pcha to, co można zrobić za pomocą C # coraz dalej, a nowy kompilator Burst sprawia, że ​​jest to szybsze niż kiedykolwiek wcześniej.

2. Obecna alternatywa: JavaScript

Unity obsługuje także JavaScript - znany jako UnityScript. Od czasu wydania JavaScript jest używany obok C # jako w pełni funkcjonalny język programowania Unity. Odwołanie do skryptu Unity zawierało przykładowy kod zarówno w języku C #, jak i JavaScript dla większości elementów biblioteki.

Było to przydatne dla programistów pochodzących z JavaScript, ponieważ pomimo różnic w strukturze kodu mogli używać znanej składni. Wystąpił jednak problem.

Chociaż UnityScript wydaje się podobny do JavaScript - nie jest. UnityScript ma klasy, czego nie ma JavaScript. Funkcje JavaScript, takie jak deklaracja wielu zmiennych i opcjonalne średniki, nie są dostępne w UnityScript.

Być może najważniejsze jest to, że poszukiwanie pomocy JavaScript w projektach Unity zawsze powodowało zamieszanie, ponieważ większość ludzi nazywała to JavaScript, a nie UnityScript. Rozmyte wyniki zarówno w zakresie projektowania stron internetowych, jak i tworzenia gier, a różnica między językami była sporna dla twórców czystego JavaScript.

Być może nic dziwnego, że Unity ogłosiło, że zamierza wycofać wsparcie dla UnityScript, a teraz jest oś czasu, aby ją wycofać z eksploatacji. Nadal możesz używać JavaScript w Unity, ale wiedząc, że to się skończy, dlaczego miałbyś to robić?

3. The Old Third Choice: Boo

Na początku Unity istniała opcja używania Boo - języka podobnego do Pythona. Nie jest to może zaskakujące, jak Rodrigo B. De Oliveira, Projektant Boo, pracował dla Unity. Język jest kompatybilny z .NET i Mono i zostałby w pełni zaimplementowany z silnikiem gry. Co poszło nie tak?

Niewystarczająca liczba osób go używała, prawdopodobnie zakładając, że po prostu próbuje naśladować Pythona. Z czasem Unity porzuciło obsługę Boo, a nadchodzące zmiany w UnityScript sprawią, że wszystkie stare skrypty Boo będą bezużyteczne w Unity. Niektórzy mogą postrzegać to jako straconą okazję, ponieważ Boo była świetną próbą użycia składni podobnej do Pythona do programowania .NET.

Jednak miłośnicy Pythona mają inną opcję.

4. Dziwny wybór: IronPython

Jeśli chcesz tworzyć gry, Python prawdopodobnie nie jest dla ciebie językiem 4 powody, dla których Python nie jest dla Ciebie językiem programowaniaJęzyk programowania Python jest niezwykle popularny, ale oto kilka powodów, dla których możesz chcieć uniknąć Pythona. Czytaj więcej , ale jest to możliwe. Charlie Calvert pisze na swoim blogu Microsoft Developer Community jak uruchomić Python z C #- ale to nie jest dla osób o słabych nerwach. Prawie dziesięć lat później IronPython jest nadal w fazie aktywnego rozwoju.

W skrócie, musisz pobrać Biblioteki IronPython od GitHub i odwołaj się do nich w swoim projekcie C #. Umożliwi to wywoływanie skryptów w języku Python ze skryptów w języku C # podobnie jak w przypadku innych bibliotek. IronPython pozwala również wywoływanie bibliotek .NET z Pythona. Choć brzmi to tak przydatne, ponieważ Unity opiera się na języku C #, ta funkcja nie pomaga.

IronPython - i IronRuby, to siostrzany projekt łączący C # z językiem programowania Ruby - to fantastyczne projekty, ale nie są praktyczne do użycia z Unity.

5. Ciekawy wybór: Lua

Jedną z lepszych implementacji zewnętrznego języka dla Unity jest MoonSharp- tłumacz Lua. Ten projekt nie jest przeznaczony do zastąpienia C # jako języka, bardziej działa jako pomost. Idealnym przykładem użycia MoonSharp byłoby dodanie sposobu, w jaki gracze będą mogli tworzyć mody w języku Lua.

Możesz go również użyć do opisu obiektów i poziomów projektowania niezależnie od podstawowego kodu gry.

Jeśli już piszesz w C # i szukasz interesującego sposobu na połączenie z twoim kodem, warto rozważyć MoonSharp. Ponieważ jest dostępny za darmo w dniu Sklep z zasobami Unity, możesz zaimportować go bezpośrednio do swoich projektów.

6. Najlepszy język dla wtyczek: C / C ++

Pomimo solidnej biblioteki Unity i wszystkich dostępnych narzędzi C #, czasami możesz chcieć własnych wtyczek. Główne powody, dla których ludzie wybierają wtyczki, to szybkość lub dostęp do bazy kodów już napisanej w innym języku. Wbudowanie tych skryptów we wtyczki DLL oszczędza przerobiony kod i może poprawić wydajność w niektórych przypadkach.

W większości przypadków C ++ będzie językiem używanym do tworzenia wtyczek, ale C będzie działał równie dobrze. Tak długo, jak kod jest wbudowany w bibliotekę DLL, można go umieszczać w folderze wtyczek Unity i odwoływać się do niego w kodzie. Prawdopodobieństwo, że już dobrze programujesz w C / C ++, to nauka języka C # byłaby stosunkowo prostym zadaniem!

7. Nowy język wtyczek: Rust

Rust jest językiem z dużą ilością szumu wokół niego. Doświadczeni programiści uwielbiają to za niesamowitą kontrolę, jaką daje, unikając pułapek pisania w mniej bezpiecznych językach, takich jak C ++. Rust został stworzony przez Mozillę w 2009 roku, jako sposób na szybkie opracowanie przez programistów wydajnego oprogramowania.

Chociaż nie jest możliwe bezpośrednie pisanie Rust w Unity, możesz uzyskać dostęp do funkcji i metod napisanych w Rust z kodu Unity. Jim Fleming szczegółowo opisuje, jak to zrobić w swoim poście na Medium.

Jeśli wydaje się to znajome, to dlatego, że jest to inny sposób tworzenia wtyczek natywnych. Wykorzystując zdolność Rust do komunikowania się z innymi językami, możesz wywoływać funkcje Rust bezpośrednio z kodu C # za pomocą Unity DllImport atrybut. Oczywiście istnieje kilka kroków pomiędzy, a czytając post Jima wraz z dobrym zrozumieniem FFI (interfejsy funkcji obcych) zaleca się!

Prosty wybór

Stosunek Unity do każdego języka, który nie jest C #, jest jasny, a ciągłe udoskonalanie Unity polega na tym jednomyślności. Połącz to z ciągłym doskonaleniem przez C # języka jako języka, a nauka C # do tworzenia gier Unity nie jest żadnym problemem. I koniecznie sprawdź Unity Learn dla łatwiejszego sposobu nauki tworzenia gier Unity Learn to najprostszy sposób na opanowanie tworzenia gierChcesz zacząć tworzyć własne gry? Unity Learn to najlepszy i najłatwiejszy sposób na nauczenie się i opanowanie tego, co musisz wiedzieć. Czytaj więcej .

To nie jest twoja jedyna opcja, Unity to tylko jeden silnik i jest ich mnóstwo opcje oprogramowania do tworzenia gier 5 darmowych narzędzi programistycznych do tworzenia własnych gierBezpłatne oprogramowanie do tworzenia gier to świetny sposób na rozpoczęcie tworzenia gier wideo. Zebraliśmy najlepsze oprogramowanie do gier na rynku. Czytaj więcej do wybrania z.

Ian Buckley jest niezależnym dziennikarzem, muzykiem, performerem i producentem wideo mieszkającym w Berlinie w Niemczech. Kiedy nie pisze ani nie występuje na scenie, majstruje przy elektronice lub kodzie DIY, mając nadzieję, że zostanie szalonym naukowcem.