Майже 40 годин і 1,5 мільярда токенів за $2175. Розробник створив в Astra повноцінну гру та детально описав весь процес

Привіт, спільното! В останні тижні модель штучного інтелекту ChatGPT 6 Astra наробила галасу в ігровій спільноті. Багато хто почав з нею робити швидкі прототипи та демо своїх ідей. Однак засновник платформи DevClocked з ніком Emm Tee (не впевнений, що це його справжнє ім’я) пішов далі й створив повноцінну гру з Astra.

Та куди цікавіше, що він детально розписав весь процес створення проєкту PaperRoute.

«Спочатку це було лише демо, але за чотири дні ми отримали повноцінну версію, в яку можна пограти. Це гра про доставку в стилі Paperboy, події якої розгортаються в американському районі. Всю гру створено за кілька сесій: GPT-6 Astra писала код, а Blender створював моделі.

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

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

Перший етап. Починати треба з брифу

Розробник відстежував кожну годину й кожен токен. Він пояснює, що ще у липні хотів спробувати створити Paperboy за допомогою Fable, однак у сучасному прочитанні. Процес йшов не дуже добре, і все, на що спромоглася Fable, — велосипед, повернутий боком. Коли вийшла Astra, він звичайною англійською описав оригінальну гру, деякі її механіки, а потім пояснив, що саме хоче отримати.

«На цьому етапі ми зосередилися лише на механіках, а ще я дав їй референс-зображення з перспективою — оригінальний ракурс Paperboy. Ідея ніколи не полягала в тому, щоб клонувати оригінальну гру Paperboy. Я хотів взяти її концепцію й переосмислити. Але якщо ви збираєтеся дати моделі відправну точку, дайте найкращу з можливих. А для гри про доставку на велосипеді найкращою основою є оригінал. Спочатку правильно налаштуйте механіки, а вже коли гра стане іграбельною — переосмислюйте її», — пише він.

Другий етап. Необхідно точно визначити напрям гри

Emm Tee розповідає, що дав Astra два окремі завдання (обидва в одному треді):

  • художній напрям;
  • геймдирекшн.

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

«Один запит — і ви отримуєте гарний, справді цікавий результат із власним виразним художнім стилем і практично таким самим графічним інтерфейсом, який ви вже бачили в усіх інших опублікованих демо. На тому етапі мене цікавили лише концепція та ігрові механіки, а великий масив вказівок щодо художнього напряму лише розмив би фокус. Це рішення виправдало себе вже першого вечора.

До опівночі й усього за шість комітів Astra створила браузерну версію з детермінованою симуляцією, прицільними балістичними кидками газет, які приземляються саме там, куди вказує пунктирна дуга, нарахуванням очок за влучання в поштові скриньки та маршрутом, що завершується трасою в парку. У процесі вона писала тести, і це виявилося важливішим, ніж я очікував, адже після кожної наступної художньої зміни можна було запускати цілий набір тестів», — додає Emm Tee.

Третій етап. Доопрацювання художнього напряму

Після того як розробник отримав перший варіант з потрібними ракурсами та відчуттями гри, він зміг перемкнутися на доопрацювання художнього напряму. Автор зазначає, що згенерував за допомогою ChatGPT купу зображень. На цьому етапі він фактично вийшов з Astra і попрацював здебільшого з ChatGPT. Зокрема, він дав ШІ кілька референсних зображень для концепт-артів і мудборду. В контексті опису відправною точкою тут стала «атмосфера стильного японського фільму з літнім вітерцем і ефектом мальованої текстури».

Далі мудборд від ChatGPT він передавав в Astra й використовував як основу для допрацювання.

«Кілька робочих потоків в одному треді. Зазвичай я так не роблю й розгалужую завдання, але з моїм новим робочим процесом і налаштованою під себе версією T3 Code це здавалося ідеальною нагодою залишити все в одному треді. І схоже, що Astra справляється із цим краще за Fablecap: її можна переривати, і вона, здається, не втрачає нитку, а це неймовірно.

Я крок за кроком і промпт за промптом допрацьовував і художній напрям, і саму гру, спостерігаючи, як мій MacBook розігрівається, поки Blender непомітно працює у фоновому режимі, а я час від часу отримую доволі вражаючі рендери та результати тестів. Увесь цей час демо було доступне за URL-адресою і протягом практично всього процесу залишалося іграбельним», — пише далі Emm Tee.

За стиль відповідав потік Blender. При цьому сама Astra не працювала з Blender. Модель писала код на Python, який Blender запускає в режимі без графічного інтерфейсу, а не через MCP. Тому кожен будинок, дерево, паркан та поштова скринька в грі були скриптом, який будує меш, розділяє матеріали й експортує файл GLB.

