Zdecydowanie najpopularniejszymi silnikami dla mniejszych twórców gier są Unity i Unreal Engine, nie bez powodu.
Unity vs Unreal jest gorąco dyskutowanym tematem, porównywalnym do Microsoft vs Apple.
Obydwa są zdolne do tworzenia grafiki o jakości AAA, obydwa mają świetne mosty pomiędzy większością standardowego oprogramowania przemysłowego.
Zawierają bogaty zestaw narzędzi, w tym edytor terenu, symulację fizyki, animację, zaawansowane oświetlenie, obsługę VR i wiele więcej.
Był czas, kiedy można było łatwo odróżnić każdy silnik od siebie po prostu patrząc na grę. Oba miały swój własny „wygląd”, na dobre i na złe.
Jednakże ten czas już minął i nie można odróżnić jednego silnika od drugiego patrząc tylko na wynik. Weźmy na przykład powyższy obrazek, lewa postać została wyrenderowana w Unrealu, a prawa w Unity.
Więcej jest w rękach projektantów gier, aby gra wyglądała w określony sposób, co jest dobrą rzeczą!
Więc na pierwszy rzut oka wygląda na to, że mamy remis? Cóż… Nie do końca… Każdy silnik ma swoje własne zalety i wady. Piękno jest w oku patrzącego, jak mówią, i to jest prawdziwe dla silników gier, jak również.
Jeśli dopiero zaczynasz naukę tworzenia gier, lub może trochę bardziej doświadczony i jesteś ciekawy, czy podjąłeś właściwą decyzję. Czytaj dalej, ponieważ zagłębiamy się w tę trwającą wojnę pomiędzy dwoma tytanami Unity vs Unreal.
Wideo (artykuł poniżej)
Zamieściłem wideo opisujące moje doświadczenia z obydwoma silnikami, w przypadku gdybyś wolał się wyciszyć i posłuchać. Wideo zawiera więcej aktualnych informacji, a ponieważ zostało nagrane po tym, jak napisałem ten artykuł, jest tam kilka dodatkowych smaczków.
Jeśli wolisz czytać, przewiń w dół, aby przeczytać cały artykuł. Pracuję nad aktualizacją artykułu w tej chwili. (95% informacji jest jednak nadal bardzo aktualnych). Porównanie cen zostało zaktualizowane w 2020 roku.
Wprowadzenie
Założone w 2004 roku z zamiarem uczynienia tworzenia gier dostępnym dla każdego, a nie tylko dla wielkich firm, Unity zrobiło dokładnie to.
Prawie każdy twórca gier niezależnych zaczynał lub nadal używa Unity jako swojego głównego narzędzia.
Dzięki bardzo intuicyjnemu projektowi, językowi kodowania C# jest łatwy do nauczenia i użytkowania. Wspaniała społeczność, ogromny sklep z zasobami, tony tutoriali i kursów do znalezienia w sieci.
Wszystko to sprawia, że Unity jest atrakcyjnym wyborem dla mniejszych zespołów i ludzi, którzy dopiero zaczynają tworzyć gry.
Tutaj znajduje się lista najlepszych gier stworzonych przy użyciu Unity, jeśli chcesz zobaczyć kilka przykładów tego, do czego Unity jest zdolne.
Opracowany wraz z debiutanckim tytułem „Unreal” i wydany w 1998 roku przez Epic Games, a następnie super hit „Unreal Tournament”. Unreal zawsze był znany ze swojej niesamowitej grafiki i obecności w czołówce gier AAA.
Teraz, dzięki najnowszemu modelowi cenowemu, Unreal jest dostępny również dla mniejszych deweloperów, co stawia go w jednym rzędzie z Unity.
Ale jego dokumentacja jest nieco rozmyta, nie ma tak szerokiej społeczności jak Unity. Nieco przytłaczające interfejsy, nie wspominając o tym, że językiem kodowania jest C++.
Oferuje on potężny silnik gry, pchający grafikę na najwyższy poziom przy zachowaniu wydajności. Naszpikowany funkcjami i narzędziami, po opanowaniu, Unreal nie postawi żadnych ograniczeń w realizacji twojej wizji.
Dzięki ostatnim wysiłkom Epic, aby uczynić Unreal bardziej dostępnym, wprowadzając Blueprints (wizualny system kodowania), ciągłe wysiłki w celu poprawy dokumentacji, treści nauczania i duży nacisk na budowanie społeczności, Unreal jest solidnym wyborem dla każdego twórcy gier.
Grafika

