Ще півроку тому існував певний бар’єр в доступі до штучного інтелекту (ШІ), який генерує тексти. Та з виходом зручного інтерфейсу для GPT3 текстовий ШІ став доступним усім.

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

Перетворення формату даних

Частою рутинною проблемою для гейм-дизайнера є потреба переносити дані з одного формату в інший.

Наприклад, я порахував в таблицях баланс, а тепер потрібно закинути дані в налаштування гри, де використовується зовсім інший формат. Раніше я робив спеціальні листи, де за допомогою формул дані переводилися в потрібний для мене вигляд. Але це було незручно. З ШІ ця проблема фактично зникла:

Ще буває таке, що я для зручності розраховую баланс у вертикальних таблицях, але в файлах гри таблиці розміщенні горизонтально. Тут також ШІ може бути корисним:

Потрібно зважати на певні обмеження ШІ:

  • Українську мову розуміє, але може не знати якихось нюансів. Наприклад, не знає, що “фігурні дужки” це не те ж саме, що й “дужки”.
  • Може мати своє уявлення про певні нюанси формату даних, тому потрібно уточнювати запит. Наприклад пише число “2000” у вигляді “2,000”.
  • Не всі ШІ за замовчуванням використовують пробіли. Тому потрібно або явно про це просити, або використовувати такий чат-бот, який розставляє. На першому скріншоті показаний приклад з чат-боту Dragonfly, який в цілому не дуже розвинутий, але я його використовую для простого перетворення даних зі списків у рядки, бо він завжди акуратно розставляє пробіли.
  • Щоб отримати певний результат, іноді потрібно пошукати, як правильно “попрохати” ШІ.
  • Так як великі мовні моделі не генерують дані за прогнозованими алгоритмами, завжди потрібно бути готовим до того, що чат-бот може замінити якесь число на щось “вигадане”. В прикладах з перетворенням таблиць я такого не зустрічав, але раджу бути насторожі.

Робота з таблицями

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

=IF(B71>4,0,HLOOKUP(B$28+4,$G$39:$H$44,B71+2))*$H$83

Але іноді може виникнути потреба вийти за рамки стандартних формул: почати складати таблиці з даних, розкиданих в різних місцях, їх налаштовувати. Я став експериментувати з ШІ, і був вражений тим, наскільки корисним він виявився.

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

Щоправда, є декілька обмежень:

  • Краще питати англійською, бо відповіді українською можуть бути неточними. 
  • Різні чат-боти трохи по-різному використовують розділові знаки в формулах. Наприклад, якийсь бот може використовувати кому, а якийсь – крапку з комою. Це потрібно уточнювати в запитах до бота. На моїй практиці бот Claude дає в цілому кращі поради і притримується розділових знаків таблиць Google. ChatGPT постійно намагається замінити в формулах “;” на “,”, навіть якщо ти спеціально просиш цього не робити.

Генерування простих ідей та назв

Створення ігрових механік – це робота, яка потребує розуміння контексту, обмежень гри, наявності ресурсів розробки тощо. В таких речах поки що ШІ не здатен допомогти.

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

Назви навичок

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

Назви об’єктів

Аналогічним чином ШІ легко підбере назви міст, об’єктів, тварин, команд – чого завгодно. Головне – надати потрібний вам контекст:

Сюжетні заготовки

В багатьох іграх сюжет існує лише як оболонка, яка зв’язує певною логікою між собою рівні. Для таких ігор ШІ цілком може підкинути хороші ідеї.

В нашій грі Football, Tactics & Glory сюжету як такого нема, але ми вводимо гравця в ігровий світ за допомогою простенької історії, яка розкривається під час навчального матчу. Гравець управляє перспективним зірковим футболістом, який під кінець цього матчу отримує страшенну травму. Через 15 років футболіста запрошують очолити маленький містечковий клуб.

Такий вступ робить початок гри більш плавним.

Мені стало цікаво, що запропонував би ШІ, якби я почав сьогодні розробляти гру:

Перша ж пропозиція ШІ – дуже близька до нашого сюжету ?

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

ШІ в маркетингу

Ігровий маркетолог Кріс Жуковскі провів цікавий експеримент з використання ChatGPT4 для розробки маркетингу абстрактної гри (англійською): https://howtomarketagame.com/2023/03/28/will-your-games-be-marketed-by-chat-gpt/

Короткі висновки: ШІ гарно впорався там, де потрібно генерувати прості ідеї (назва гри),  непогано впорався там, де потрібно робити шаблонні задачі (написати прес-реліз, запропонувати схему трейлера) та аналізувати доступні дані (аналіз ігор-конкурентів), але погано справився там, де потрібно знати сучасні маркетингові підходи та створювати детальний довгостроковий план дій (маркетингова стратегія, лист стрімерам, ідеї для збільшення додавань гри в список бажаних).

Ось оцінки, які виставив Кріс за різні частини маркетингу, зробленого ШІ (А – найкраща оцінка; чим далі – тим гірше):

  • Маркетинговий аналіз = D+
  • Аналіз ігор-конкурентів = B
  • Генерація назв для гри = A
  • Маркетингова стратегія = F
  • Прес-реліз = B
  • Лист стрімерам = C
  • Трейлер = B+
  • Ідеї для додавання в список бажаних ігор = F

ДЕ МОЖНА СПРОБУВАТИ ТЕКСТОВИЙ ШІ?

Найпопулярніший зараз ChatGPT 3.5 доступний безкоштовно тут: https://chat.openai.com/chat.

Але я користуюся сервісом https://poe.com/, який дозволяє безкоштовно користуватися паралельно декількома чат-ботами. Скріншоти в прикладах якраз із цього сервісу. Для кожної своєї задачі я перевіряю, який з ботів мені найкраще підійде, і далі вже працюю по цій задачі саме з цим ботом.