Silniki do tworzenia gier – poznaj najpopularniejsze!
Zapewne każdemu graczowi znany jest ten scenariusz: siadacie przed komputerem, odpalacie swoją ulubioną grę i gorączkowo wciskacie escape bądź spację, celem pominięcia początkowych ekranów przedstawiających rozmaite loga. No właśnie, co one w ogóle prezentują? Zazwyczaj są to logotypy wydawcy, producenta, czy też silnika na jakim zbudowana została nasza gra. I tym ostatnim zajmiemy się dzisiaj – zarówno krótkim wyjaśnieniem czym są rzeczone silniki, jak i również szybkim przeglądem najpopularniejszych enginów dostępnych na rynku.
Game engine – czym jest?
Silnik do tworzenia gier jest, w wielkim skrócie, główną częścią kodu naszej gry. Stanowi swoistą konstrukcję, która w logiczny i prosty sposób łączy podstawowe elementy, których każda gra potrzebuje do działania. Dzięki silnikom do tworzenia gier deweloperzy mają znacznie ułatwione zadanie przy programowaniu takich rzeczy jak fizyka, kolizje, grafika, audio, sztuczna inteligencja i o wiele, wiele więcej. Silnik jest spoiwem, który łączy wszystkie te elementy i znacząco ułatwia prace nad nowymi tytułami. W dzisiejszych czasach w pakiecie wraz z silnikiem mamy multum narzędzi, dzięki którym możemy znacząco odchudzić nasz kod, zaoszczędzić czas, czy nawet samemu dokonać edycji enginu. Dzisiaj bardzo rzadko deweloperzy budują silnik od zera, stawiając raczej na sprawdzone opcje, niekiedy nawet będące dostępne jako oprogramowanie open source. A jakie dokładnie są to silniki?
Unreal Engine
Jeśli chodzi o silniki do tworzenia gier, ciężko znaleźć coś bardziej rozpoznawalnego niż tworzony przez Epic Games silnik Unreal Engine, który to w 2022 doczekał się już swojej piątej generacji. Po raz pierwszy, jednak, silnik ten pojawił się na rynku niemal 25 lat temu, w 1998 roku. Zadebiutował w grze, od której wziął swoją nazwę. Mowa oczywiście o Unrealu; nieco starsi gracze zapewne dość dobrze kojarzą tę franczyzę dzięki jej późniejszym odsłonom, serii Unreal Tournament. Mimo iż Unreal zaczynał swoją przygodę jedynie jako silnik głównego rywala Quake’a, to na dzień dzisiejszy wachlarz jego możliwości jest o wiele szerszy – z jego pomocą będzie tworzony remake pierwszego Wiedźmina, S.T.A.L.K.E.R. 2, czy Hellblade II, a także wkrótce przeniesiony zostanie na niego Fortnite. Wielu dużych producentów z chęcią sięga po Unreala, głównie ze względu na jego wsparcie dla wielu platform, a także na wiele innowacyjnych rozwiązań pod względem oświetlenia oraz szczegółów modeli otoczenia oraz tekstur.
Unity
Niektórzy deweloperzy zdają się mieć problem z Unity. Z jednej strony, większość gier stworzonych w Unity to sklejki darmowych assetów, zupełnie pozbawione polotu. Z drugiej, z kolei, dowodzi to właśnie prostoty obsługi tego silnika. Unity w rzeczywistości jest jednym z największych graczy na branżowej scenie, nie bez powodu, zresztą. Jest często wybierane jako narzędzie dzięki którym początkujący programiści stawiają swoje pierwsze kroki w game devie, jak i również sięgają po nie profesjonaliści, którzy cenią sobie plastyczne i niezawodne środowisko pracy. Unity to silnik do tworzenia gier, który wyposażony jest także w obszerną bibliotekę darmowych assetów – czy to trójwymiarowych modeli, dźwięków czy gotowych szablonów, na kanwie których możemy budować najróżniejsze gry. To właśnie dzięki temu enginowi otrzymaliśmy takie perełki jak Desperados III, Rimworld, Pillars of Eternity, czy Superhot – który, swoją drogą, zaczął swój żywot jako projekt na dwudziestoczterogodzinny game jam.
Source
Stary dobry Source. Jeżeli jesteście użytkownikami Steama, z całą pewnością choć raz drogi wasze i Source’a się skrzyżowały. To silnik do tworzenia gier wyprodukowany przez firmę Valve, którego początki sięgają 2004 roku, kiedy to światło dzienne ujrzał Counter Strike: Source. Silnik ten następnie był modyfikowany i dopieszczany przez następne lata. Ujrzeliśmy go w takich produkcjach jak Half-Life, Team Fortress 2, Left 4 Dead, czy nawet relatywnie niedawny Titanfall. Ten konkretny silnik do tworzenia gier, podobnie jak Unreal, również oferuje wieloplatformowość i również używany jest w nim język C++.
CryEngine
Gdy mowa już o gigantach pokroju Source’a czy Unreala, nie sposób wspomnieć o wydanym w 2004 roku CryEngine, przygotowanym przez firmę Crytek. Ten silnik zadebiutował wraz z pierwszą odsłoną Far Crya, a już wtedy robił niemałe wrażenie. Prawdziwy szał na CryEngine zaczął się jednak dopiero w 2007 roku, wraz z premierą topiącej pecety gry Crisis. Mimo iż coraz rzadziej widujemy ten silnik w akcji, to wciąż możemy doszukać się kilku głośnych i ciepło przyjętych tytułów, pokroju Hunt: Showdown czy Kingdom Come: Deliverance.
GameMaker
A skoro już przy silnikach dla początkujących jesteśmy – GameMaker! Chyba ciężko o bardziej wyważone narzędzie. Wyważone pod kątem doświadczenia, rzecz jasna. To środowisko zapewnia narzędzia tak dla zupełnie zielonych deweloperów, jak i dla bardziej zaawansowanych użytkowników. Jedną z niepodważalnych zalet tego silnika jest brak konieczności faktycznego pisania kodu – grę można stworzyć od podstaw używając jedynie szablonów i predefiniowanych narzędzi. Nic jednak nie stoi na przeszkodzie, by cały kod zapisać ręcznie. GameMaker, jednak, w odróżnieniu od Unity, najprzydatniejsze funkcji skrywa za paywallem. Głośnym przykładem gry stworzonej w GameMakerze może być Undertale, stworzony niemal w całości przez jedną osobę, Tobyego Foxa.
Godot
Listę zamkniemy kolejnym programem dla początkujących twórców. Godot to silnik na licencji MIT. Co to oznacza? Mniej więcej tyle, że użytkownik silnika może robić z nim co mu się podoba – edytować kod źródłowy, sprzedawać gry bez żadnej licencji, wszystko. Do tego można go dostać w mojej ulubionej cenie – za darmo. Godot jest prosty w użyciu, liberalny w swej licencji i posiada bardzo obszerną dokumentację, z której można dowiedzieć się wszystkiego, czego początkujący deweloper może potrzebować. Ten silnik do tworzenia gier operuje swoim własnym unikalnym językiem programowania, GDScriptem. Wymaga on podstawowej znajomości struktur kodu, lecz jest w swych założeniach wyjątkowo prosty. Język sam w sobie opiera się na Pythonie.