tgoop.com/gamedesignercompendium/536
Last Update:
Динамічне руйнування в іграх #1
Нове відео від GMTK із аналізом різних підходів до динамічного руйнування в іграх.
Відео (19:07): https://www.youtube.com/watch?v=JZ9GRFD-mSc
Динамічне руйнування в іграх це змагання між тим, що гра може обчислити, і тим, що розробник хоче показати.
Список із 6 основних підходів до руйнування:
1. Підміна моделей (Swap out)
Розробник створює одну і ту ж модель (що може бути зруйнована) в кількох варіаціях: ціла, зруйнована, та проміжні варіанти за необхідності. Коли модель пошкоджена чи зруйнована - гра підміняє цілу модель на зруйновану, а саму підміну маскує за візуальними ефектами пилу, уламків та декалей.
Це мабуть один із найпростіших та найоптимальніших способів, однак варто мати на увазі, що гравці можуть помічати патерни зруйнованих моделей. Приклад: Control.
Додаткова лекція GDC про систему руйнування в Control (30:02): https://gdcvault.com/play/1030643/Destructible-Environments-in-Control-Lessons
2. Розрізання в реальному часі (Real time slicing)
Модель може бути розрізана за допомогою невидимої площини, що її розділяє і за цим розрізом гра ділить одну модель на кілька та утворює для них нові поверхні та колізії. Технологія доволі дорога в оптимізації, отже, зазвичай, використовується для простих форм. Приклади: Rainbow Six Siege та Astrobot
Додаткова лекція GDC про систему руйнування в Rainbow Six Siege (47:51): https://gdcvault.com/play/1023307/The-Art-of-Destruction-in
3. Фізика м’яких тіл (Soft body physics)
Ззовні модель формується вузлами та пружинними зв’язками між ними. Це дозволяє деформувати модель реалістичним чином, зберігаючи зв’язки між елементами та гранями моделі.
Цей підхід виглядає доволі реалістично, однак може погіршувати оптимізацію проекта. Приклад: BeamNG.drive
Додаткове відео із більш детальним поясненням фізики м’яких тіл (10:46): https://www.youtube.com/watch?v=kyQP4t_wOGI
Документація по BeamNG: https://documentation.beamng.com/modding/vehicle/intro_jbeam/
4. Вокселі та тайли (voxels/tiles)
Метод полягає у знищенні чи підміні тайлів. У 2D просторі - це знищення тайлів в Spelunky, в 3D просторі ці тайли стають кубами-вокселями, що можуть бути знищені. Приклади 3D світів із вокселями це, звісно ж, Minecraft та Teardown.
У випадку останнього проекта - об’єкти, що складаються із сотень вокселів - можуть розділятись та створювати нові об’єкти, якщо зв’язок між частинами зруйновано. Потенційними мінусами цього підходу будуть або ж оптимізація, або ж візуальна якість картинки.
Приклади: Spelunky, Noita, Minecraft, Teardown, Astroneer
Додатковий матеріал про те, які складнощі виникали у розробників Astroneer під час роботи із вокселями та їх згладжування: https://www.gamedeveloper.com/design/what-i-astroneer-i-s-devs-learned-while-leaving-early-access
Відео про підхід до згладжування вокселів (6:17): https://www.youtube.com/watch?v=M3iI2l0ltbE
Стрім із розробниками Teardown де вони розповідають про свій ігровий рушій (1:37:32): https://www.youtube.com/watch?v=tZP7vQKqrl8
#gamedesign #level_design #destruction #physics #architecture #building
BY Конспект геймдизайнера [GD compendium]

Share with your friend now:
tgoop.com/gamedesignercompendium/536