Gdy mamy już trochę tła, przejdźmy do mocy obu silników.
Oba silniki obsługują gry 2D i w pełni renderowane 3D. Wykorzystują najnowsze technologie, w tym PBR (Physically-Based Rendering), GI (Global Illumination), światła wolumetryczne, Post Processing, zaawansowane shadery i wiele innych…
Na papierze wygląda na to, że nie ma znaczenia, który silnik wybierzesz, jeśli ważna jest dla ciebie oprawa wizualna.
Pomimo, że możesz być w stanie osiągnąć ten sam rezultat używając któregokolwiek z silników, to niestety tutaj Unity wypada blado.
Unreal – grafika
Jak wspomniałem, podobne rezultaty MOŻESZ osiągnąć używając obu silników. Jednak Unreal jest pełen narzędzi, presetów, które naprawdę działają od razu po wyjęciu z pudełka i mogą być łatwo podrasowane.
Wolumetryczne światła, Post Processing, flary soczewek, możesz to nazwać. Wszystko tam jest, gotowe do użycia i wygląda świetnie od momentu, w którym je wrzucisz.
Oświetlenie w Unrealu wygląda znacznie dokładniej i płynniej w porównaniu z Unity. Kiedy wypiekasz oświetlenie w „jakości produkcyjnej” wygląda to niesamowicie, z bardzo minimalnymi, ale w większości przypadków żadnymi graficznymi glitchami lub dziwnymi artefaktami.
Cienie mają ładny falloff i dopracowany wygląd. Wszystko to przy użyciu znacznie mniejszej ilości wywołań draw niż w Unity, co znacznie poprawia wydajność.
Jest także wyposażony w niesamowity edytor materiałów, używając grafu węzłów możesz łatwo tworzyć i zmieniać materiały. It works very similarly to other 3D softwares like Maya or 3DS MAX. This enabling you to quickly adjust and iterate with live feedback within Unreal itself.


Post processing is fully integrated and ready to use, giving you a wide option for grading, lens flares, volumetric effects etc.
The system is similar to what is used in the film industry giving it a smooth cinematographic feel.
You also have the option to place trigger volumes around the world, so that when a player enters that volume the colors change. Np. na bardziej chłodny niebieski, umożliwiając Ci ustawienie nastroju dla różnych obszarów na Twojej mapie itp

Unity – grafika
Mimo, że Unity jest ciągle dopracowywane i ulepszane, unity brakuje trochę szlifu, jeśli chodzi o tworzenie dobrze wyglądających rezultatów.
Możesz mieć problemy z osiągnięciem tego, co sobie wymarzyłeś. Potrzeba trochę poświęcenia, aby się tam dostać, niemniej jednak można się tam dostać, ale nie bez wysiłku.
System oświetlenia jest dość nowoczesny i obsługuje najnowsze technologie, takie jak PBR i GI, jak wspomniano wcześniej, ale znajdziesz się pieczenia oświetlenia sceny wiele razy, próbując rozwiązać dziwne artefakty i inne problemy.
Szczegóły cieni nie są tak ładne jak Unreal, ale na pewno nie złe. Z nową aktualizacją 2018 Unity zaktualizowało się do bardziej lekkiego modelu oświetlenia, co było zdecydowanie potrzebne. Ale w porównaniu do Unreal, wciąż może być lepiej.
Unity nie ma prawie żadnego edytora materiałów, obsługuje zwykłe normalne mapy, mapy okluzji, tekstury bazowe itp. z niektórymi bardzo ograniczonymi parametrami do dostosowania.
Ale i tak będziesz musiał często przełączać się między swoim programem do teksturowania a Unity, dokonywać małych poprawek, eksportować wszystkie pliki, próbować w Unity, a następnie płukać i powtarzać.
Uwaga – Unity wypuściło betę z edytorem materiałów, jednak wymaga on bardzo specyficznych ustawień graficznych i może stać się dość kłopotliwy. Nie jest to do końca proste dla początkujących i średnio zaawansowanych użytkowników, aby korzystać z ich shader graph, jest to również wciąż w wersji beta, co oznacza, że nie został odpowiednio zintegrowany z Unity, dlatego nie uznam tego za oficjalną funkcję… jeszcze 🙂
Post processing jest oferowany, ale musi być pobrany z asset store i zainstalowany (za darmo), i działa, ale ma tendencję do wyrzucania błędów w konsoli i ma wiele innych ograniczeń. Podczas gdy robi to, co trzeba, nadal czuje się dość prymitywny i nieoszlifowany w porównaniu z tym, co Unreal ma do zaoferowania.
Krzywa uczenia się

