Unreal Engine

silnik gier komputerowych

Unreal Enginesilnik gier komputerowych, wyprodukowany przez przedsiębiorstwo Epic Games. Pierwotnie wykorzystywany w strzelankach pierwszoosobowych, z czasem zaczął być wykorzystywany również w innych gatunkach gier komputerowych.

Unreal Engine
Logo Unreal Engine
Logo programu
Autor Epic Games
Aktualna wersja stabilna 5.3
(6 września 2023) [±]
Język programowania C++[4]
Platforma sprzętowa PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Nintendo Switch, Xbox Series X/S, PlayStation 5, Google Stadia
System operacyjny Windows, Linux[1][2], macOS[3], Android, iOS
Rodzaj silnik gry komputerowej
Strona internetowa

Jądro silnika zostało napisane w języku C++[4], a jego twórcy zaimplementowali w nim mechanizmy wspomagające wieloplatformowość. Ze względu na to oraz wysoki poziom technologiczny (16 lat rozwoju silnika przy dużym wsparciu finansowym) wielu deweloperów gier chętnie go wykorzystuje. Obsługuje między innymi platformy Windows, Linux[1][2], macOS[3], PlayStation 3, PlayStation 4[1][2], Xbox 360, Xbox One[1][2] oraz iOS[3]. Wraz z wydaniem wersji 4.25 zapewniono też wsparcie dla konsol Xbox Series X/S, PlayStation 5, Nintendo Switch oraz platformy Google Stadia[5].

Wersje silnika edytuj

 
Gra Killing Floor stworzona na silniku Unreal Engine 2

Unreal Engine 1 edytuj

Wersja zadebiutowała w 1998 roku w grze Unreal. Silnik zawierał wtedy mechanizm renderowania, system wykrywania kolizji, system sztucznej inteligencji, system widoczności, zarządzania siecią i systemem plików. Z powodu poziomu technologicznego ówczesnych komputerów zastosowano cylindryczne wykrywanie kolizji, choć dysponowano lepszą technologią. Unreal Engine 1 wykorzystywał Glide API opracowany specjalnie dla procesorów graficznych 3dfx, zamiast OpenGL[6]. Jednym z największych powodów jego popularności było zastosowanie łatwej do modyfikacji architektury silnika i włączenie języka skryptowego[7]. Kolejną innowacją w porównaniu do silników poprzedniej generacji było zastosowanie technologii sieciowej, która znacznie ulepszyła skalowalność silnika w grach wieloosobowych. Również Unreal jako pierwszy silnik w pełni wykorzystywał model klient-serwer w architekturze silnika[8].

Unreal Engine 2 edytuj

Druga wersja silnika zadebiutowała w 2002 roku w grze America’s Army. Największą zmianą jest napisane całkowicie od nowa jądro silnika oraz silnik renderowania. Zintegrowano z silnikiem nowy edytor poziomów UnrealEd 3, a także silnik fizyczny Karma physics SDK, wykorzystaną między innymi w grach Unreal Tournament 2003 i Unreal Championship. Ponadto zaktualizowano wiele elementów silnika, dodano wsparcie dla platform PlayStation 2, GameCube i Xbox. W wersji UE 2.5 poprawiono renderowanie, dodano fizykę pojazdów oraz wsparcie dla technologii 64-bitowej w Unreal Tournament 2004. Wyspecjalizowana wersja UE 2.5 o nazwie UE2X, wykorzystana w grze Unreal Championship 2, została zoptymalizowana dla pierwszej generacji konsoli Xbox. Dodatkowo wspiera ona technologię dźwięku EAX 3.0.

Unreal Engine 3 edytuj

Trzecia wersja silnika pojawiła się w 2006 roku wraz z grą Gears of War. Silnik projektowano z myślą o wykorzystaniu technologii DirectX w wersjach 9, 10 i 11, a także do zastosowania w konsolach PlayStation 3 oraz Xbox 360. Silnik obsługuje zaawansowane technologie takie jak: high dynamic range rendering, per-pixel lighting, a także dynamiczne cienie. W 2009 roku na Game Developers Conference zapowiedziano wydanie poprawek do silnika, które zawierały obsługę wysokiej jakości efektów świetlnych, symulacje zniszczeń obiektów oraz symulację tłumu[9]. Silnik jest również wykorzystywany do projektowania obiektów, tworzenia symulatorów jazdy oraz filmów. Licencje na wykorzystywanie silnika zakupiło m.in.: Atari, Activision, Capcom, Disney, Electronic Arts, Konami, THQ, Sega, Sony, Ubisoft i wiele innych przedsiębiorstw.

