7 języków tworzenia gier Unity do nauki: który jest najlepszy?

7 języków tworzenia gier Unity do nauki: który jest najlepszy?

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 3D z perspektywy pierwszej osoby. Unity jest darmowy dla małych programistów i zawiera wiele samouczków, które pokazują, jak najlepiej używać edytora do prototypowania swoich pomysłów.





Nauczenie się, jak korzystać z programu Unity, zaprowadzi Cię tylko do tej pory. Prawdziwym rdzeniem twojej gry będzie kod, który określa jej zachowanie. Ustalenie, którego języka należy się nauczyć podczas tworzenia gier, może być trudne — ale w przypadku Unity jest to proste.





jak zrobić domowe klimatyzatory

1. Najlepszy wybór: C#

Dla każdego, kto zaczyna od Unity, lub każdego, kto ma wcześniejszą wiedzę na temat programowania obiektowego, C# jest właściwym językiem do nauki w Unity. W rzeczywistości C# jest jedynym językiem wartym nauki dla platformy i nie bez powodu.





Unity używa Mono, która jest wieloplatformową implementacją platformy .NET firmy Microsoft. C# jest podstawowym językiem platformy .NET, a wszystkie biblioteki Unity są budowane przy użyciu kodu C#. Stwierdzenie, że C# jest językiem Unity, nie byłoby przesadą. Unity dało jasno do zrozumienia, że ​​uważa C# za jedyny język, który będzie używany z silnikiem w przyszłości.

To dobra wiadomość, ponieważ C# jest potężnym językiem i łatwym do nauczenia. Jedność to tylko jedna z wielu dobre powody do nauki C# , a jeśli jesteś początkujący, może się nawet okazać bardziej dostępnym. Tworzenie gier nadaje strukturę uczeniu się, a cele oparte na projektach prowadzą do lepszego zrozumienia nowych przedmiotów.



Wraz z wprowadzeniem System pracy C# i ECS , Unity popycha 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 również JavaScript --- znany jako UnityScript. Od czasu wydania JavaScript działał równolegle z C# jako w pełni funkcjonalnym językiem programistycznym Unity. Odwołanie do skryptów 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 wywodzących się ze środowiska JavaScript, ponieważ pomimo różnic w strukturze kodu mogli używać znanej składni. Był jednak problem.

Chociaż UnityScript wydaje się podobny do JavaScriptu --- tak 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.





Co być może najważniejsze, szukanie pomocy dotyczącej JavaScript w projektach Unity zawsze powodowało zamieszanie, ponieważ większość ludzi określała go jako JavaScript, a nie UnityScript. Wyniki zarówno projektowania stron internetowych, jak i tworzenia gier zacierały się razem, a różnica między językami była punktem spornym dla programistów zajmujących się czystym JavaScriptem.

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

3. Stary trzeci wybór: Boo

We wczesnych dniach Unity istniała możliwość używania Boo ---języka podobnego do Pythona. Nie jest to chyba zaskakujące, ponieważ Rodrigo B. De Oliveira, Projektant Boo , pracował dla Unity. Język jest kompatybilny z .NET i Mono i będzie w pełni zaimplementowany w silniku gry. Co poszło nie tak?

Nie używało go wystarczająco dużo osób, prawdopodobnie zakładając, że tylko próbował naśladować Pythona. Z biegiem czasu Unity porzuciło wsparcie dla Boo, a nadchodzące zmiany w UnityScript spowodują, że wszystkie stare skrypty Boo będą bezużyteczne w Unity. Niektórzy mogą uznać to za straconą okazję, ponieważ Boo był świetną próbą napisania składni podobnej do Pythona dla programowania .NET.

Miłośnicy Pythona mają jednak inną opcję.

4. Nieparzysty wybór: IronPython

