Ізометрична графіка у відеоіграх — графіка, що використовується у відеоіграх і піксельній графіці і відноситься до того чи іншого виду паралельної проєкції, але змінює кут огляду створюючи тривимірний простір, що робить видимими деталі оточення, які інакше не було б видно з перспективи зверху вниз або збоку. Незважаючи на назву, ізометрична комп’ютерна графіка не обов’язково є повністю ізометричною, тобто кути між проєкцією осей X, Y та Z не обов’язково становлять 120°. Замість цього використовуються довільні кути, серед яких диметрична проєкція та співвідношення 2:1 пікселів є найпоширенішими. Терміни 2.5D і псевдо-3D також використовуються, хоча ці терміни можуть мати дещо інші значення в інших контекстах.
Ізометрична проєкція стала менш поширеною з появою більш потужних систем 3D-графіки, однак відеоігри з використанням ізометричної проєкції, особливо рольового жанру, відродилися останніми роками на сцені інді-ігор.[1][2][3]
Крім того, хоча це не обмежується суто ізометричною графікою, пре-рендерена2D-графіка може мати вищу точність і використовувати більш просунуті графічні техніки, ніж це можливо на загальнодоступному комп’ютерному обладнанні, навіть із апаратним прискоренням 3D.[5] Подібно до сучасних CGI, які використовуються у кінофільмах, один раз пре-рендерену на суперкомп’ютері або рендер-фермі графіку, можна потім відтворити багато разів на менш потужному апаратному забезпеченні телевізорів, планшетів та смартфонів. Це означає, що статична пре-рендерена ізометрична графіка часто виглядає краще її сучасних відтворених в реальному часі аналогів.[2]
Використання ізометричної або псевдо-ізометричної перспективи у відеоіграх має переваги і в самому ігровому процесі. Наприклад, у порівнянні з іграми, у перспективі зверху вниз, вони додають третій вимір, відкриваючи нові можливості для взаємодії з ігровим середовищем, що стало однією з ключових особливостей жанру платформерів. По-друге, порівняно з відеоіграми у перспективі від першої чи третьої особи, ізометрична перспектива дозволяє легше контролювати велику кількість ігрових об'єктів, наприклад партію персонажів у рольовому жанрі або мільйонну армію у стратегіях в реальному часі. У наш час відродження ізометричної проєкції є не лише джерелом ностальгії, а і результатом реальних, відчутних переваг ігрового дизайну.[1]
Недоліки
Деякі недоліки пре-рендереної ізометричної графіки полягають у тому, що, оскільки роздільна здатність дисплея та співвідношення сторін дисплея продовжують розвиватися, статичні 2D-зображення потребують відповідного ре-рендерингу, щоб уникнути ефектів пікселізації. Ре-рендеринг гри не завжди є можливою опцією. Наприклад, у 2012 році, коли Beamdog працювали над ремейкомBaldur's Gate (1998) від студії BioWare. Beamdog не мали доступу до оригінальних художніх ресурсів використаних у розробці, що були втрачені під час повені,[6] тож студія не мала іншого вибору ніж просте масштабування 2D-графіки зі згладжуванням без повторного відтворення спрайтів гри. Результатом стала певна «нечіткість» або «змазаність» зображень порівняно з графікою оригінальної гри.
Відмінності від «справжньої» ізометричної проєкції
Проєкція, яка зазвичай використовується у відеоіграх, дещо відхиляється від «справжньої» ізометричної через обмеження растрової графіки. Лінії в напрямках координат X і Y не будуть слідувати чіткому піксельному візерунку, якщо їх намалювати під необхідними горизонтальними 30°. У той час як сучасні технології можуть усунути цю проблему за допомогою згладжування, комп’ютерна графіка минулих років не підтримувала достатню кількість кольорів або не мала необхідних потужностей ЦП для досягнення задовільних результатів. Натомість для малювання ліній осей X і Y використовується співвідношення 2:1 пікселів, у результаті чого ці осі зображуються під кутом ≈26,565° (arctan(sin(30°))) по горизонталі. Ігрові системи, які використовують пікселі не квадратної форми, можуть, однак, давати різні кути, включаючи «справжні» ізометричні. Тому цю форму проєкції точніше описувати як різновид диметричної проекції, оскільки лише два з трьох кутів між осями рівні між собою, тобто (≈116,565°, ≈116,565°, ≈126,870°).
Історія ізометричних відеоігор
Хоча історія відеоігор бачила кілька тривимірних ігор ще в 1970-х роках, першими відеоіграми, які використовували чіткий візуальний стиль ізометричної проєкції в описаному вище значенні, були аркадні ігри на початку 1980-х років.
1980-ті
Використання ізометричної графіки у відеоіграх почалося з появою аркадної гри Treasure Island компанії Data East на DECO Cassette System,[7] випущеної в Японії у вересні 1981 року,[8] але вона не була випущена на міжнародному рівні до червня 1982 року.[9] Першою ізометричною грою міжнародного рівня стала Zaxxon від Sega, яка була випущена в Японії в грудні 1981 року,[10] а на міжнародному рівні — у квітні 1982 року і зрештую набула значної популярності.[11]Zaxxon — це ізометричний шутер, де гравець керує космічним літаком через скролінгові рівні. Це також одна з перших відеоігор, яка відображає тіні у ігровому світі.[12]
Іншою ранньою ізометричною грою є Q*bert.[13] Розробники Уоррен Девіс і Джефф Лі почали роботу над програмуванням концепції приблизно в квітні 1982 року, виробництво гри почалося влітку, а випущено її було в жовтні або листопаді 1982 року. Q*bert показує статичну піраміду в ізометричній перспективі, де гравець керує персонажем, який може стрибати по піраміді.[12]
У лютому 1983 року було випущено ізометричну платформенну аркаду Congo Bongo,[9] яка працювала на тому ж апаратному забезпеченні, що й Zaxxon.[14] Гра дозволяла персонажу гравця проходити ізометричні рівні без скролінгу, включаючи лазіння по тривимірним об'єктам та падіння з них. Схожі можливості були доступні в аркаді Marble Madness, випущеній в 1984 році.
У 1983 році ізометричні ігри перестали бути ексклюзивними для аркадного ринку і нарешті потрапили на домашні комп’ютери із випуском Blue Max для сімейства 8-розрядних комп'ютерів компанії Atari та Ant Attack для ZX Spectrum. У Ant Attack гравець міг вільно рухатися у будь-якому напрямку скролінгової гри, а не тільки по зафіксованому на одній осі, як у Zaxxon. Положення ігрової камери також можна було змінювати на 90 градусів.[15] Журнал Crash, нагородив Ant Attack у категорії графіки за цю нову техніку, яка невдовзі стала відома як «Soft Solid 3-D».[16]
Через рік на ZX Spectrum вийшла Knight Lore, яка загалом вважається революційною грою,[17] що визначила подальший шлях жанру ізометричних пригодницьких ігор.[18] Слідом за Knight Lore на домашніх комп’ютерах з’явилося багато ізометричних ігор – до такої міри, що в певний момент Knight Lore вважалася другою у світі за кількістю створених на її основі програм-клонів, згідно досліжденню Яна Крікке.[19] Іншими прикладами відомих ізометричних ігор були Highway Encounter (1985), Batman (1986), Head Over Heels (1987) і La Abadía del Crimen (1987).[20] Однак ізометрична перспектива не обмежувалася аркадними пригодницькими іграми, наприклад, основою ігрової механіки стратегії Populous (1989) також стала ізометрична перспектива.
Телевізор, відображений у практично ідеальній ізометрії масштабом 2:1 пікселя
3D-рендеринг, відеогри Fallout, що використовує триметричну проєкцію та гексагональну сітку
Крім того, у 1990-х роках ізометричну графіку почали використовувати для японських рольових відеоігор (JRPG) на консолях, зокрема в тактичних рольових іграх, багато з яких використовують ізометричну графіку й сьогодні. Приклади включають Front Mission (1995), Tactics Ogre (1995) і Final Fantasy Tactics (1997) — остання з яких використовувала 3D-графіку для створення ігрового простору, де гравець міг вільно обертати камеру. А такі ігри як Vandal Hearts (1996) і Breath of Fire III (1997), ретельно імітували ізометричний вид, але насправді використовували перспективну проєкцію.
Infinity Engine
2D (ліворуч) і 3D (праворуч) координати типового диметричного спрайту відеоігри
Термін «ізометрична перспектива» часто неправильно застосовують до будь-якої гри з — як правило, фіксованим — кутовим видом зверху, який спочатку здається «ізометричним». До них належать вищезгадані відеоігри з диметричною проєкцією; ігри, які використовують триметричну проєкцію, такі як Fallout (1997) і SimCity 4 (2003); ігри, які використовують косокутну проєкцію, такі як Ultima Online (1997) і Divine Divinity (2002);[22] та ігри, які використовують комбінацію перспективної проєкції та виду з висоти пташиного польоту, такі як Silent Storm (2003), Torchlight (2009)[23] і Divinity: Original Sin (2014).[24]
Крім того, не всі «ізометричні» відеоігри покладаються виключно на пре-рендерені 2D спрайти. Існують, наприклад, ігри, які повністю використовують полігональну 3D-графіку, але відтворюють свою графіку за допомогою паралельну замість перспективної проєкції, як-от Syndicate Wars (1996), Dungeon Keeper (1997) і Depths of Peril (2007); ігри, які використовують комбінацію пре-рендерених 2D-фонів і відтворюваних у реальному часі 3D-моделей персонажів, наприклад The Temple of Elemental Evil (2003) і Torment: Tides of Numenera (2017); а також ігри, які поєднують відтворені в реальному часі 3D-фони з намальованими вручну 2D-спрайтами персонажів, наприклад Final Fantasy Tactics (1997) і Disgaea: Hour of Darkness (2003).
Узгодження віртуальних координат з фактичними
Однією з найпоширеніших проблем у програмуванні ігор, які використовують ізометричні (або, краще сказати, диметричні) проєкції, є узгодження координат на 2d площині екрана з їх фактичним розташуванням в ізометричному просторі. Типовим прикладом є вибір тайлу, який знаходиться прямо під курсором, коли користувач натискає клавішу миші. Одним із таких методів є використання матриць повороту, які спочатку створювали ізометричний вигляд у зворотному напрямку, щоб перетворити точку в екранних координатах на точку, яка лежала б на поверхні умовної ігрової дошки до її обертання. Тоді координати X і Y у ізометричному просторі можна визначити шляхом ділення на ширину та висоту тайлу.
Інший спосіб, який вимагає менших обчислень і може мати хороші результати, при використанні його для кожного кадру, базується на припущенні уявної квадратної дошки, яку було повернуто на 45°, а потім стиснуто до половини початкової висоти. Віртуальна сітка накладається на проєкцію, як показано на діаграмі, з віртуальним-X і віртуальним-Y. Вибір будь-якого тайлу на центральній осі дошки, де (X, Y) = (Ширина тайлу / 2, Y), створить однакове значення тайлу для фактичного-X і фактичного-Y, яке в даному прикладі дорівнює 3. Вибір тайлу віртуальної сітки, який знаходиться на одну позицію праворуч центральної лінії, фактично пересуває на один тайл менше у фактичному-Y і на один тайл більше у фактичному-X. Це формула, яка обчислює координату y тайла в ізометричному просторі, віднімаючи від віртуального-Y різницю між віртуальним-X центральної лінії і віртуальним-X тайла, що шукається.
floatvirtualTileX=screenx/virtualTileWidth;floatvirtualTileY=screeny/virtualTileHeight;// деякі системи відображення мають початок у нижньому лівому куті, тоді як тайлова карта вгорі ліворуч, тому нам потрібно змінити YfloatinverseTileY=numberOfTilesInY-virtualTileY;floatisoTileX=inverseTileY+(virtualTileX-numberOfTilesInX/2);floatisoTileY=inverseTileY-(virtualTileX-numberOfTilesInY/2);
Спочатку цей метод може здатися неінтуїтивним, оскільки беруться координати віртуальної сітки, а не вихідного ізометричного світу, і між віртуальними тайлами та ізометричними тайлами немає однозначної відповідності. Тайл на сітці міститиме більше ніж один ізометричний тайл, і залежно від того, де він буде вибраний, відображатиметься в різних координатах. Ключовим у цьому методі є те, що віртуальні координати є плаваючими, а не сталими числами. Значення віртуальних X і Y можуть бути (3.5, 3.5), що означає центр третього тайлу. На діаграмі ліворуч це 3-й тайл по осі Y. Коли віртуальні X і Y = 4, фактичний-X також буде 4.
↑Примітка: сині вектори вказують на положення камери. Червоні дуги представляють обертання навколо горизонтальної та вертикальної осей. Зверніть увагу, як на лівому зображенні вектор камери проходить через дві протилежні вершини куба.
↑Ultimate Play the Game – Company Lookback. Retro Micro Games Action – The Best of gamesTM Retro Volume 1. Highbury Entertainment. 2006. {{cite web}}: Пропущений або порожній |url= (довідка)
↑J. Krikke (July–August 2000). Axonometry: a matter of perspective. Computer Graphics and Applications. doi:10.1109/38.851742. Knight Lore was said to be the second most cloned piece of software after the word- processing program Word Star.{{cite web}}: Пропущений або порожній |url= (довідка)