Game Development English Vocabulary: 80 Essential Terms

Повний словник з розробки ігор: game loop, ECS, shaders, netcode, терміни з розробки ігор, а також специфічна англійська для розробників ігор з прикладами.

Розробка ігор має один з найбільш спеціалізованих англійських словників в інженерії програмного забезпечення - змішування комп’ютерної графіки, фізичного моделювання, мережевого програмування, теорії дизайну ігор і комунікації спільноти. Незалежно від того, читаєте ви документацію з Unreal, пишете замітки щодо латку або презентуєте демо- версію спринту, цей посібник містить 80 термінів, які вам знадобляться.


Архітектура ігрового процесу

Ігровий цикл

** Game Loop ** це центральний цикл, який керує кожною грою. На кожній ітерації (кадрі) він обробляє вхідні дані, оновлює стан гри і відтворює сцену. Типова петля виконується 30-144 разів на секунду.

«Ворожий ШІ занадто дорогий — він сповільнює ігрову петлю і викликає падіння кадрів»

Частота кадрів / FPS (кадрів на секунду)

** КПД ** — кількість кадрів, які відтворює гра за секунду. 30 кпд прийнятно для багатьох ігор; 60 кпд — плавне відтворення; 120+ кпд — найкраще. Частота кадрів обмежена продуктивністю ЦП/ГП і складністю циклу гри.

Дельта-час

** Delta time ** ( deltaTime ) — час, що пройшов з моменту останнього кадру. Рух і фізичні обчислення використовують дельта-час, щоб залишатися незалежними від частоти кадрів — об’єкти рухаються з тією ж швидкістю незалежно від FPS.

Ми множим швидкість руху на deltaTime, тому персонаж не рухається швидше на 144 fps

Tick

** позначка ** — це один цикл імітації гри. У іграх з декількома гравцями ** частота оновлення ** визначає, як часто сервер оновлює стан гри. Вищий рівень частоти покращує точність за рахунок пропускної здатності.

Engine