Jeśli chcesz tworzyć gry, Python prawdopodobnie nie jest językiem dla Ciebie, ale jest to możliwe. Na swoim blogu Microsoft Developer Community Charlie Calvert opisuje jak uruchomić Pythona z C# --- ale to nie dla bojaźliwych. Prawie dziesięć lat później IronPython wciąż jest w fazie rozwoju.

Krótko mówiąc, musisz pobrać Biblioteki IronPython z GitHub i odwołaj się do nich w projekcie C#. Umożliwi to wywoływanie skryptów Pythona ze skryptów C#, podobnie jak każda inna biblioteka. IronPython pozwala również na: wywoływanie bibliotek .NET z Pythona . Tak przydatne, jak to brzmi, ponieważ Unity opiera się na C#, ta funkcja nie pomaga.

IronPython — i IronRuby, jego siostrzany projekt łączący C# z językiem programowania Ruby — są fantastycznymi projektami, ale nie nadają się do użytku z Unity.

5. Ciekawy wybór: Lua

Jedną z lepszych implementacji języka zewnętrznego dla Unity jest KsiężycOstry ---tłumacz Lua. Ten projekt nie ma na celu zastąpienia C# jako języka, bardziej działa jako pomost. Idealnym przypadkiem użycia MoonSharp byłoby dodanie sposobu, w jaki gracze twojej gry mogą tworzyć mody do gier w języku Lua.

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

Jeśli już kodujesz w C# i szukasz ciekawego sposobu na interfejs ze swoim kodem, warto rozważyć MoonSharp. Ponieważ jest dostępny za darmo na Sklep Unity's Asset , możesz go zaimportować bezpośrednio do swoich projektów.

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

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

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 DLL, można go umieścić w folderze wtyczek Unity i odwoływać się w kodzie. Prawdopodobieństwo jest jednak takie, że jeśli znasz już programowanie w C/C++, nauka C# będzie stosunkowo prostym zadaniem!

dlaczego mój klawisz Windows nie działa?

7. Nowy język dla wtyczek: Rust

Rust to język, w którym jest dużo szumu. Doświadczeni programiści uwielbiają go za niesamowitą kontrolę, jaką daje, unikając pułapek związanych z pisaniem w mniej bezpiecznych językach, takich jak C++. Rust został stworzony przez Mozillę w 2009 roku, jako sposób dla programistów na szybkie tworzenie wysokowydajnego oprogramowania.

Chociaż nie jest możliwe pisanie Rust bezpośrednio 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 natywnych wtyczek. Wykorzystując zdolność Rusta do interfejsu z innymi językami, możesz wywoływać funkcje Rusta bezpośrednio z kodu C# za pomocą Unity Importuj plik DLL atrybut. Oczywiście pomiędzy nimi jest kilka kroków i czytanie kolejnego posta Jima wraz z uzyskaniem dobrego zrozumienia FFI (interfejsów funkcji obcych) jest zalecane!

Prosty wybór

Podejście Unity do każdego języka, który nie jest C#, jest jasne, a ciągłe ulepszenia Unity opierają się na tej jednomyślności. Połącz to z ciągłym ulepszaniem C# jako języka przez Microsoft, a nauka C# dla tworzenia gier w Unity jest oczywista. I koniecznie sprawdź Unity Learn, aby łatwiej uczyć się tworzenia gier .

Nie jest to jednak jedyna opcja, Unity to tylko jeden silnik, a jest ich mnóstwo opcje oprogramowania do tworzenia gier do wybrania z.

Udział Udział Ćwierkać E-mail Canon kontra Nikon: która marka aparatu jest lepsza?

Canon i Nikon to dwie największe marki w branży aparatów fotograficznych. Ale która marka oferuje lepszą gamę aparatów i obiektywów?

Czytaj dalej
Powiązane tematy
  • Programowanie
  • JavaScript
  • Produkcja gier
  • C
  • Jedność
O autorze Ian Buckley(216 opublikowanych artykułów)

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 DIY lub kodowaniu w nadziei, że zostanie szalonym naukowcem.

Więcej od Iana Buckleya

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować