Zmiana systemów płatności w silnikach sprawiła, że każdego stać na CryEngine, co może być kuszące. Jednak jaki silnik najlepiej wybrać?

W prywatnych wiadomościach dostaje od was bardzo różne pytania. Spora liczba z nich to pytania o treści „czy w Unity można zrobić X?”, „czy Unity będzie dobre do zrobienia Y?”, „czy do zrobienia takiej gry jak Z, nie lepszy będzie Unreal?”. Mogę odpowiedzieć szybko, nie wiedząc co znajduje się pod konkretnymi literkami: Tak, tak, to zależy.

Kiedy zaczynałem zabawy z GameDevem Unreal był drogą zabawką, posiadanie licencji na CryEngine można było porównać do posiadania Willi w Hollywood. Jedynym darmowym silnikiem był wtedy Unity (nie licząc raczej prostych klikaczy typu Click & Play czy RPG Makera). Obecnie system dystrybucji silników bardzo się zmienił i każdy może pracować z CryEnginem, jednak silnik gry nie decyduje o grze. Silnik jest narzędziem, tak jak młotek i śrubokręt. Da radę wbić gwóźdź śrubokrętem, ale po co się męczyć? To samo jest z silnikami. Nie jest tak, że gry 2D da się zrobić tylko w Unity. Każdy silnik ma swoje predyspozycję i w jednym będzie to łatwiejsze, a w innym nieco bardziej wymagające.

Ogólna zasada może być taka: Nie ważne co sobie wymarzyliście, co zaplanowaliście i co zaprojektowaliście. Da się to zrobić w każdym silniku. Różnica polega tylko i wyłącznie na tym, że w jednym będzie to łatwiejsze, a w innym będzie wymagało więcej pracy. Dlatego przygotowałem to krótkie zestawienie dostępnych za darmo silników, wraz z krótką charakterystyką do czego nadają się najbardziej.

Unity

Unity jako silnik wyróżnia się kilkoma cechami. Przede wszystkim jest to najbardziej przyjazny silnik dla początkujących. Ogrom dokumentacji, poradników, kursów, tutoriali, fantastyczna społeczność gotowa do pomocy z każdym problemem. Mało tego, sama ekipa tworząca silnik blisko współpracuje z developerami, rozwijając silnik w kierunku, którego oczekują użytkownicy. Dodatkowo Unity jest bardzo „rozszerzalne”. Istnieje wiele wtyczek, czy gotowych assetów, które rozwiązują, albo pomagają rozwiązać sporą liczbę problemów. Jeżeli ktoś dopiero zaczyna przygodę z tworzeniem gier, ten argument powinien z łatwością nakierować go na odpowiedni silnik.

Unity pozwala w łatwy sposób budować gry na ogromną liczbę platform, co również nie jest bez znaczenia. Kolejną rzeczą, która wyróżnia silnik jest potężne, natywne wsparcie dla 2D. Tak jak pisałem, wszystko da się zrobić w innych silnikach. Jednak inne silniki będą od nas wymagały obsłużenia fizyki 3D tak, aby realizowała założenia 2D. W Unity mamy to domyślnie, co czyni go idealnym wyborem dla twórców 2D.

Unity 5 w akcji

Największe zalety:

  • Ogrom materiałów do nauki – Bardzo dobra dokumentacja i wsparcie społeczności,
  • Dużo darmowych assetów, pluginów etc.,
  • Możliwość budowania na każdą platformę,
  • Natywne wsparcie 2D.

Największe wady:

  • Przez swoją ogromną elastyczność, nie każde rozwiązanie jest na tak wysokim poziomie jak by mogło być, gdyby silnik był na czymś skupiony.

Zalecany dla: Początkujących twórców; gier 2D i multiplatformowych.

Unreal Engine

Unreal to silnik o bardzo szerokim zastosowaniu. Dysponujący lepszą obsługą grafiki niż wspomniane Unity. Silnik od Epic dużo lepiej radzi sobie choćby z dynamicznym oświetleniem. Dodatkowe atuty to wbudowany system obsługi metrowych ścianek (czyli popularny system osłon zapoczątkowany przez Gears Of War), oraz wsparcie dla sztucznej inteligencji w postaci kreatora drzew decyzyjnych.

Również jak to miało miejsce w przypadku Unity, Unreal dysponuje całkiem niezłą dokumentacją oraz sporymi zasobami poradników, co powinno mieć znaczenie dla początkujących. Dużym atutem jest system Blueprints, który najprościej ujmując jest narzędziem do visual scriptingu. Czyli tworzenia kodu bez znajomości programowania. Przydatne nie tylko dla nowych w środowisku, ale również dla nie-programistów.

Jego chyba największą wadą jest język programowania. Jako jedyny nie operuje na wysokopoziomowym języku czy języku skryptowym, a na niskopoziomowym C++. Więc jeśli ktoś chce zrobić coś więcej, trzeba poduczyć się języka, który nie należy do najprostszych. To rozwiązanie natomiast jest mieczem obosiecznym, bo o ile utrudnia start początkującym programistom, o tyle wykorzystanie C++ znacząco przyspiesza działanie silnika, a w efekcie finalnej gry, co będzie dużym plusem dla zaawansowanych.

Coś czego nie dostaniemy w innych silnikach, a ma to Unreal to dostęp do kodu źródłowego silnika, co pozwala go adaptować do naszych potrzeb, ale to raczej zaleta dla bardzo doświadczonych.

Demo Technologiczne Unreal Engine 4

