Як я можу забезпечити справедливість процедурних рівнів у RTS?


10

Я бачив, що симетричність і узгодженість важливі в дизайні рівня РТС, але я лінивий і хочу робити рівні, створені процедурою.

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


4
Поступово він заглиблюється з віком, але я б рекомендував шукати інформацію про те, як спрацьовували випадкові сценарії генерації карт в іграх Age of Empires. Це текстові файли, які гравці могли редагувати, описуючи, як створювати карти сутичок різних типів. Я пам’ятаю, у них були методи викладати патчі та скупчення конкретного рельєфу / реквізиту, справедливо розміщувати такі речі, як ресурси, щоб вони були гарантовано доступними, і вирізали доріжки по місцевості, щоб гравці могли дістатися один до одного. Дізнавшись, як працювали їхні рецепти, слід дати вам кілька ідей.
DMGregory

2
Ви не згадуєте, чи є ваш RTS одинокою людиною чи мультиплеєром. Якщо одна людина, деяке врівноваження рівня може бути зроблено, змінивши поведінку AI, щоб відповідати майстерності гравця. Іншими словами, AI може мати доступ до більшої кількості ресурсів, ніж гравець, але гра налаштовує, наскільки агресивно він використовує ці ресурси, залежно від того, наскільки агресивний гравець виконує атаки або використовує свої ресурси.
Марк Ріплі

1
Для того, щоб додати до того , що сказав Марк, який вид балансу ви шукаєте? Для чого ви використовуєте карти?
Ніколь Болас

Відповіді:


26

Особисто мені здається, що симетрія в дизайні рівнів є нудною, і я не думаю, що це обов'язково так, щоб це було потрібно для справедливих рівнів; симетрія - це спосіб забезпечити кожному доступ до одних і тих же ресурсів і однакових вузьких місць через рівень, який буквально відображається для кожного гравця певним чином. Я думаю, що важливою частиною є доступ до (приблизно) тих самих переваг та недоліків. Не стільки сама симетрія.

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

Ось такий контекст дизайну я думаю, що формує фактичну відповідь на питання:


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

введіть тут опис зображення

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

введіть тут опис зображення

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

Наприклад, ви можете вирішити перекинути нижній лівий квадрант, оскільки в ньому занадто багато води (червоного кольору) або квадрантів, що містять зелений колір, оскільки вони занадто вигідні тактично (потенційні вузькі місця у каньйоні):

введіть тут опис зображення

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

Наприклад, сформована місцевість, що зберігає річку, розміщену вручну, що розділяє карту навпіл та покриту лісом, забезпечила додаткову оборону навколо баз:

введіть тут опис зображення


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

2
@JamesPae: " Я не художник " Дизайн рівня - це не мистецтво . Йдеться про геймплей. Тож питання полягає в тому, чи любите ви розробляти ігри?
Ніколь Болас

8
@JamesPae, якщо ви не зможете влаштувати розважальний рівень, вам буде дуже важко зробити ваш процедурно створений рівень задоволенням. Я пропоную вам ручні роботи хоча б на одному рівні, щоб ви могли дізнатися, що буде весело, перш ніж написати свій генератор
Evorlor

2
@Evorlor каже, що йому це не подобається, не те, що він не може це зробити. Чому всі ігнорують цей момент весь час?
Давор

5
Чому всі сприймають все так буквально? Він явно жартував із цим твердженням. Я розумію точку зору ОП, так, вони могли б оформити кілька рівнів, але тоді ви все ще маєте стільки рівнів, скільки ви створили. Якщо ви витратили ці ж зусилля на створення хорошого генератора рівнів, у вас є потенційно нескінченний рівень використання. Люди мають різні думки та думки. Деякі можуть хотіти передати чудові рівні високого рівня, деякі можуть насолоджуватися глибоким утворенням великого генератора рівня.
JamEngulfer

7

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

На одному кінці спектру ви можете дозволити гравцям створювати карту частково або повністю, вибравши & розмістити плитки карти. Існує маса різних способів, які можна змінити:

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

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

Далі відбувається фаза маніпулювання картою, під час якої гравці можуть виконувати щось із наступного:

  • обертати плитку
  • міняти плитки (сусідні чи інші)
  • дзеркальна плитка
  • натисніть на рядок або стовпчик плиток (плитка, яка відвалилася б від краю обгортання)

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

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

  • перевірка потенційних кроків та заборона таких, що призводять до незаконних результатів
  • дозволяючи всі кроки, але скасовувати все, що є незаконним
  • будуючи плитку так, щоб жодні ходи не були незаконними
  • проектування інших ігрових механізмів (тобто руху) таким чином, щоб жодні рухи не були незаконними

2

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

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

Інший варіант - генерувати карту без цього фокусу симетрії, але потім показувати гравцям всю карту, і кожен гравець повинен вільно вибирати своє стартове місце.


1

Один із підходів полягає у використанні інших факторів, щоб збалансувати карту. Можливо, ви зможете автоматизувати це за допомогою деяких алгоритмів аналізу карт та надання додаткових вихідних ресурсів у місця, які вважаються неблагополучними. Для цього кроку ви можете використовувати самих гравців. Поточним прикладом цього є використання зворотного аукціону в режимі виявлення в торговій компанії Offworld (OTC) для встановлення початкової заяви (тобто вибору вихідного базового місця):

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

Я не пам’ятаю, чи було це інтерв'ю « 3 Moves Ahead» або « Круглий стіл» щодо дизайну гри , але в одному з них Сорен Джонсон (розробник) каже, що цей механік істотно змінює проблему карти на «чи можу я спочатку знайти найкраще місце розташування» наскільки добре 2-е найкраще місце на карті ".

Перевага в цьому рішенні дозволяє вкрай асиметричні карти. Недоліком є ​​те, що вся карта розкривається всім гравцям, принаймні на початку. Підхід OTC також розкриває базові місця гравців. Інші механіки, як-от сліпі торги, можуть уникати виявлення базових місць.

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