Jaki silnik wybrać do tworzenia gier wideo

Utworzony przez Łukasz Sujkowski, dnia 07.11.2022
 10853    0
Jaki silnik wybrać do tworzenia gier wideo
Od jakiegoś czasu dużo słyszy się o dynamicznym rozwoju rynku gier wideo, a także ponad 50% udziale gier mobilnych. Rośnie również zainteresowanie samym tworzeniem gier, zarówno doświadczeni programiści jak i osoby początkujące decydują się na rozwój w tym kierunku. Pierwszym problemem jest wybór odpowiedniego silnika, co często spowodowane jest podzielonymi opiniami twórców na ten temat. W tym artykule postaram się przedstawić kilka wybranych przeze mnie możliwości (w tym te popularne) pod kątem zastosowania. 

Unreal Engine 5


Pierwszy z dwóch najpopularniejszych silników, który stawia bardzo duży nacisk na fotorealistkę. Uzbrojony w wiele nowoczesnych technologii, pozwala na tworzenie gier o naprawdę wysokiej jakości. Niestety, nawet najlepsza broń w niedoświadczonych rękach może wyrządzić więcej szkody niż pożytku. Moim zdaniem próg wejścia jest wysoki, ogarnięcie nawet ogólnie wszystkich mechanizmów zajmuje sporo czasu, a wydawanie gier, szczególnie mobilnych, gdzie trzeba uważać na wydajność, ze szczątkową wiedzą może przysporzyć wiele nieodwracalnych problemów. Oczywiście, najlepiej uczy się na błędach (szczególnie w tej branży), jednak warto mieć to z tyłu głowy i trochę się przygotować zanim przystąpi się do projektu. 

Druga pułapka w którą wpada sporo początkujących osób jest programowanie wizualne w Blueprint. Z jednej strony jest to technologia bardzo przydatna, a z drugiej niewłaściwie użyta może spowodować ogromny spadek wydajności gry, bowiem skrypty tworzone w Blueprint są uruchamiane przez wirtualną maszynę, co powoduje, że ich wydajność jest znacznie niższa w porównaniu do kodu tworzonego w języku C++. Kluczem do sukcesu jest odpowiedni balans między C++ i Blueprint w naszym projekcie. Jak już wspomniałem w UE5 programuje się w języku C++ domyślnie korzystając z Visual Studio.

Moim zdaniem Unreal najbardziej nadaje się do gier tworzonych na sprzęt wysokiej wydajności czyli pecety i konsole, niemniej jednak przy odpowiedniej wiedzy z zakresu optymalizacji sprawdzi się w trójwymiarowych grach mobilnych. Sytuacja zmienia się jeśli mówimy o grach mobilnych 2D, mam wrażenie, że w tym wypadku zaprzęganie tego silnika troszkę mija się z celem. Oczywiście nie jest to niemożliwe, co więcej silnik dostarcza nam systemu o nazwie “Paper 2D” dedykowanego do tworzenia takich właśnie gier.

Unity 5


Drugi najpopularniejszy silnik gier wideo, który od momentu publikacji w 2015 roku, przekonał do siebie wielu deweloperów. Konikiem Unity są gry 2D, wsparcie oraz zestaw narzędzi, które oferuje ten silnik przewyższa prosty system oferowany przez Unreal Engine. Oczywiście to nie oznacza, że tylko w ten sposób jest używany. Unity dobrze radzi sobie z 3D, może nie na aż takim poziomie foto-realistyki jak UE5, ale za to nadrabia prostotą i średnim w mojej opinii progiem wejścia. 

Tak samo jak konkurent oferuje programowanie wizualne, jednak w tym wypadku częściej wybierany jest C#, dla niektórych osób język przystępniejszy niż C++, dlatego jeśli należysz do tej grupy osób bardzo możliwe, że Unity jest właśnie dla Ciebie. Jeśli chodzi o zastosowanie silnik bardzo dobrze sprawdza się w grach mobilnych, a szczególnie w tych dwuwymiarowych.

Flutter 3


Ostatnią przygotowana przeze mnie pozycją jest stosunkowo nowa bo opublikowana w 2017 roku, technologia Google o otwartym kodzie źródłowym. Oferuje tworzenie wieloplatformowych aplikacji, a dzięki kompilacji kodu do natywnych aplikacji platform takich jak Android czy iOS, gwarantuje wysoką wydajność. 

Technologia powstała z myślą o aplikacjach, mimo to znajduje swoje zastosowanie w pewnym obszarze gier mobilnych. Aby zdefiniować ten obszar, musimy podzielić gry mobilne na dwie kategorie, gry wideo oraz aplikacje imitujące gry (twórcy technologii nazywają to “app-like games”). W tej drugiej świetnie sprawdza się Flutter, zamykamy w niej wszystkie gry, które nie potrzebują fotorealistycznego renderowania 3D oraz zaawansowanej technologii symulacji fizyki, na przykład szachy, kółko-krzyżyk, teris, kulki oraz wszelkie karcianki. Dodatkowo, rozszerzając Fluttera pakietem Flame zyskujemy możliwość tworzenia bardziej rozbudowanych gier 2D.

Programowanie odbywa się w języku obiektowym Dart, którego składnia bardzo zbliżona do popularnych języków obiektowych, dzięki czemu jego nauka nie przysparza wielu problemów. Główną koncepcją technologii jest tworzenie interfejsu aplikacji poprzez drzewo widgetów. Dodatkowo mamy do dyspozycji obszerną bibliotekę pakietów, których instalacja sprowadza się do pojedynczej komendy w terminalu. Te fakty powodują, że próg wejścia jest stosunkowo niski, nawet dla początkujących.

Mam nadzieję, że powyższe opisy pomogły w wyborze odpowiedniego silnika. Poniżej zostawiam kilka przydatnych linków, zachęcam do zerknięcia we wszystkie.

Komentarze

This site is protected by ReCaptcha and the Google Privacy Policy and Terms of Service apply.

Brak komentarzy...

Kategorie

Quixel  0
Blender  3
Unity  0
Flutter  5
Ogólne  3