** Рушій гри ** — це фреймворк, що забезпечує основні системи: відтворення, фізику, звук, введення, скриптове програмування і керування активами. Основні рушії: Unity (C#), Unreal Engine (C++ / Blueprint), Godot (GDScript / C#), GameMaker (GML).


Об’єкти та системи

Система управління компонентами (англ. component management system, EMS)

** ECS ** є архітектурним шаблоном, де:

  • ** Entity ** — унікальний ідентифікатор (без даних або логіки)
  • Component — чисті дані, приєднані до сутності (наприклад, Position, Health, Renderer )
  • ** Система ** — логіка, яка обробляє сутності з певними компонентами

ECS сприяє композиції над успадкуванням і покращує продуктивність, орієнтовану на дані.

Prefab

** prefab ** — це шаблон для об’ єкта гри, який можна використовувати багаторазово — у ньому зберігається налаштування компонентів, які можна створювати декілька разів. Зміна попереднього файла оновлює всі екземпляри.

«Ми маємо готовий для кожного типу ворога — спаруй десять орків, створюючи OrcPrefab десять разів»

Scene

** Сцена ** (або рівень) — це контейнер для всіх об’ єктів гри, світла, камер і налаштувань у певній області або стані гри.

Script

У Unity і Godot ** скрипт ** є компонентом, що містить логіку — відповідає на події, керує поведінкою, спілкується з іншими компонентами.


Rendering

Shader

** Shader ** — це невелика програма, яку виконують на графічному процесорі і яка визначає вигляд поверхонь — колір, відбиття, прозорість і спеціальні ефекти. Типи:

  • ** Вершинний тенер ** — перетворює 3D- позиції на 2D- координати екрана
  • ** Фрагмент (піксель) тенер ** — визначає колір кожного пікселю
  • ** Compute shader ** — загальнонаправлені обчислення GPU

«Ефект води використовує нетиповий вертикальний шейдер для імітації хвильового переміщення»

Material

** матеріал ** визначає вигляд поверхні — він посилається на цей графічний елемент, а також призначає текстури і параметри (колір, металічність, жорсткість).

Texture

** Текстура ** — це зображення, яке відображено на поверхні тривимірної сітки. Поширені типи: дифузне (колір), звичайне (детальність поверхні), шероховатість, випромінювання.

Звичайна карта

** Нормальна карта ** — це текстура, яка кодує зміни напрямку поверхні, створюючи ілюзію дрібних деталей поверхні без додавання багатокутників.

Рівень деталізації (LOD)

** LOD ** — це метод, за допомогою якого для об’ єктів, що знаходяться поруч з камерою, використовуються сітки з більшою кількістю деталей, а для віддалених об’ єктів — простіші сітки. Зменшує навантаження відтворення.

Накреслити виклик

** draw call ** — це команда, надіслана з ЦП до ГП для відтворення сітки. Занадто багато викликів набір на кадр є головним в’ язком швидкодії. Пакетування і інстанційування зменшують виклики зображення.

Легка піч

** Light baking ** передобчислює статичне освітлення і зберігає його у світлових картах — значно дешевше, ніж освітлення у реальному часі для статичного середовища.

Постпроцесування

** Післяобробка** — це набір ефектів екранного простору, які застосовуються після відтворення тривимірної сцени: розквіт, оклюзія навколишнього простору, розмивання руху, градація кольорів, глибина поля зору.


Physics

Тіло жорстке

** жорстке тіло ** — це фізичний об’ єкт, який імітує масу, гравітацію, сили і зіткнення без деформації. Стандарт для персонажів, транспортних засобів і снарядів.

Collider

** Колідер ** — це невидима форма, приєднана до об’ єкта гри, яка визначає його фізичну межу для виявлення зіткнень. Поширені форми: коробка, сфера, капсула, сітка.

Raycasting

** Промінь- скидання ** — це скидання невидимих променів з точки у напрямку, щоб виявити, що вони вдарили. Використовується для механіки стрільби, перевірки видимості і виявлення поверхні.

«Зброя стріляє промінь з позиції камери — якщо він вдарить ворожий колайдер, ми завдаємо шкоди»

Фізичне моделювання

** Фізичне моделювання ** це обчислення руху, гравітації, тертя і зіткнень у кожному кадрі. Обчислювально дорогі — фізичні об’єкти зберігаються до необхідного мінімуму.


Multiplayer & Networking (англійською)

Netcode

** Netcode ** — це загальний термін для коду мережі у грі для декількох гравців — синхронізація стану гри між клієнтами і сервером.

Прогнозування сторони клієнта

** Прогнозування на стороні клієнта ** надає змогу локальному клієнту негайно застосовувати введення гравця (без очікування підтвердження сервера) для зменшення сприйнятої затримки. Пізніше сервер прирівнює авторитетний стан.

Без прогнозування з боку клієнта, input lag при 150ms ping відчувається неграбельним

Закон про компенсацію

Компенсація затримки дозволяє серверу перемотувати стан гри під час перевірки влучання, враховуючи затримку клієнта. Увімкнути реєстрацію справедливих ударів у швидких шутерах.

Визначений сервер / Слухати сервер

** Виділений сервер ** виконує логіку гри незалежно від гравця. ** Сервер слухання ** розміщено на комп’ ютері одного гравця, і цей гравець також грає. Виділені сервери забезпечують кращу продуктивність і захист від шахрайства.

Авторитетний сервер

** Авторитетний сервер ** є єдиним джерелом правди для стану гри. Клієнти надсилають вхідні дані; сервер перевіряє і імітує результат. Захищає від шахрайства.

П2П (peer-to-peer)

У мережі P2P клієнти спілкуються безпосередньо один з одним — без центрального сервера. Поширений в бойових іграх (з використанням rollback netcode). Дешевше управлять, но более подвержен обману.

Відновлення мережевого коду

** Netcode з відновленням ** передбачає введення супротивника локально, відтворює кадри спекулятивно, а також відновлює і імітує, якщо передбачення було неправильним. Стандарт у конкурентних бойових іграх. Значно зменшує сприйняту затримку.


Дизайнерський словник

Game Design Document (англійською)

GDD є головним документом дизайну, який описує механіку гри, системи, персонажів, історію, напрямок мистецтва і технічні вимоги.

Вертикальний розріз

** вертикальний шматочок ** це відшліфована, гральна демо- версія, яка представляє повний досвід гри у невеликому масштабі — використовується для перевірки дизайну, просування до видавців або забезпечення фінансування.

Основна лінія

** Core loop ** це фундаментальний цикл дій, що повторюється протягом гри: * грати → винагорода → підвищення → грати знову *. Добре спроектована основна петля стимулює залучення і утримання.

Metagame

** метагра ** (мета) є рівнем стратегії над основною грою — будівництво колоди, оптимізація вантажу, вибір складу. У конкурентних іграх, «мета» відноситься до поточних домінуючих стратегій.

Економіка (англ. Economy)

** Внутрішня економіка ** регулює те, як гравці заробляють і витрачають віртуальну валюту і ресурси. Баланс є критичним — інфляція (надто багато валюти) або дефляція руйнує мотивацію гравця.

Коробка з трофеями

Loot Box — це випадкова нагорода, яку можна отримати за допомогою гри або покупки. Спорна через порівняння з механікою азартних ігор. Регулятивний контроль варіюється в різних країнах.

Бойовий пропуск

** Battle Pass ** - це система сезонних нагород. Гравці розблоковують косметику, завершуючи виклики або накопичуючи XP. Модель, популяризована Fortnite.

Після смерті

Game post-mortem це ретроспективна стаття або презентація, яка відображає те, що було добре і що було погано під час розробки. Опубліковано розробниками після виходу.


Професійна підготовка та перепідготовка

Profiler

** Профільатор ** — це інструмент, який вимірює, на що витрачається час і пам’ ять у кожному кадрі. Unity і Unreal мають вбудовані профілі.

Hotspot

** Hotspot ** (або вузьке місце) є частиною коду, що витрачає непропорційно багато часу. Профілювання визначає гарячі точки, тому оптимізація є добре спрямована.

Сміттєзвалище (укр.)

** Збирання сміття ** — це автоматичне відновлення пам’ яті. У мовах з керуванням (C#, GDScript) часті паузи GC спричиняють ** GC spikes ** — затримки частоти кадрів. Об’ єднання об’ єктів зменшує тиск GC.

Об’єднання об’єктів

** Об’ єднання об’ єктів ** передвизначає набір об’ єктів (наприклад, кулі, частинки) і використовує їх замість створення і знищення об’ єктів кожного кадру — виключає надмірну роботу з GC.

Профільування збирання / випуск збирання

** Профіляційна збірка ** містить символи зневадження і телеметричні дані. Збірка випуску оптимізована для швидкодії. Завжди створювати профілі у налаштуваннях, схожих на випуск, щоб отримати точні значення.


Audio

Аудіо- та відеозапис

** AudioMixer ** (або шина) маршрутизує звукові сигнали за допомогою спільного каналу, де ефекти і керування гучністю можна застосовувати глобально — для музики, SFX і голосу окремо.

3D-аудіо- та відео-програми

** Просторове аудіо ** імітує напрямок і відстань звуків на основі розташування і орієнтації слухача у тривимірному світі.

Процедурне аудіо

** Процедурне аудіо ** генерує звук динамічно на основі стану гри (наприклад, звук кроку змінюється залежно від матеріалу поверхні), замість відтворення фіксованих записів.


Випуск і розповсюдження

Пам’ятні знаки

Замітки щодо заплатки — це офіційна документація щодо змін у оновленні гри. Структура: номер версії, дата, розділи для нових / змінених / виправлених / відомих проблем.

SKU (Stock Keeping Unit) — SKU (об’єкт зберігання запасів)

SKU в ігрових іграх відноситься до певної версії гри: стандартна версія, версія deluxe, версія Game Pass тощо.

Золотий/Золотий майстер

Золотий статус означає, що гра завершена і схвалена для виробництва/розповсюдження. Остаточна схвалена збірка — це ** gold master **.

Ранній доступ

Early Access (Steam) або Game Preview (Xbox) дозволяє розробникам продавати незавершені ігри і використовувати відгуки гравців для продовження розробки.

Live Service / GaaS (ігри як послуга)

** Live service game ** продовжує генерувати контент і прибуток після запуску через оновлення, сезони і покупки в додатку. Вимагає постійної операційної підтримки (GaaS — Games as a Service).


Корисні фрази

В обзорах дизайна:

    • “Центральний цикл надає задоволення — збирати, покращувати, битися — але крок покращення потребує більше тертя, щоб збільшити час між циклами.” *
  • “Басейн здоров’ я боса занадто високий — гравці втрачають відчуття прогресу.”

В пост-мортальных:

  • “Обсяг системи генерації процедурного рівня був недооцінений — це спричинило три місяці затримок.”
  • “Що пройшло добре: команда аніматорів прибула раніше запланованого. Що не зробив: netcode був інтегрований занадто пізно, щоб правильно перевірити. ”

** У замітках до заплатки: **

  • “Виявлено аварію, яка траплялася під час завантаження екрана інвентаря на апаратному забезпеченні низької якості.”
  • “Відрегулювати таймер відновлення з 5с до 3с на основі відгуків спільноти.”

Practice

Перевірте ваші знання з розробки ігор за допомогою ** Набір вправ з розробки ігор. Name ** — 5 вправ, які охоплюють поняття з розробки ігор, словниковий запас рушія і концепції багатокористувацьких ігор.

Досліджуйте повний ** Шлях до навчання розробника ігор ** для вправ, підготовки до інтерв’ ю і практики сценаріїв.

Поширені запитання

Про що ця стаття "Game Development English Vocabulary: 80 Essential Terms"?

Повний словник з розробки ігор: game loop, ECS, shaders, netcode, терміни з розробки ігор, а також специфічна англійська для розробників ігор з прикладами.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Game Development English Vocabulary: 80 Essential Terms"?

Приблизно 14 min.