Як я перестав боятися і полюбив ШІ. Частина 2. Прийняття
Після першого експерименту я подумав: ну добре, якщо ШІ вже таке може — давай дамо йому щось серйозніше.
Для нового тесту я спеціально вибрав абсолютно інший жанр. Ніяких більше простих механік. Хотілося зробити невелику сюжетну гру з елементами 2D-платформера, де основний акцент був би не на геймплеї, а на історії та виборах гравця.
Спрайти знайшов, архітектурний фундамент, як і раніше, побудував сам, але цього разу вирішив майже не стримувати себе. Якщо вже тестувати ШІ — то на повну. Працював усе ще через Cursor.
Нарізка спрайтів і анімацій
Першою жертвою стала рутина.
- «Наріж спрайти.»
- «Створи анімації.»
- «Згенеруй Animator Controller.»
І знаєте що? Загалом він впорався досить непогано. Майже все запрацювало з першого разу. Залишалося лише вручну підправити деякі анімації: десь зробити цикл, десь навпаки прибрати зациклення, трохи почистити Animator.
Не ідеально, але вже тоді я зрозумів, що кілька годин монотонної роботи можна сміливо віддати ШІ.
Історія
А от тут почалося найцікавіше.
Я хотів зробити невелику камерну драму. Усього чотири персонажі, між якими поступово розкриваються взаємини. Без порятунку світу, без тисячі NPC, без відкритого світу. Просто історію, де вибір гравця справді щось змінює.
«Ну це вже точно робота для ШІ», — подумав я.
І почав експериментувати.
Один і той самий запит пройшов через ChatGPT, Gemini, Copilot і Claude.
Чесно кажучи, результат мене здивував.
Claude був єдиним, хто видав більш-менш цілісну історію. Та й то не без пригод. Попри те, що в промпті кілька разів було написано «чотири персонажі», він із завидною впертістю намагався додати п’ятого — маму головного героя. Чому саме її — досі загадка.
Усі інші моделі видавали щось настільки хаотичне, що це більше нагадувало набір випадкових сюжетних поворотів, ніж зв’язну історію.
Реалізація
Добре, сюжет є. Пора переносити його в гру.
Cursor тоді працював у стандартному режимі з кількома топовими моделями. І саме тут почалися перші справді неприємні проблеми.
Здавалося б, задача елементарна.
Якщо персонаж стоїть поруч із NPC — дозволити почати діалог.
Усе.
Це можна реалізувати через відстань між об’єктами. Можна через тригер-колайдер. Cursor пропонував обидва варіанти.
І... жоден нормально не працював.
То взаємодія не спрацьовувала взагалі.
То головний герой намагався поговорити сам із собою.
То NPC повністю ігнорував гравця.
Я навіть спеціально перемкнувся лише на моделі Anthropic. Стало трохи краще, але не настільки, щоб будувати поверх цього всю гру.
У той момент стало зрозуміло: якщо навіть базова взаємодія працює нестабільно, додавати нові механіки зараз — прямий шлях до хаосу.
Unity AI
І тут Unity анонсує власний AI-інструмент.
Трейлер виглядав фантастично.
Я подумав: ось воно. Зараз усе буде.
Створив абсолютно новий проєкт.
Знову побудував архітектуру.
Почав працювати.
І...
...отримав майже той самий результат, що й у Cursor.
Настільки схожий, що навіть назви класів, змінних і GameObject були практично однаковими.
І знаєте що?
Персонаж знову намагався розмовляти сам із собою.
І так само не хотів нормально взаємодіяти з NPC.
У той момент я вже не знав, сміятися чи плакати.
Довелося лізти в код
Зрештою я зробив те, чого намагався уникнути від самого початку.
Відкрив код.
Чесно кажучи, для мене це не було чимось новим. За кар’єру доводилося не раз розбиратися в чужих проєктах, переписувати старі системи й лагодити чужі рішення.
Знайшов проблему.
Переробив.
Діалоги запрацювали.
Взаємодія зі світом теж.
І саме тоді в голові виникла одна проста думка.
Я б сам написав це швидше.
Але ж метою експерименту було не написати гру найкоротшим шляхом.
Метою було зрозуміти, на що реально здатен ШІ.
Playtesting

На жаль, найбільша проблема чекала попереду.
Гра виявилася... нудною.
Не через код.
Не через баги.
Через сюжет.
На папері історія виглядала цікаво.
Поки не починаєш у неї грати.
Тоді раптом виявляється, що весь «нелінійний сюжет» зводиться до завдань рівня:
— піди принеси п’ять квіточок;
або
— принеси хліб від пекаря.
Я годинами намагався це виправити.
Просив ШІ додати сюжетні повороти.
Просив зробити вибори складнішими.
Просив посилити конфлікти між персонажами.
Але щоразу все поверталося до однієї й тієї самої схеми.
Гравець або просто читає текст.
Або робить вибір, який майже ні на що не впливає.
До цього додалися ще й баги самої діалогової системи: вона не запам’ятовувала попередні рішення, не враховувала вже зроблені вибори й поводилася так, ніби кожна розмова відбувається вперше.
У якийсь момент я чесно визнав: використати готовий інструмент для наративних ігор було б значно швидше.
Але тоді я не отримав би відповіді на головне питання цього експерименту.
Другий висновок
Після цього проєкту я зрозумів одну річ.
Або сучасний ШІ поки що не вміє просто «зробити гру замість мене».
Або я ще не навчився правильно ставити йому задачі.
Швидше за все — і те, й інше.
І так: якщо програмістів він десь і замінить, то от сценаристів — вже точно ні.
Але тепер у мене вже було розуміння, що саме можна сміливо делегувати, а де краще одразу брати клавіатуру в свої руки.
Наступний проєкт я починав уже зовсім з іншими очікуваннями.
І саме тоді все стало набагато цікавіше.
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарівЧекаємо наступну статтю у дусі: «Від любові до ненависті — один крок. Як ШІ видалив мій проєкт і стер сліди свого перебування на SSD».
Можна боятись ножа, а можна нарізати ним салат. От все що я думаю про ШІ.