«Першою ітерацією було окреме художнє дослідження літньої стилістики: сторінка із силуетами будинків, формами дерев і вуличними об’єктами, відрендереними окремо, перш ніж бодай щось із цього потрапило до іграбельного світу. Потім до гри додали різні сімейства будинків, далі — густіші сади, а після цього — текстури з мальованим ефектом. До десятої ранку другого дня було готово сім сімейств будинків», — пояснює розробник.

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

Четвертий етап. Власні моделі

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

«Тому найкращий варіант — або знайти й безкоштовно завантажити якісь асети для Blender, або, якщо ви, як і я, задумали конкретного персонажа, скористатися Meshy та створити зображення в ChatGPT. Надішліть їх до Meshy за $8. По суті, я отримав 300 генерацій зображень і досі навіть близько не вичерпав квоту.

Ви можете завантажити зображення в Meshy, і сервіс перетворить їх на 3D-модель, яку можна забрати собі. Передайте її Astra й попросіть зменшити кількість полігонів. Бум: у вашій грі є власна 3D-модель, яка не виглядає як лайно. До цього я спалив купу токенів на ітерації з Astra й нікуди не просунувся», — додає розробник.

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


П’ятий етап. Додавання деталей

Emm Tee зазначає, що іграм, створеним за один запит, бракує деталей. В них вкладено замало зусиль. Розробник витратив 80% фактичного часу сесій і взаємодій з агентом на полірування, виправлення поганих мешів і промпти про деталі, а не на створення гри.

Він додає, що зібралося близько 30 комітів, які читаються як «клятий записник кравця»:

  • «виправити геометрію одягу велосипедиста»;
  • «перебудувати руки та рукави велосипедиста»;
  • «зберегти краї шортів»;
  • «зробити кермо велосипеда прямішим, як у BMX».

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

«Ще на початку за допомогою промптів я створив і вбудував механізм постійного циклічного перегляду й перевірки роботи. Я просив агента самостійно подивитися, що не так із моделлю, зробити її окремі рендери, а потім надіслати їх мені на перевірку. Після цього агент за моїми промптами виконував 60–70% усіх покращень від рендера № 1 до рендера № 2 саме в межах цього процесу.

Astra налаштувала скрипти захоплення, які відтворювали для велосипедиста безпосередньо в Three.js пози під час повороту, кидка, спринту й падіння та щоразу зберігали вигляд спереду, збоку й ззаду, а також кругові рендери в режимі глиняної моделі. Біля кожної контрольної точки в девлозі є ці рендери. Коли щось не так, ви показуєте на кадр, кажете, що кепка не закриває волосся, — і це вже промпт», — пише Emm Tee.

Шостий етап. Завершальні штрихи

Розробник наполягає, що все описане вище — процес, завдяки якому ви отримаєте гру, що працює. Однак він не дасть вам гру, в яку хтось захоче зіграти двічі. Цю прогалину заповнює смак, і саме його потрібно привносити самому. Примітно, що частиною цього смаку він називає «готовність відмовлятися від зробленого». Разом з тим Emm Tee наголошує: проводьте експерименти й створюйте окремі гілки гри, щоб перевіряти функціональні ідеї, перш ніж додавати їх до основної версії.

Скільки це коштувало

Важливо тут і те, що Emm Tee відстежував буквально все — від першого планувального коміту 1 липня до 12 вересня, коли можна було оцінити ситуацію після запуску на хостингу. Результат такий:

  • 39 годин часу: 25,2 години роботи людини й 13,8 години автономної роботи агента;
  • 1,56 мільярда токенів, із яких 1,53 мільярда припали на кешовані читання;
  • еквівалент $2175 за API — однак розробник наполягає, що це був не його рахунок;
  • 90 комітів протягом 11 днів.

«Усе ще є невирішені питання, і я волію чесно про них сказати, а не вдавати, ніби їх немає. Стабільні 60 кадрів за секунду на телефоні ще не підтверджено. Один контрольований запуск утримував цей показник, інший у середньому показав 58 кадрів. Модель велосипедиста з Meshy налічує 88 550 трикутників, бо я зберіг обличчя, і я ще не проводив її бенчмарк на справжньому смартфоні», — додає автор проєкту.

Він також коротко підсумував увесь свій шлях:

  • Спершу опишіть бриф власними словами й виберіть один референс, найближчий до бажаного результату, навіть якщо це саме те, що вам не дозволено клонувати.
  • Дайте моделі бриф і два-три чорнові зображення, але не визначайте художній напрям, доки механіки не стануть іграбельними.
  • Працюйте над рушієм і зовнішнім виглядом в окремих розмовах.
  • Створюйте реквізит у Blender за допомогою Python, щоб кожен асет можна було відтворити.
  • перший пункт
  • Коли потрібне обличчя для персонажа, створіть концепт у ChatGPT, отримайте меш у Meshy, а потім передайте його Astra, щоб вона зменшила кількість полігонів та створила риг.
  • Отримуйте контрольні рендери після кожної зміни. Виділіть день на завершальні штрихи — погоду, розбите вікно, парк наприкінці, — адже саме вони роблять гру вартою другого проходження.
  • Відстежуйте витрачені години й токени, бо вам захочеться знати ці цифри.

