Яка різниця між "динамічним поколінням" та "процедурним поколінням"?


15

Коли я думаю про динамічно генеровану гру, я думаю про такі речі, як Diablo з випадково генерованими рівнями. Коли я думаю про процедурно створену гру, я думаю про такі речі, як Flappy Bird та інші нескінченні бігуни.

Але обидва вони просто рандомізують рівень. Це так, що процедурно створені ігри постійно генеруються, а динамічно генеруються ігри генеруються вперед? Або ці терміни взаємозамінні?

Яка різниця між динамічно створеною грою та процедурно генерованою грою ?

Відповіді:


21

"Процедурний" означає, що деякий алгоритм зробив вміст. Це протилежне вмісту, створеному людиною вручну.

"Динамічний" означає, що зміст з часом змінюється. Це протистоїть "статичному" контенту, який не змінюється після його створення, або змінюється лише заздалегідь визначеними способами, наприклад, анімація персонажів із ключами.

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

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

Ви також можете змішувати ручний, процедурний, статичний та динамічний вміст різними способами. Наприклад, художник може створити модель будівлі вручну, використовувати інструмент для процедурного генерування різних текстурних карт для моделі, а потім налаштування даних для фізики або ігрових систем для динамічного руйнування будівлі та нерестування статичного сміття під час гри.

Примітка : ці визначення не є формальними . Про ці слова можна назавжди сперечатися з семантикою. Ви, ймовірно, натрапите на людей з різними визначеннями цих слів, і ніхто з нас не обов'язково помилиться. Навіть технологічний жаргон набагато більш текучий, ніж ми, як правило, віддають перевагу типу програмістів. :)


1
"Весь динамічний контент є процедурним" - Що з контентом, створеним з дій інших гравців? Наприклад, у Eve Online є постійно мінливі орбітальні форпости, які повністю створені для гравців.
Молот

1
@Molot: і ось перший приклад мого останнього абзацу. :) Напевно, я справді думав лише про опублікований розробником вміст для цієї відповіді, і, мабуть, ви можете вважати, що створений розробником проти гравця вміст є ще однією віссю, окрім динамічної / статичної чи ручної / процедурної. наприклад, у багатьох іграх гравці можуть будувати структури в будівельному режимі, але тоді карта є статичною для решти гри, тому ви можете мати статичний вміст, створений програвачем. Але знову ж таки, я не надто конкретний щодо термінології. :)
Шон Міддлічч

4

"Динамічні" засоби

"(процесу або системи), що характеризується постійними змінами, активністю або прогресом."

(каже Google.)

Щоб розрізнити ці два терміни, я б сказав, що "динамічне покоління", яке означає "створене саме в часі, на ходу, поки ви граєте" ...

І "процедурне покоління" означає алгоритмічно генерований, або перед, або в ході.


1
Тож протилежна моїй початковій думці?
Еворлор

2
@Evorlor: Я б сказав так. "Процедурний" просто означає, що деякий алгоритм зробив вміст. "Динамічний" означає, що зміст з часом змінюється. Ви можете використовувати код, щоб генерувати щось лише один раз, то було б статичним і не динамічним. Весь динамічний контент є процедурним, але не весь процесуальний контент є динамічним. Ви також можете змішати їх різними способами; наприклад, динамічний рівень, який процедурно наповнює себе статичним вмістом. :)
Шон Міддлічч

@SeanMiddleditch конвертувати, щоб відповісти будь ласка :-)
Evorlor

@Evorlor: зроблено, але я не впевнений, що сказав щось більше, ніж те, що вже зробив Девід ван Брінґ.
Sean Middleditch

@SeanMiddleditch, можливо, ні, але твоє пояснення мені було зрозуміліше. Спасибі!
Еворлор

1

Ось короткий короткий огляд.

  • Динамічне покоління

Слово "динамічний" означає зміну. Слово "покоління" означає створення речей, тому "динамічне покоління" - це зміна покоління. Тому "динамічне покоління" означає вміст, який постійно змінюється.

  • Процедурне покоління

Слово "процедурний" стосується вмісту, створеного за допомогою комп'ютерного алгоритму, а не людини. Як ми встановили, "покоління" означає створення, тому "процедурна генерація" означає зміст, що генерується за допомогою комп'ютерного алгоритму.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.