To właśnie tutaj Unity błyszczy. Dzięki intuicyjnemu interfejsowi w mgnieniu oka zaczniesz eksperymentować z silnikiem i wypróbowywać różne pomysły na gry. I to jest naprawdę zabawne!
To jest po prostu tak szybkie i łatwe, aby coś sklecić i podzielić się tym z przyjaciółmi. Jest po prostu tak uproszczony i łatwy do zrozumienia.
Nie wspominając o ogromnej ilości treści dostępnych online. Od kursów po proste tutoriale, fora i doskonałą dokumentację z dużą funkcjonalnością wyszukiwania itp.
Niezależnie od tego, jaki masz problem, możesz być pewien, że znajdziesz wpis na forum lub stronę w dokumentacji, która rozwieje twoje wątpliwości.
Unreal… Cóż, jest onieśmielający. Trudny. Frustrujące… Hard…
C++ jest dość trudny do ogarnięcia, system Blueprintów pomaga (zanurzymy się głębiej w Blueprintach w dalszej części), ale bez jakiejkolwiek wiedzy o C++, będziesz musiał się sporo namęczyć.
Interfejs jest ładny, ale ogromny, z nieskończoną ilością dodatkowych wyskakujących okienek wypełnionych jeszcze większą ilością przycisków, aby cię zdezorientować.
To w połączeniu z faktem, że po prostu nie ma tak dużo treści do nauki online jak w przypadku Unity, dokumentacja nie jest tak łatwa do przeczytania i nie ma zbyt dużej społeczności, która pomogłaby ci w problemach (chociaż miejmy nadzieję, że to się poprawi w niedalekiej przyszłości).
Jeśli skończysz z problemem, możesz łatwo skończyć spędzając godziny online szukając rozwiązania – i może nawet niekoniecznie udać ci się znaleźć to, czego potrzebujesz.

Zdecydowanie NIE POLECAM zaczynania od Unreala jeśli jesteś początkujący w tworzeniu gier, poddasz się.
I zanim obrzucisz mnie błotem w komentarzach, ponieważ tobie zdarzyło się zacząć od Unreala bez doświadczenia i świetnie sobie radzisz, cóż gratulacje… ty geniuszu… 🙁
Zdecydowanie poddałem się szybciej niż prędkość światła, kiedy pierwszy raz otworzyłem Unreala.
Toolbox
Oba silniki posiadają zestaw narzędzi, którymi możesz się bawić.
Oba mają swoje własne sklepy z aktywami, gdzie można znaleźć wiele różnych wtyczek, kawałków kodu, animacji i modeli, niektóre stworzone przez Unreal/Unity, ale także rozszerzenia stworzone przez społeczność.
Sklepy z aktywami są również okazją dla ciebie, aby sprzedawać i dzielić się tym, co stworzyłeś.

Unity – toolbox
Unity comes loaded with tools for you to use, including Physics, Animation, Lighting, Event triggers, Audio and much more.
But even so, there is still a lot to be desired, after spending some time in Unity, I can’t help but feeling the emptiness a bit.

