/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fdfd3fd425168fdd01187e80721d00988.jpg)
CryEngine та легендарний Far Cry: тропічний рай для геймера та пекло для ПК
Технологічні ігрові рушії завжди були ознакою якості майбутнього ігрового проєкту серед справжніх геймерів. Деякі з них забулись з роками, деякі були прохідними й не заслужили уваги. А ми продовжуємо цикл статей в яких розповідатимемо про легендарні ігрові рушії та графічні технології. Цього разу згадаємо CryEngine, який став синонімом крутої графіки у свій час і став пращуром однойменної серії комп’ютерних ігор від Ubisoft.
Зміст
- 1 Становлення розробників
- 2 Демо X-Isle
- 3 Як CryEngine вийшов у світ
- 4 Особливості рушія CryEngine
- 5 Far Cry — народження легенди
- 6 Графіка, фізична модель та штучний інтелект у Far Cry
- 7 Звук
- 8 Середовища розробки
- 9 Вплив CryEngine на майбутнє
Становлення розробників
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fe603982019cfed5e4c13e82d0b6d7209.png)
Кінець 90-х початок 2000-х був унікальним часом для технологій, адже мегакорпорації ще не встигли прибрати до рук ігрову індустрію. Історію геймдеву творили ентузіасти серед яких — студенти, “гіки” та й просто звичайні поціновувачі комп’ютерного світу. Тому нічого дивного, що німецьку компанію Crytek в 1999 році заснували студенти німецького ВНЗ, турецького походження. Серед них був молодий програміст — Джеват Єрлі та його брати — Авні та Фарук Єрлі.
Як і більшість ентузіастів Джеват збирав німецькі комп’ютерні журнали та виписував звідти код, саме так і вчились програмувати. Його першою грою стала “Trade It” — економічний симулятор.
«Ми просто спочатку намалювали графіку на папері та ввели координати. А потім це був 3D-рендеринг».
Згодом Єрлі подав гру Trade It на конкурс, який він знайшов в одному зі своїх журналів, і через кілька тижнів йому зателефонував редактор. Він сказав, що робота чудова, але вона занадто об’ємна для друку в журналі, навіть якщо вони опублікують подвійний випуск
Пропозиція виявилась ще кращою: юний розробник міг би заробити більше, ніж пропонований приз у 3000 німецьких марок, якщо продасть гру видавцю. Ось так і відкрився цілий новий світ, де ігри — не просто хобі. На секундочку, хлопцю було 12 років.
Далі була робота в німецьких офісах Black Legend Entertainment, британської компанії, яка видавала ігри для Amiga, яка потім збанкрутувала.
Інтернет допомагав знаходити людей зі спільними інтересами. Так він познайомився з професійними графічними програмістами, фізиками, дослідниками, й людьми, які цікавилися створенням ігор. До 1998 року Єрлі зібрав їх під прапором компанії, яку він назвав Crytek. Разом з цими “людьми з інтернету”, він створив три гри й ледь не був відрахований з університету.
Демо X-Isle
В 1999 році троє братів поїхали до Лос-Анжелеса, де збиралися продемонструвати свої ігри, попередньо записані на звичайний компакт-диск. По дорозі їх спіткала низка невдач, тому вони добрались до місця призначення без єдиного цента. Однак, на нервах та впертості все-таки добилися від NVIDIA цілих 15 хвилин, щоб після закриття майданчика E3 Expo 1999 запустити демонстрацію X-Isle.
Зірки зійшлися таким чином, що цей момент побачили журналісти, які опинилися в потрібному місці у потрібний час. Таким чином хлопців попросили, щоб Crytek підготував презентацію для European Computer Trade Show 2000, як демонстрацію можливостей графічного процесора NVIDIA NV16, який використовувався в новітніх відеокартах GeForce 2 Ultra і GeForce 2 MX.
А вже потім вони отримали контракт з NVIDIA на просування X-Isle як програмного забезпечення для бенчмаркінгу з кожною новою відеокартою NVIDIA наступного року. Неймовірний успіх від співпраці з NVIDIA мотивує братів перетворити свою розробку на повноцінний рушій для створення власних ігор й після цього створити 2 гри: “X-Isle” і “Engalus”. Але жодна з них так і не була випущена.
Тепер подивимось, що вийшло у фінальній версії демонстрації — X-Isle: Dinosaur Island. Демо в ті часи було дуже просунутим та вимогливим, тому власників застарілих систем чекав розпач низького FPS.
X-Isle: Dinosaur Island демонстрував революційні функції, як-от бамп-маппінг, відображення, заломлення та високополігональні моделі динозаврів. Наприклад, славнозвісний T-Rex складається з 25 000 полігонів приправлених підтримкою сучасних (на той час) технологій!
В демо можливо встановити 32-бітну глибину кольору, глибину Z-буфера, і вибрати різні режими рендерингу. За замовчуванням воно починається з демо Fly-high realtime movie. Є також інтерактивне освітнє демо, демо бамп-маппінгу, відображень та заломлень.
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F7b7e44df2ce386c5e122efee4e53123a.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F52797f84af63c9198e127576221546eb.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F21f17e4044bee988f0c8e16f9df44a3b.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fc50bb9940ba3ca59565c402b07d50f4a.png)
Bump Mapping використовує двовимірне зображення у градаціях сірого для імітації дрібних деталей на поверхні 3D-моделі. Програмне забезпечення для бамп-маппінгу інтерпретує значення градацій сірого як видиму глибину та висоту, створюючи ілюзію текстури без необхідності додаткової геометрії, що призводить до значно швидшого рендерингу.
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fcb2a0e9b9f8a6ea15c2432d05a8f2f63.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F761cc19cf9397c61734736fff2e569ed.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fb45a97b77337f29a4f1955eed597e8e2.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Fa237b752868c5d549455166c338b1903.png)
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F724cee1e8537a1424edcd0cc132388e6.png)
X-Isle: Dinosaur Island можна було запустити як в режимі відеокарт 5-го покоління GeForce (1,2) так і для просунутих GeForce 6, що підтримували піксельні та вершинні шейдери 3.0. Детальніше про них ви можете прочитати в нашій попередній статті.
Як CryEngine вийшов у світ
У 2002 році Crytek заявила, що нарешті графічний рушій CryEngine готовий до ліцензування. Для розробників пропонувалася фірмова програма — PolyBump. CryEngine став кросплатформним, адже підтримував одночасно OpenGL, DirectX 8 та DirectX 9.
CryEngine з самого початку був оптимізований під великі локації, але й чудово підходив для закритих. При цьому в один ігровий рівень можна було помістити площу до трьох квадратних кілометрів. Якщо ж взяти до прикладу деякі ігрові рушії того часу на кшталт id Tech 4, то вони були краще оптимізовані для закритих приміщень під динамічне освітлення.
Особливості рушія CryEngine
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2Ff1dfe74fcc3e43a406f69f072e5c1a21.jpg)
Коли світ побачили відеокарти з підтримкою піксельних та вершинних шейдерів версії 3.0 (GeForce 6 series (GeForce 6xxx) та ATI починаючи з Radeon X1300), Crytek розробила версію рушія 1.2, яка використовувала деякі можливості шейдерів 3.0 та 2.0b для покращення якості графіки.
Суть нововведень зводилася до того, що на об’єктах зі складним освітленням, особливо при формуванні рельєфних зображень, за старою версією 1.1 (або 1.0), освітлення розраховувалося в декілька проходів. Це витрачало дорогоцінні ресурси старих прискорювачів. Використання шейдерів 2.0b і 3.0 об’єднало всі ці складні розрахунки в одному дуже довгому шейдері нового покоління.
Загалом шейдери дозволяли використовувати кілька візуальних ефектів, а саме попіксельне освітлення, вибоїсті відбиття, заломлення, анімовані текстури, прозорі комп’ютерні дисплеї, кульові отвори тощо. Так само, завдяки шейдерам реалізований туман, що був реалістичнішим у порівнянні з іншими рушіями, що існували на той час.
CryEngine впровадив метод створення текстур, який застосовує реальні полігони для досягнення об’ємного ефекту, на відміну від карт нормалей, які використовуються в bump mapping. Вона дозволяла створювати деталізованіші та реалістичніші зображення, особливо у поєднанні з технологією самозатінення.
PolyBump могла зменшити загальну кількість полігонів у тривимірній графіці, зберігаючи при цьому високу якість зображення. Завдяки зменшенню кількості полігонів, вона дозволяла виводити на екран більше об’єктів, не перевантажуючи систему. Але з іншої сторони використання реальних полігонів призводило до того, що гра на двигуні CryEngine ставала дуже процесорозалежною.
Згодом Crytek додали підтримку DXTC5 для відеокарт nVidia та 3Dc для відеокарт ATI, а також HDR.
Ще однією цікавою технологією, яку підтримував CryEngine стала Geometry Instancing. Вона суттєво економила ресурси. Раніше при використанні стандартного підходу до рендерингу сцени та всіх її об’єктів за один виклик Direct3D формувався лише один об’єкт (по вершинах, освітленості тощо).
До Geometry Instancing (GI) далекі однакові об’єкти можна було рендерити як спрайти, тобто 2D текстури. Однак при наближенні до таких двомірних об’єктів та зміні погляду спостерігача їх двомірність впадала в очі й псувала загальне враження.
Geometry Instancing за один виклик Direct3D рендерила геометрію всіх однакових подібних об’єктів. Це суттєво заощаджувало ресурси системи та підвищувало реалістичність сцени. Першими відеокартами, які підтримували апаратний GI, стали nVidia GeForce 6800 (NV40) та ATI Radeon 9500 (R300). Microsoft вперше додала цю технологію у Direct3D 9.
Far Cry — народження легенди
Зараз важко зустріти гравця, який би не чув про легендарну серію ігор від Ubisoft. Але під назвою Far Cry ховається божевільна пригодницька солянка з шутерів від першої особи. З ким тільки не воювали фанати серії та чого ми тільки не бачили: починаючи від африканських просторів, божевільного Вааса Монтенегро, жорстокого диктатора, сектантів округа Хоуп і закінчуючи Far Cry: Primal, де ми взагалі потрапили у первісні часи.
За нашаруванням непов’язаних між собою подій молоде покоління напевно і не знає, що перший Far Cry був інакший, в першу чергу сюжетом. До того ж гра обігнала свій час на декілька років, вперше запропонувавши умовно відкритий світ і довгий список графічних інновацій. Прогрес тоді йшов так швидко, що гру дуже швидко наздогнали конкуренти.
Системні вимоги свій час виглядали серйозними. Деякі старожили можуть розповідати байки, як вони без проблем грали у Far Cry на своєму Pentium III та Radeon 9500 ледь не в 60 к/с. Крізь призму років забувається, що навіть 15 FPS вже виглядало непогано.
Велику роль грала роздільна здатність. Якщо при 1024 х 768 пікселів на GeForce 6600 фреймрейт бути прийнятним, то вже при 1280 х 1024 ситуація суттєво змінювалась. В той час користувачі якраз переходили на “пласкі” монітори зі своїх CRT.
Графіка, фізична модель та штучний інтелект у Far Cry
Після ефектного (як на свій час) вступного інтро головний персонаж, він же хлопець у червоній гавайській сорочці, опиняється викинутим у незрозумілому місці. Блукаючи напівзатопленими коридорами вже можна було оцінити, що перед нами технологічно дуже непроста гра. Але насправді це стає розуміло, коли нарешті вибираємося на відкритий простір.
Сказати, що ефект був неймовірним — нічого не сказати. Навколо нас були безкрайні тропічні простори з густою рослинністю, яка рухалась, відблискувала і виглядала як справжня. В такому місці хотілось не грати, а жити.
CryEngine чудово працював з освітленням та тінями, комбінуючи попередньо розраховані тіні у реальному часі, суміщаючи їх з трафаретними тінями та картами освітлення для створення динамічного середовища. Він підтримував реалізацію високої роздільної здатності, правильної перспективи та об’ємних “плавних” тіней.
Тому освітлення виглядало гармонійно не тільки на відкритих місцевостях, але й в приміщенні. Дуже великий вклад у графічну красу внесла технологія об’ємних світлових ефектів.
Оцінивши ситуацію, кмітливі гравці одразу помічали діжки, які так і просилися, щоб в них вистрілити. І тут чекало друге здивування — після ефектного вибуху об’єкти реалістично розліталися, а підірваний найманець плаває на поверхні води, викидаючи свої залишки еритроцитів у відкритий океан. Лише через пів року вийде Half-Life 2, яка задасть нову планку у фізичних ефектах.
Фізична система не використовувала сторонніх рушіїв на кшталт HAVOK, SDK якого представлено ще у 2000-му році. Натомість рушій чудово підтримував взаємодію з твердими тілами, рідинами й транспортними засобами, які з’являлися у по ходу сценарію. Крім того, рушій успішно імітував ефекти тканин та м’яких тіл.
Завдяки фізиці вибухів механіка гри набувала додаткового драйву. Адже що може бути краще для хлопчака того часу, ніж відчути себе справжнім Шварценеггером, який підриває безпринципних найманців, як у фільмі “Командос”.
Попри те, що суперники кидали в героя не тільки гранати, а ще й влучне слівце, система штучного інтелекту була недосконалою. Складалося враження, що у ворогів є два режими. Перший був доступним мідноголовим найманцям, які пересувалися без будь-якого тактичного хисту, заміняючи правильні дії шумом та хаотичною біготнею. Монстри так взагалі діяли за принципом: біжи по прямій і бий.
За колективну поведінку відповідали скрипти написані окремою мовою — LUA, тому не було потреби чіпати зайвий раз С++. Скрипти написані на LUA, не потребували компіляції, тому їх можна було переписати самому та без проблем інтегрувати у гру.
У Far Cry вже на той час був свій мережевий режим. Гра використовувала систему клієнт-сервер, яка забезпечувала не тільки мінімальну кількість “пінгових втрат”, а й хорошу швидкість. Це дозволяло пограти як в локальній мережі, так і в інтернеті.
Звук
В плані аудіоможливостей гра пропонувала доволі непогану підбірку, але нічого особливого з погляду поціновувача епічних саундтреків там не було. Зате інтерактивна динамічна музична система відстежувала та реагувала на дії й ситуації гравця, а також відтворювала звуки у високій якості з повним об’ємним звуком 5.1.
Звукозапис навколишнього середовища та механізм SFS Engine точно відтворювали звуки природи з безперешкодним поєднанням звуків навколишнього середовища та інтер’єру в аудіоформаті 5.1. До того ж гра підтримувала EAX 2.0.
Середовища розробки
У 2004 році Crytek офіційно випустила CryEngine MOD SDK. Цей комплект засобів розробки містив у собі набір інструментів для рушія CryEngine, а також редактор рівнів CryENGINE Sandbox.
Досить цікавим був факт, що розробники навіть врахували можливість інтегрувати у редактор будівлі та об’єкти з 3ds max або Maya.
Вплив CryEngine на майбутнє
Загалом рушій подарував нам не тільки Far Cry з безліччю доповнень, а ще й MMORPG “Aion: The Tower of Eternity”. У 2009 році в Азії у неї було 3,5 мільйони підписників. Розробники з NCSoft придбали для своєї ММО саме CryEngine, хоча й серйозно змінили його під свої потреби, оптимізувавши до специфіки багатокористувацьких онлайн ігор.
На момент розробки вже був доступний CryEngine 2, але ступінь напрацювань була настільки великою, що кидати все й міняти рушій було недоречно. Попри чисельні зміни розробники додатково впровадили підтримку у рушій актуальних тоді технологій — SLI та CrossFire, які дозволяли робити тандем з двох відеокарт одночасно й використовувати їхню продуктивність під оптимізовані ігри.
Після того як у 2006 році Ubisoft отримала усі права на CryEngine та Far Cry, вона продовжила розвиток рушія під XBOX, XBOX360 та Nintendo Wii. Вже потім з’явилися зовсім інші покоління CryEngine, змінювалося ліцензування, але це зовсім інша історія.
У 2008 році надихаючись грою сам “майстер трешу” — Уве Болл зняв повнометражний фільм “Far Cry”. Результат був передбачуваний.
З появою сучасних гарнітур віртуальної реальності на кшталт Meta Quest 3, Far Cry успішно перенесли у 2023 році на VR платфому. За це окрема дяка німецькому програмісту Фрідріху Хольгеру. Тому якщо ваша вестибулярна система міцна, як горішок Брюса Вілліса, раджу вам ще раз зануритися у легендарний тропічний рай, з якого починала свою історію легендарна серія Far Cry.

