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ść
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 BuckleyaZapisz 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ć