Що думаєте про такий експеримент? Діліться думками в коментарях!

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

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному2
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

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

Помню когда только стрельнул движок Unity — «ну все геймдев cooked, порог вхождения обнулился, сейчас все будут делать игры». И действительно столько игр стали делать, плохого качества, настоящее дерьмо, особенно на мобилки. Ну вот прошло уже 20 лет, геймдев все также пытаются похоронить, хороших игр почти не выходит, их дорого делать, сколько было в геймдев столько и осталось, даже на движок юнити многие переходить не стали несмотря на то, что легче делать
Между прочим демки там покруче были

Так демки там-же тоже кто-то делал, причем уверен, что на эти демки уходило больше 40чч

Одразу видно людину безкінечно далеку від прикладного геймдеву.

Так і є, скоріше з точки зору юзера дивлюсь на геймдев, хоча сам активно тещу ШІ в продакті і прогрес за останній рік дуже суттєвий.

оригинальной игре 40 лет и она лучше...

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

Існує одне слово у словнику, яке описує поточний стан ШІ для геймдеву — Overengineering.

А що майнкрафт?

Якщо оцінювати цей результат як порівняння того що може людина та AI за 4 дні, то звичайно це вражає, питання чи вартує це того? За 2к баксів і 4 дні? Якщо думати про інді розробку, то цікаво в якого інді є стільки бюджету щоб випустити готову повністю відполірований продукт?) а якщо казати про ААААА студіі, то гра на виході буде коштувати дорожче за GTA-VI )) бо одне діло робити лоуполі і низькоякісні текстурки, інше діло 2-4к реалізму з оптимізоном під капотом і т.д. Але, звичайно ж це все рейдж бейт)) і головне тут це те, що людина попрацювала з інструментом, дізналась про його можливості, бо на жаль(або на щастя) таке вже в нас майбутнє і хто б там як не хотів, але з цим треба рахуватись.
P.S. Як на мене то «на жаль».

Про всяк випадок зазначу, що десь на редіті чи ав, що у тартфі за 200 баксів у кожексі вам дають токенів ± на 2к баксів

Жаль, никто не приспособил модель к плейтестам, чтобы она в роли разных акторов играла и корректировала игру, чтобы та стала действительно интересной. А так она нагенерировала чего-то, а теперь ждут, что люди будут играть и находить интерес. Нет уж.

розходимся, виглядає, як типова інді — ***ня за яку одобрять рефанд протягом 10 секунд. Самому насрати таке було б дешевше в 4 рази.

"

відполіровану — настільки, наскільки це можливо за чотири дні, — гру, яка працює, чудово виглядає і не обмежується одним трюком

"
Єм... а де це? відполірована гра, яка чудово виглядає?)
Можна ж просто взяти template і ігровому рушії + assets з Fab і отримати кращий і більш привабливий результат, хіба ні?
І це буде кошутвати 0 гривень.

Цікавий опис пайплайну, дякую

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

Игра интересная или чисто, чтобы хватило на статью?

Ось тут можна потестити, якщо цікаво
https://www.paperroute.lol/

І у чому ж її повноцінність? Дістали вже зі своїм трешем.

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

завершений продукт, який просто наповнювати контентом треба

Цю цитату треба ставити в рамочку.

Тобто, це такий завершений продукт, який просто наповнювати контентом треба (а основа для цього контенту вже готова).

Це все одно що назвати пластикову пляшку «завершеним продуктом», бо все що залишилося — це наповнити її напоєм (який ще треба створити) та наклеїти етикетку (яку ще треба задизайнити).

Ну, можливо. Але трошки некоректно порівняння. Тут вже є набір кор-механік. Далі навколо них потрібно будувати решту (рівні, сюжет, прогресію). Це не менш складно, але ж основа (ну, типу) вже закладена.

Хоча он вище написали, що оригінал вигядає краще. Як на мене, він, як мінімум, цікавіший)

завершений продукт, який просто наповнювати контентом треба

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

просто наповнювати контентом треба (а основа для цього контенту вже готова)

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

Щось аж нудить від картинки під час руху. Може fps мало чи то такі анімації дивні

Оце так гра 🥹
В моєму оновленому рейтингу ця гра вище Сталкер 2 тепер

Але ж в ній немає системи A-Life!

В сталкері — теж:D
(доповнення не грав)