Unreal Engine 4 edytuj

W 2005 roku wiceprezes Epic Games Mark Rein przyznał, że prace nad Unreal Engine 4 trwają od 2003 roku[10]. Na konferencji DICE Summit w 2010 roku powiedział też, że silnik nie jest w stanie pracować na siódmej generacji konsol do gier i komputerów oraz że prawdopodobnie będzie wykorzystany w konsolach ósmej generacji. Czwarta wersja została wydana 19 marca 2014 roku[11]. Pierwszą grą opartą na tym silniku była Daylight. Miesiąc po premierze ukazała się pierwsza aktualizacja, która umożliwiła współpracę z PlayStation 4, Xbox One oraz Linuksem[1][2]. Od 2 marca 2015 silnik wraz z przyszłymi aktualizacjami stał się darmowy dla wszystkich twórców, którzy chcieliby tworzyć na nim gry. W przypadku produkcji komercyjnych, które zarobiły ponad trzy tysiące dolarów, twórcy zobowiązani byli do opłacania tantiem w wysokości pięciu procent zysków[12]. 13 maja 2020 próg dla tantiem podwyższono do wysokości miliona dolarów[13][14].

Unreal Engine 5 edytuj

19 maja 2020 roku opublikowano demo technologiczne Unreal Engine 5, a wraz z nim zapowiedziano znaczące zmiany silnika[15]. Główną nowością jest wprowadzenie technologii oświetlenia globalnego „Lumen” oraz systemu „Nanite” umożliwiającego budowę sceny 3D o dużym poziomie szczegółowości. Dwa lata później, 5 kwietnia 2022 roku opublikowano silnik w wersji 5.0[16].

Języki skryptowe edytuj

UnrealScript edytuj

UnrealScript (skrótowo UScript) był obiektowym językiem skryptowym wykorzystywanym w silniku gry Unreal Engine do wersji trzeciej. Został on zaprojektowany do prostego wysokopoziomowego programowania gier komputerowych[17]. Jego twórcą jest Tim Sweeney, który zaprojektował również uprzednio wykorzystywany język skryptowy ZZT-OOP[18]. Strukturalnie przypominał język Java, jednak bez wielokrotnego dziedziczenia i bez wrapperów dla typów podstawowych. Obsługa interfejsów została wprowadzona dopiero w wersji z Unreal Engine 3 oraz w nielicznych grach na Unreal Engine 2. Możliwe było także przeciążanie operatorów, jednak bez przeciążania metod, z wyjątkiem parametrów opcjonalnych.

Główny programista Deus Ex, Chris Norden, opisał UnrealScript jako „super elastyczny”, ale ganił jego wolne działanie[19].

Na konferencji GDC w 2012 roku firma Epic ogłosiła, że język UnrealScript zostanie usunięty z silnika Unreal Engine 4 na rzecz języka C++. Skrypty wizualne miały być obsługiwane przez system Blueprints Visual Scripting, zastępujący wcześniejszy system skryptów wizualnych o nazwie Kismet[20][21].

Jednym z kluczowych momentów w rozwoju Unreal Engine 4 była seria debat na temat UnrealScript – języka skryptowego, który zbudowałem i który rozwijaliśmy przez trzy generacje. I co musieliśmy zrobić, aby w przyszłości uczynić go konkurencyjnym. Przeglądaliśmy coraz większe i większe listy rzeczy, które musimy zrobić, aby go zaktualizować i kto mógłby wykonać tę pracę, ale stawało się to bardzo, bardzo niepraktyczne. Odbyło się wielkie spotkanie, by spróbować to uporządkować, spróbować wyciąć pewne rzeczy i zdecydować, co zatrzymać, zaplanować i… był taki moment, kiedy na to spojrzałem i powiedziałem „wiecie, wszystko, co proponujecie dodać do UnrealScript jest już w C++. Dlaczego po prostu nie zabijemy UnrealScript i nie przejdziemy do czystego C++? Wiecie, maksymalna wydajność i maksymalna możliwość debugowania. Daje nam to wszystkie te korzyści.”

Tim Sweeney, For Tim Sweeney, advancing Epic means racing into AR and VR. Game Developer, 2017-03-01.