Największe zalety:

  • Zaawansowany graficznie,
  • Całkiem dobra dokumentacja i wsparcie,
  • Dużo dostępnych platform (mniej niż w Unity),
  • Wykorzystuje C++,
  • Dostęp do kodu źródłowego silnika
  • Ma sporo wtyczek i fajnych rozwiązań (Blueprints, czy metrowe ścianki).

Największe wady:

  • Wykorzystuje C++.

Zalecany dla: Zaawansowanych programistów; gier 3D.

CryEngine

Od dawna uznawany za „najładniejszy” silnik. Co udowodnił Crysis i Far Cry, jest to prawda, ale były też gry, które udowadniały, że sam silnik to nie wszystko – Sniper Ghost Warrior 2.

To co można mu zarzucić, to bardzo słaba dokumentacja i wsparcie. Sam interfejs programu jest mało przyjazny. To wszystko nakłada się na fakt, że silnik jest bardzo trudny do opanowania, a tym samym nie tak łatwo wykorzystać pełnię jego możliwości (najładniejsze gry, wyszły spod ręki autorów silnika – przypadek?).

To do czego na pewno sprawdzi się CryEngine to strzelanki z otwartym światem. Patrząc na listę tytułów, które powstały na tym silniku, nie znajdziemy w zasadzie wiele innych produkcji.

Dobrze wykorzystany CryEngine, robi wrażenie.

Największe zalety:

  • Niezwykle zaawansowany graficznie
  • Dobrze sobie radzi z otwartymi światami

Największe wady:

  • Trudny w obsłudze
  • Słaba dokumentacja i wsparcie

Zalecany dla: Bardzo zaawansowanych twórców; do strzelanek z otwartym światem.

Amazon Lumberyard

Tutaj będzie bardzo krótko, bo Lumberyard to twór bazujący na CryEngine. Jednak w tym przypadku ogromny nacisk został położony na social media. Silnik jest nastawiony na wszelki formy tworzenia streamów czy filmików z gier powstałych na jego bazie. Jest nieco uboższy (ale przez to lżejszy) od podstawowego CryEngine.

W Star Citiznen widać rodowód CryEnginowy Lumberyarda.

Największe zalety:

  • Integracja z Social Media.

Największe wady:

  • Równie trudny w obsłudze co CryEngine,
  • Pozbawiony niektórych funkcji CryEngine.

Zalecany dla: W zasadzie ciężko powiedzieć.

Barok

Silnik przystosowany do tworzenia otwartych światów, autorstwa polaka – Kamila Nowakowskiego. Niestety strona jest obecnie w budowie – wiec będą wielkie nowości – a sam silnik jest dość niszowy, przez co nie ma o nim za wiele informacji w sieci w postaci dokumentacji czy for wsparcia. Szczerze powiem, że nie bawiłem się nim i  w sumie nie wiem do czego nadaje się najbardziej. Jednak z racji, że jest to śmiały projekt z naszego rodzimego podwórka (który wygląda całkiem nieźle) to stwierdziłem, że warto go wymienić.

Symulacja wody w Baroku wygląda bardzo obiecująco.

Największe zalety:

  • Całkiem ładny,
  • Polski autor.

Największe wady:

  • Słaba dokumentacja,
  • Mała społeczność.

Zalecany dla: Twórców z jakimś doświadczeniem; do gier z otwartym światem (wg. autora).

Source Engine

W sumie wspominany tylko dlatego, że jest darmowy i parę fajnych gier na nim powstało. W zasadzie jest to silnik raczej nie do polecenia. Fajny do modowania istniejących gier, ale do napisania czegoś od zera raczej średnio się nadaje. Ma mało narzędzi i wątpliwe wsparcie. Dodatkowo jest raczej marnie rozwijany przez twórców. Krążą plotki o Source Engine 2, więc może coś się ruszy w tej kwestii.

Podobno jest to screen z silnika Source 2

Największe zalety:

  • Integracja ze Steam
  • Duża społeczność

Największe wady:

  • Integracja ze Steam
  • Wolno rozwijany
  • Słabe wsparcie
  • Brak narzędzi, wtyczek etc.

Zalecany dla: Raczej dla moderów gier ze Steam.

Podsumowanie

Oczywiście są jeszcze inne narzędzia silniko-podobne jak Axis Game Factory, RPG Maker czy Game Guru, jednak wymienianie tego wszystkiego mija się nieco z celem. Wydaje mi się, że ta lista pomoże większości zdecydować jaki silnik będzie najlepszy do danego projektu. Pamiętajcie, że silnik to narzędzie, takie jak śrubokręt. A jeszcze nie widziałem, żeby ktoś wszystkie śrubki wkręcał jednym.

  • Mateusz Grzonka

    Brak Godot Engine :/

    • I pewnie jeszcze co najmniej kilku innych. Nie sposób wszystkie wymienić i wszystkie znać. Np. o podanym przez Ciebie słyszę pierwszy raz. :)

    • Mateusz Grzonka

      Wszystkich wymienić nie sposób, to prawda, ale uważam, że godot mógłby się tutaj znaleźć/mógłbyś go uwzględnić w przyszłości w jakimś wpisie… :-)

    • Dużo osób mi podrzuciło różne silniki, które pominąłem, więc możliwe że zrobię drugi wpis o mniej znanych silnikach. :)

    • Zibi Nestor

      Warty wzmianki może być także Blender 3D
      https://pl.wikipedia.org/wiki/Blender_(program)