And the tools that actually do come with Unity feel.. Well, not great.
Every time I start getting into the polish of a game mechanic, even something as basic as an FPS player controller, I find myself having to rebuild it from scratch.
Taking the FPS controller as example, which is probably the most common function on average in modern games. Ten, który jest dostarczany z Unity, jest nadęty, niezoptymalizowany i szczerze mówiąc nie czuje się tak dobrze podczas gry.
Tak samo jest z wieloma innymi narzędziami, niektóre z nich działają, ale możesz potrzebować wtyczki, aby okiełznać narzędzie, aby działało poprawnie, lub po prostu spędzić dużo czasu na dłubaniu przy nim.
Nie możesz oprzeć się wrażeniu, że wszystko wydaje się nieco zhackowane, jak standardowe narzędzia, które zaczynają wyrzucać błędy w konsoli, mimo że jeszcze niczego nie dotknąłeś.
Podsumowując, jeśli zamierzasz tworzyć gry w Unity, przygotuj się na napisanie wielu narzędzi na własną rękę, ponieważ bardzo szybko będziesz miał dość standardowego pakietu.
Na szczęście, sklep z zasobami Unity jest przepełniony wtyczkami, rozszerzeniami i innymi przydatnymi rzeczami, które pomogą ci załatać brakujące elementy, i to zazwyczaj za rozsądną cenę.
Ale czy to w porządku polegać tak bardzo na społeczności, by łatać silnik za ciebie?
Ale na koniec dnia, bardzo łatwo jest dostać się do tworzenia własnych narzędzi w Unity, a także naprawdę zabawne, jeśli lubisz tego rodzaju rzeczy oczywiście.
Zdecydowanie spróbuj, zanim posłuchasz mnie w tym punkcie zbyt wiele. Być może Unity oferuje dokładnie to, czego potrzebujesz, aby ukończyć swoją grę!
Unreal – zestaw narzędzi
W podobnym przypadku, jak w przypadku porównania grafiki, Unreal jest wyposażony w ogromną ilość narzędzi i funkcji, które w większości wydają się działać od razu po wyjęciu z pudełka.
Wadą jest to, że jest bardzo skomplikowany. Czasami czujesz się jakbyś był w środku labiryntu i nie masz pojęcia gdzie iść. Ale kiedy już znasz drogę, nic Cię nie powstrzyma.
Wszystkie narzędzia są dobrze zintegrowane, nic nie sprawia wrażenia zhackowanego, jest solidne i działa…. Większość czasu 🙂
Jest też oczywiście sklep z zasobami, nie tak bogaty jak w Unity i trochę droższy. Ale wciąż może zapewnić świetne wsparcie dla Twojej gry.
Jeśli chcesz mieć kontroler dla gracza z 3 osoby, wrzuć go, wciśnij play. Możesz biegać, skakać, kucać i testować swój poziom w mgnieniu oka. Nie musisz importować pakietów ani grzebać w ustawieniach, żeby zadziałało.

Edytor terenu bije Unity na głowę. Nie ma konkurencji.
Ale… Co jeśli brakuje czegoś, czego rozpaczliwie potrzebujesz? A sklep z aktywami nie oferuje tego, czego potrzebujesz?
Tak jak w przypadku Unity, masz możliwość zbudowania własnych narzędzi, ale ponieważ wszystko musi być napisane w C++, a także fakt, że Unreal jest nieco bardziej zaawansowany. Bez wątpienia będziesz miał trudniejszy czas pisząc własne narzędzia. Przynajmniej na początku.
Coding
Unity uses C# which is fairly similar to C++ but a lot simpler and easier to learn.
This making it a great first step to learning how to code.
Unreal is full on C++ which is arguably the hardest coding language to learn, but they do also have what they call Blueprints.

Blueprints is a visual scripting system where you do not have to put in a single line of code.
You connect nodes together with various function and can that way „code” your game’s different behaviours without actually having to code.
While it is great and you probably could make a whole game without a single line of code this way. In it’s current state, some things are just better done in code.
Having some C++ skills will be very useful when working in Unreal.
2D games

