Наступний вибір найкращих коштовностей


9

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

Наскільки я здогадуюсь, все залежить від того, яку коштовність і де ви подаруєте користувачеві після того, як група ювелірних виробів з 3 або 4 розчиниться.

Це можливо ? An always infinitely solvable Bejewelled game?


2
зробіть всі коштовності синіми
амб

+1 велике запитання. Для цього повинно бути досить неоднозначне рішення, залежно від того, скільки нових дорогоцінних каменів ви нерестуєте.
ashes999

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

Відповіді:


1

Звичайно можна створити нескінченну гру Bejeweled. PopCap зробили це самі з останньою Bejeweled 3 (режим називається "Zen Mode").

Перш за все, вам потрібно переконатися, що принаймні один дійсний хід під час першого генерування плати.

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

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

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


4

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

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

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

У мінімальному випадку очищення лише трьох плиток у рядку / стовпці, Замінний набір, що містить дві плитки типу A, розділені плиткою типу B (де тип A - тип плитки вище або нижче очищеного набору з трьох у випадку стовпця з трьох, або ліворуч або праворуч у разі рядів із трьох). Це призведе до кроку, коли заміни центру цих трьох плиток на відповідну плитку A поряд із нею отримає набір із трьох. Це показує, що завжди можна знайти набір плиток, який призведе до дійсного переміщення вздовж стовпця / рядка, де очищені оригінальні плитки. Обмеження майбутніх переміщень до цього стовпця чи рядка, хоча і є дійсним рішенням для нескінченної відтворюваної гри, було б не дуже цікаво. Але, використовуючи всі правила для звичайних ігор у стилі коштовності, легко показати, що завжди знайдеться рішення, яке також дозволить рухатись поза цим рядком / стовпцем. Припустимо, ми потрапляємо в три плитки типу A, де A - одна з плиток вгорі або внизу / ліворуч або праворуч від знятого набору з трьох. Це створить плитку в стилі «бомба», яка очистить ділянку при видаленні. Якщо тоді ми потрапимо в інший набір плиток, що призводить до того, що збігається з цією бомбою, область плитки буде очищена. Ця область буде містити декілька 3 підмножини плитки в інших рядках, а це означає, що майбутні кроки не обов'язково обмежуватимуться одним рядком / стовпцем. Це створить плитку в стилі «бомба», яка очистить ділянку при видаленні. Якщо тоді ми потрапимо в інший набір плиток, що призводить до того, що збігається з цією бомбою, область плитки буде очищена. Ця область буде містити декілька 3 підмножини плитки в інших рядках, а це означає, що майбутні кроки не обов'язково обмежуватимуться одним рядком / стовпцем. Це створить плитку в стилі «бомба», яка очистить ділянку при видаленні. Якщо тоді ми потрапимо в інший набір плиток, що призводить до того, що збігається з цією бомбою, область плитки буде очищена. Ця область буде містити декілька 3 підмножини плитки в інших рядках, а це означає, що майбутні кроки не обов'язково обмежуватимуться одним рядком / стовпцем.


Він обертається лише на 120 градусів за один раз, правда? Що ж станеться, якщо ви покажете дошку, яка (завдяки попереднім рухам) має вигідні дистрибуції в іншому місці дошки, вимагаючи 5 ходів з недавно розміщеного блоку, а гравець спочатку клацає щось не так ?
Завод-Муза

Обертається на 120 градусів? Bejeweled не передбачає обертання. Ви думаєте про Bejeweled Twist ?
Matthew R

Вибачте, ні, я думав про Hexic . Але, маючи достатньо різних дорогоцінних каменів, можна було б входити в ситуацію, коли двигун повинен буде щоразу створювати відповідне тріо, щоб дозволити безперервну гру (бо більше нічого не забивало б). Що може бути цікаво подивитися, але не дуже грати.
Завод-Муза

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

3

Ви торкнулися проблеми зупинки в галузі інформатики.

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

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


4
Тільки FYI, проблема зупинки стверджує, що вирішити проблеми неможливо, а не те, що вони є. З цієї конкретної проблеми, я думаю, ви просто не можете цього зробити (або гра буде смішно простою, наприклад, 2 кольори та сітка 3 * 3), в занадто багато можливих шляхів у грі «звичайного розміру», як ця .
Валмонд

1
Також FYI: Поточне покоління ігор Bejeweled (від PopCap) має нескінченний режим ... тому вони, здається, успішно вирішили проблему :) Вони гарантують, що завжди існує дійсний крок, нерестуючи нові дорогоцінні камені, які гарантують дійсний крок ( застосовується лише тоді, коли в даний час немає доступних).
bummzack

1
@bummzack: вибачте, що ви помиляєтеся, коли ви помиляєтеся, але в popcap bejeweled (чим я пишаюся, сказавши, що я найкращий бомбардир як у класичному, так і в швидкості). Класична версія припиняє говорити. NO MOVES LEFT і дає вам геймплей.
Вишну

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

@Vishnu Добре я написав поточне покоління , яке було б Bejeweled 3, і це стосується лише нескінченного режиму (або режиму дзен або будь-якого іншого). Я знаю, що це було не так у класичній версії ...
bummzack
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.