Verse edytuj

Verse jest nowym językiem skryptowym dla Unreal Engine, po raz pierwszy zaimplementowanym w grze Fortnite[22]. Simon Peyton Jones, jeden z twórców języka Haskell, dołączył do zespołu inżynierów Epic Games w grudniu 2021 roku i rozpoczął prace nad Verse razem ze swoim kolegą Lennartem Augustssonem i pozostałymi członkami zespołu[23]. Efekt tych badań został oficjalnie zaprezentowany na Haskell eXchange w grudniu 2022 roku jako otwarty język funkcjonalno-logiczny dla metaświata. Równolegle opublikowano także artykuł badawczy zatytułowany „The Verse Calculus: a Core Calculus for Functional Logic Programming”[24].

Język został ostatecznie wprowadzony na rynek w marcu 2023 roku w ramach wydania edytora Unreal Editor for Fortnite (UEFN) na Game Developers Conference. Udostępnienie go dla wszystkich użytkowników Unreal Engine jest planowane na 2025 rok[22].

Gry wykorzystujące Unreal Engine edytuj

Galeria edytuj

Przypisy edytuj

  1. a b c d e UNREAL ENGINE 4.1 RELEASE NOTES, 24 kwietnia 2014 [dostęp 2014-07-05] (ang.).
  2. a b c d e Unreal Engine 4.1 pozwoli tworzyć gry na Xbox One, PlayStation 4 oraz Linuksa, dobreprogramy, 25 kwietnia 2014 [dostęp 2014-07-05] (pol.).
  3. a b c Unreal Engine 4 debiutuje na rynku, Gry-Online, 20 marca 2014 [dostęp 2014-07-05] (pol.).
  4. a b About Unreal Engine 4 [dostęp 2014-07-05] (ang.).
  5. Unreal Engine 4.25 Release Notes, Epic Games [dostęp 2022-03-28] (ang.).
  6. Artykuł A Visual History of 3D Game Engines z serwisu MaximumPC.
  7. Historia języka Unreal.
  8. Nota Tima Sweeneya z dnia 21 lipca 1999.
  9. Informacja z serwisu bigdownload.com.
  10. John Houlihan: Rein: „We’ve been working on Unreal Engine 4 for two years”. Computer and Video Games. [dostęp 2014-04-09].
  11. Dave Tach: Watch Epic’s just-released Unreal Engine 4 in action. polygon.com. [dostęp 2014-03-21].
  12. Unreal Engine 4 darmowy dla wszystkich. GRY-Online.pl, 2015-03-02. [dostęp 2015-07-02]. (pol.).
  13. Frequently Asked Questions. Epic Games. [dostęp 2020-07-25]. (ang.).
  14. Maria Wawrzyniak: Unreal Engine dostępny dla wszystkich do czasu uzyskania miliona dolarów przychodu brutto z gier na bazie technologii. gram.pl, 2020-05-14. [dostęp 2020-07-25].
  15. Unreal Engine 5 zapowiedziany.
  16. Unreal Engine 5.0 Release Notes.
  17. Design goals of UnrealScript. Unreal Engine docs. [dostęp 2023-12-30]. (ang.).
  18. Cliff Bleszinski: History of the Unreal Engine. IGN, 2010-02-23. [zarchiwizowane z tego adresu (2017-07-12)]. (ang.).
  19. David Lightbown: Classic Tools Retrospective: The tools that built Deus Ex, with Chris Norden. Game Developer, 2018-10-23. [dostęp 2023-12-30]. (ang.).
  20. Christian Nutt: Epic's Tim Sweeney lays out the case for Unreal Engine 4. Game Developer, 2014-03-21. [dostęp 2023-12-30]. (ang.).
  21. Nathan Grayson: Fortnite's Jessen Talks Minecraft, PC Gaming, UE4. Rock, Paper, Shotgun, 2012-07-20. [dostęp 2023-12-31]. (ang.).
  22. a b Dive into Epic’s announcements from GDC 2023. Unreal Engine, 2023-03-22. [dostęp 2023-12-31]. (ang.).
  23. Simon Peyton Jones: An Epic future for SPJ. Haskell Community, 2021-11-05. [dostęp 2023-12-31]. (ang.).
  24. The Verse Calculus: a Core Calculus for Functional Logic Programming. PeytonJones.com. [dostęp 2023-12-31]. (ang.).

Linki zewnętrzne edytuj