If you are looking at creating 2D content, there really isn’t much to talk about. Your best bet will be Unity.
With its simplified UI and very well developed 2D tools, intuitive sprite animation etc – you really can’t go wrong with Unity.
It can of course be done in Unreal as well, but there just isn’t much point as Unreal is not developed for 2D games. It will add an unnecessary level of complexity that just simply isn’t needed.
Price
Unity is available in three options, Personal, Plus and Pro.
The personal edition comes with all core features and is completely free. You are allowed up to $100K USD in annual revenue. Jesteś również zmuszony do posiadania „Made in Unity” splash screen przed rozpoczęciem gry.
Plus pozwala do 200K USD rocznego przychodu i będzie cię z powrotem 40 dolarów miesięcznie w abonamencie, jeśli zarejestrujesz się na rok. Posiada on również dodatkowe korzyści, takie jak: niestandardowy Splash screen, 20% zniżki w sklepie z aktywami oraz raportowanie awarii, aby wymienić tylko kilka.
Pro daje Ci wszystkie korzyści z Plusa i nie posiada rocznego limitu przychodów. To jest na stromym 150 dolarów miesięcznie. Ale jeśli robisz $200K plus rok, to naprawdę nie jest problem 😉
Więcej informacji na temat cen Unity można znaleźć tutaj.
Unreal ma inne podejście – dadzą Ci pełny silnik z wszystkimi jego funkcjami za darmo. Ale jesteś im winien 5% od całkowitego przychodu, kiedy wysyłasz swoją grę, na zawsze. Z wyjątkiem pierwszych $3000 za grę w kwartale kalendarzowym, z których zatrzymasz 100%.
Więcej informacji o cenach Unreala znajdziesz tutaj.
Co z innymi silnikami?
Istnieją inne silniki, na przykład CryTek’s Cry Engine, który również zaczął skupiać się na szerszej publiczności, używając tego samego modelu cenowego co Unreal i zaczął zdobywać popularność wśród mniejszych deweloperów. Możliwe, że zrobimy porównanie z silnikiem Cry w późniejszym czasie.
Ku zaskoczeniu wszystkich, Amazon udostępnił silnik Lumberyard, i to nie byle jaki. Jest on darmowy. Kropka. Nie ma tantiem, nie ma subskrypcji. Free.
Jego pomysł jest taki, że jeśli zrobić grę multiplayer, można zapłacić amazon za hosting serwera, i mam nadzieję, że ich pieniądze w ten sposób zamiast. Jest on oparty na CryTek silnika więc nie należy się mylić w myśleniu, że nie jest to pełny silnik AAA.
I have not yet tried it so I can not form an opinion about it just yet but I will definitely get in there and test it out as soon as time allows.
GameMaker developed by YoYo is another option, it focuses primarily on 2D games. It is not as powerful as Unity or Unreal, but might be a great option if you want to get your feet wet and try some 2D game deving. Some great indie titles have been made using GameMaker, take Hyper Light Drifter for example. Gorgeous.
Conclusion – which engine is right for YOU?
Unreal jest świetny na wiele sposobów, ale z jego stromą krzywą uczenia się może być dość off putting jeśli jesteś początkujący. Nawet Unity może wydawać się dość onieśmielające na początku!
Ale Unreal jest zdecydowanie najlepszym wyborem, jeśli chcesz skupić się na wysokiej klasy grafice i rozgrywce.
Jasne, że Unity ma pewne wady i być może nie podkręci grafiki tak bardzo jak Unreal, ale wciąż może dać świetnie wyglądające rezultaty. Będzie o wiele łatwiej i szybciej zrobić gotową grę w Unity niż w Unrealu, przynajmniej na początku.
Więc werdykt jest taki, że jeśli trafiłeś na tę stronę, chcąc rozpocząć hobby lub karierę w tworzeniu gier, szanse są takie, że powinieneś zacząć od Unity.
A następnie przejść na Unreal w późniejszym czasie, gdy zdobędziesz już trochę doświadczenia.
Wtedy będziesz mógł wyrobić sobie własne zdanie na temat tego, która droga jest dla ciebie najlepsza.
A także, wiele z tego, czego nauczysz się w Unity jest mniej lub bardziej zastosowanie w Unreal, jak również, więc nie czuj się jak nauka Unity jest stratą czasu.
Uczenie się
Ben Tristem opracował kilka świetnych kursów zarówno dla Unity i Unreal, nie mogę polecić jego kursy wystarczająco. Jego stałe tempo i intuicyjne wyzwania sprawiają, że nauka kodowania i poruszania się po oprogramowaniu jest bardzo przyjemna i łatwa!
Możesz oczywiście sprawdzić strony Unity i Unreal, ponieważ oferują one niezłe materiały szkoleniowe. Sugerowałbym jednak, abyś najpierw wziął udział w kursach Bena, aby nabrać wprawy i zwiększyć swoją pewność siebie.