Дав LLM один промпт на Match-3 і попросив придумати власне правило гри — що з цього вийшло і де моделі спіткнулися

Привіт, DOU! У вільний від основної роботи час я люблю вайбкодити власні пет-проєкти. Коли виходить чергова модель, стрічка зазвичай завалена сухими бенчмарками на кшталт SWE-bench чи графіками MMLU. Але в реальному житті ці цифри мало що кажуть про те, як модель пише фронтенд, як порається з таймінгами анімацій і, головне — чи є в неї бодай якась геймдизайнерська уява.

Мені стало цікаво перевірити це на практиці. Замість чергового абстрактного клону Flappy Bird я зібрав невеликий експеримент — «Вайбонуті ігри» 👉 пограти наживо.

Ідея проста — кожна топова модель отримує однаковий майстер-промпт на створення браузерної гри Neuromatch (Match-3 на тему AI-брендів Anthropic, OpenAI, Google, xAI та Meta).

Базові технічні вимоги були стандартними — один автономний HTML-файл, адаптація під мобільний екран (390 px), свайпи мишею й тачем, комбо, синтезований звук через Web Audio API та підключення до спільного лідерборду на Cloudflare Workers.

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

Головний хаб експерименту з матрицею оцінок та рекордами гравців

Як перевіряти, щоб це не було оцінкою «на око»

Коли оцінюєш згенеровані ігри руками, легко піддатися першому враженню від приємної анімації. Тому для кожного білду я зробив стрес-тест через Playwright — скрипт робить 30–40 реальних drag-and-drop свайпів у headless-браузері, перехоплює помилки консолі, перевіряє поведінку таймера і дивиться, чи не зависає дошка, коли закінчуються доступні ходи.

Критерії вийшли прості й приземлені:

  • Цікавість механіки — чи придумала модель щось самобутнє, що змушує думати над ходами.
  • Стабільність під навантаженням — відсутність дедлоків анімацій і коректне перемішування плиток.
  • Акуратність UX — чи взяла модель нормальні векторні логотипи брендів, чи обмежилася текстовими заглушками.
  • One-Shot результат — наскільки білд життєздатний одразу з одного промпту без ручного допилювання коду людиною.

Які механіки нафантазували моделі (і які баги вилізли )

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

1. Gemini 3.1 Pro — жарт про довгий контекст і раптове обнулення очок

  • Що придумала модель — механіку «Context Window». Gemini виділила нижній ряд дошки пунктирною рамкою. Будь-який матч у цьому ряду дає потрійні очки (`×3`) і додає `+2 секунди` до таймера. Тобто модель буквально інтегрувала у гру пасхалку до своєї фірмової фічі — довгого контекстного вікна.
  • Де спіткнулася — автотест одразу виявив підступний логічний баг. Коли на дошці не лишалося доступних ходів, функція перемішування замість `reshuffle` викликала повний `initGame()` - і скидала набраний рахунок гравця в нуль просто посеред раунду! Крім того, через постійне додавання секунд раунд ставав практично безкінечним, а іконки Anthropic та Gemini вийшли однаковими зірочками.

Білд Gemini 3.1 Pro з пунктирним рядом Context Window

2. Claude Sonnet 5 — тонка система балансу Underdog Boost

  • Що придумала модель — механіку «Underdog Boost». Замість банальних бонусів Sonnet порахував статистику ходів гравця в реальному часі. Бренд, який ви збирали найменше за весь раунд, отримує статус «Underdog», підсвічується золотою рамкою, а матчі з ним приносять на `+50%` більше очок. Це класно ламає звичку клікати лише один помітний колір і змушує шукати комбінації найменш популярної фішки.
  • Як показала себе в тестах — автотест на 30 ходів пройшов без жодної помилки. Модель передбачила пастку із зависанням анімацій і загорнула цикл ходу в `try...finally { busy = false; }`. Дошка не висне, reshuffle коректно зберігає набрані бали.

Білд Claude Sonnet 5 з механікою Underdog Boost

3. Gemini 3.8 Flash (в Antigravity) — шкала AGI Overclock

  • Що придумала модель — механіку «⚡ AGI Overclock (Сингулярність)». Під дошкою з’явилася шкала заряду, яка наповнюється від вдалих комбо. Гравець має вибір — скинути заряд уже на 50%, щоб виручити себе в складний момент, або дотерпіти до 100%. На повному заряді вмикається Сингулярність — таймер заморожується на 5 секунд, бали подвоюються, а випадкові фішки стають бомбами.
  • Як показала себе в тестах — 90 ходів автотесту без помилок. Модель самостійно підтягнула чисті SVG-логотипи брендів і зробила плавний тактильний фідбек.

Білд зі шкалою AGI Overclock

Що ми маємо в сухому залишку

Цей маленький експеримент підтвердив кілька практичних речей —
1. Моделі вже непогано орієнтуються в геймдизайні, якщо дати їм відкриту творчу задачу. Механіки виходять не просто декоративними, а реально змінюють тактику проходження.
2. Головна проблема коду від LLM — не синтаксис, а крайові випадки. Гра може виглядати бездоганно перші кілька ходів, але зламатися на першому ж перемішуванні дошки чи обнуленні таймера. Автотести на Playwright тут економлять купу нервів.
3. Порівнювати моделі на живих пет-проєктах значно веселіше й практичніше, ніж просто дивитися на чужі сухі графіки.

Спробувати наживо

Усі згенеровані білди, таблиця з оцінками та живий лідерборд відкриті на загальному хабі 👉 leaderboard

Можна зайти з телефону чи комп’ютера, пограти в кожну версію й спробувати вибити рекорд у лідерборді.

Сирі промпти, нові раунди з іншими моделями та щоденні розбори подібних вайбкодинг-експериментів публікую у своєму авторському каналі 👉 «Вайбонутий»

Залітайте потестити й пишіть у коментарях, яка ідея вам здалася найбільш життєздатною для звичайного Match-3!

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter