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 вправ, які охоплюють поняття з розробки ігор, словниковий запас рушія і концепції багатокористувацьких ігор.
Досліджуйте повний ** Шлях до навчання розробника ігор ** для вправ, підготовки до інтерв’ ю і практики сценаріїв.