Інтерактивні мобільні «штуки» легко створювати, але важко ділитися ними за межами платформи Meta.
Нещодавній розвиток інструментів для кодування за допомогою ШІ та вся концепція «vibe coding» ефективно перевернули робочі процеси розробки програмного забезпечення. Хоча ці інструменти були доступні для початківців-програмістів, готових докласти зусиль для їх налаштування, ті, хто має невеликий або зовсім жодного досвіду програмування, все ще могли бути дещо збентежені CLI, IDE та роботою з терміналом, необхідними для створення складного проекту, закодованого ШІ, сьогодні.
Останній запуск проекту Meta на основі ШІ прагне зробити такий «vibe coding» миттєво доступним, як і публікація в соціальних мережах. Pocket — який запустився в США минулої п’ятниці, 21 серпня, після того, як Meta придбала співробітників, що стояли за вже неіснуючим додатком «vibe coding» Gizmo в березні — це мобільний додаток, який дозволяє користувачам створювати повністю функціональні інтерактивні «gizmos» просто вводячи запити в текстове поле, без навіть можливості переглядати код. Ці gizmos потім можна поширювати світом у нескінченній прокрутці в стилі TikTok з лайками, коментарями, репостами та всіма іншими ознаками соціальної залежності.
Після того, як я тиждень грався з Pocket, я виявив, що мене захопив простий процес швидкого створення функціональних, відносно багатофункціональних ігрових прототипів, просто спілкуючись з LLM. Але результатом усього цього часу та зусиль ШІ є кілька інтерактивних іграшок, які фактично ув’язнені в новому саду Meta, без реального способу перетворити їх на щось окреме.
Заманює мене
Щоб почати творити за допомогою Pocket, все, що вам потрібно зробити, це ввести текст у велике, привітне на вигляд текстове поле з написом «Describe an idea…». Після кількох невдалих спроб я зосередив свій перший справжній проект Pocket на ідеї гри, де ви торкаєтеся та утримуєте екран телефону, щоб розкрутити рогатку, а потім відпускаєте її, щоб вистрілити по дотичній по наступаючих ордах ворогів.
Я намагався бути хоча б дещо детальним у своєму базовому запиті «двигуна» до Pocket:
«Вид зверху на чоловіка в центрі екрана. Коли ви торкаєтеся та утримуєте, він обертає рогатку навколо себе по колу. Коли ви піднімаєте палець, рогатка випускає кулю, перпендикулярну до рогатки. Чим довше ви тримаєте, тим швидше вилітає куля».
Початковий прототип гри Sling Shot, створений ШІ. Я не просив про тюки сіна чи прицільну стрілку. Після надсилання запиту та очікування майже двох хвилин я був здивований, наскільки швидко та точно Pocket відповідав моєму загальному баченню. Те, що для такого недосвідченого програміста, як я, зайняло б години, витрачені на боротьбу з моделями фізики та посиланнями на код, вже було в функціональному, готовому до тестування стані з мінімальними зусиллями. Pocket навіть додав кілька вибухових тюків сіна, про які я не просив, а також другорядні функції інтерфейсу, такі як лічильник очок та екранний індикатор потужності, які, як я можу тільки припускати, модель передбачила як бажані доповнення на основі своїх навчальних даних.
Маючи цей початковий прототип, я занурився на години «vibe-coded» доопрацювань. Через понад 100 запитів я почав вдосконалювати базову ідею керування «рогаткою», перетворюючи її на щось більше схоже на повноцінну гру. Я просив, щоб роботи марширували з краю екрана, потім просив про нові типи роботів для різноманітності. Я просив про систему боєприпасів, потім просив її видалити на користь мінімальної «швидкості рогатки», яка ефективно запобігає спаму пострілів. Я просив про предмети та електричну огорожу навколо гравця, а також про нескінченні невеликі зміни в системі підрахунку очок, звукових ефектах, швидкості рогатки та патернах ворогів, а також про великі й малі функції.
Коли цей проект був у пристойному стані, я відчув бажання продовжувати створювати за допомогою ШІ. Майже одразу я почав створювати просту гру в стилі аркади з жонглюванням, з барвистими м’ячами, які потрібно утримувати, відбиваючи їх від ракеток, керованих великими пальцями. Ще через кілька годин я додав масив предметів, складну систему множників очок і набір графіків завершення гри для відстеження прогресу.
Утримувати один м’яч легко, але три або більше швидко перетворюються на хаос. На даний момент я маю невиразні спогади про боротьбу, щоб навіть прості комп’ютерні програми робили щось корисне, коли я здобував вищу освіту з комп’ютерних наук. Порівняно з цим, процес створення ігор за допомогою Pocket здавався трохи магічним. Все, що мені потрібно було зробити, це подумати про нову функцію, яку я хотів би протестувати, і Pocket надавав версію гри з цією функцією приблизно через хвилину після того, як я її ввів.
У більшості випадків результат запиту був саме тим, на що я сподівався, без необхідності додаткових доопрацювань. У меншості випадків мені доводилося проходити кілька додаткових запитів, щоб уточнити, що я мав на увазі, або доопрацювати зовнішній вигляд чи поведінку функції, яка краще працювала в теорії, ніж на практиці. Лише невелика кількість запитів призвела до того, що Pocket, здавалося, повністю ігнорував моє прохання або ламав гру, в таких випадках один натиск міг повернути до останньої версії і дозволити мені спробувати знову.
Іноді я намагався бути відносно детальним у своїх запитах, наприклад, точно вказуючи, як я хотів би, щоб працював множник очок, або доопрацьовуючи порогове значення потужності пострілу на основі відсотків. Іншим разом я залишав свої запити відносно короткими та розпливчастими — «додати виявлення зіткнень до малих куль» або «додати трохи потужності звуковому ефекту втраченої кулі» — і виявляв, що Pocket інтерпретував те, що я мав на увазі, з дивовижною проникливістю.
Зразок детального запиту на доопрацювання, який я використовував під час створення Sling Shot. Pocket також має вкладку «Ідеї», яка може запропонувати запити, що додають цілі набори функцій, перш ніж ви навіть подумаєте про них. Ці ідеї були досить непередбачуваними, багато з яких не мали сенсу для гри, яку я створював, або дублювали функції, які вже були частиною гри (іноді гірше). Але деякі з ідей Pocket, такі як додавання ключових презентаційних ефектів або цікавих нових ігрових варіацій, про які я навіть не думав, призвели мене до деякої екзистенційної кризи щодо того, наскільки необхідним я насправді був у всьому цьому процесі.
Друже, де мій код?
Створення простих ігор виключно через запити ШІ має свої недоліки. Щось настільки просте, як переміщення елемента інтерфейсу на кілька пікселів праворуч, наприклад, вимагає повного запиту та приблизно хвилини очікування, поки ШІ повністю перебудовує додаток. У грі, написаній вручну, те саме налаштування зайняло б кілька секунд і не вимагало б, ймовірно, скандальної кількості спалених токенів ШІ за лаштунками.
Тестування Pocket також може бути головним болем. Без можливості налаштовувати трасування пам’яті або зупинки виконання, я іноді мав покладатися на ретельне спостереження та екранні дисплеї, щоб з’ясувати, чому щось не працює так, як я хотів. Навіть тоді мене завжди турбувало, що може бути якась прихована помилка або дивний граничний випадок, який я просто не помітив. Не маючи можливості бачити код, я б не довіряв цьому для чогось більшого, ніж простий іграшковий проект.
Початкова «розмова», яка започаткувала мій проект гри з жонглюванням м’ячами. Також є щось найнижчого спільного знаменника у вигляді та відчутті gizmos, які Pocket має тенденцію генерувати. Система за замовчуванням використовує емодзі або базові фігури для багатьох графічних елементів, а звукові ефекти WebAudio схиляються до «біп-боп» діапазону. Ви можете додати власні записані звуки або попросити Pocket генерувати графіку на основі запитів ШІ, щоб трохи виправити цю проблему, але базове «загальне» відчуття всього, що він генерує, важко подолати.
Незважаючи на ці незначні проблеми, я виявив, що залежу від циклу «запитай функцію та протестуй результат» Pocket. Є спокусливий азарт дозволити ШІ-агенту з кодування робити всю важку роботу за лаштунками, поки ви просто обмірковуєте ідеї, без турбот про примхи механізмів фізики, дерева коду чи синтаксичні помилки. Я виявляв, що генерую нові ідеї дизайну гри, навіть коли Pocket працював над реалізацією моєї останньої, прагнучи якомога швидше подати свої концепції в машину для створення ігор. І весь процес був достатньо простим і ефективним, щоб я міг робити все це, приділяючи половину уваги бейсбольному матчу, що лунав по телевізору на задньому плані.
Стрічка gizmos
Наскільки магічним здається процес створення ігор у Pocket, настільки протилежним є обмежений спосіб, яким Pocket дозволяє ділитися цими іграми зі світом. Єдиний спосіб дозволити іншим людям випробувати ваше творіння Pocket — це поділитися ним як Постом, поєднавши ваш маленький інтерактивний gizmo з невеликим підписом та обкладинкою.
Ви можете поділитися посиланням на цей пост будь-де, де ви зазвичай ділитеся посиланнями в Інтернеті, і ті, хто слідує посиланням, можуть навіть відтворити версію вашого gizmo в HTML5 «preview» у своєму браузері без необхідності завантажувати додаток Pocket. Це може працювати навіть на настільних браузерах, якщо ваш додаток не покладається на мобільні вхідні дані, такі як мультитач або датчики нахилу.
Як виглядає одне з моїх творінь Pocket, коли відкривається «preview» у настільному веб-браузері. Однак основним способом виявлення ваших gizmos є алгоритмічна стрічка Pocket, яка дозволяє вам прокручувати повний спектр творінь Pocket у напіввипадковому нескінченному скролі. Перегляд цієї стрічки надає свого роду рулетку Skinner box, знайому будь-якому користувачеві соціальних мереж — суміш другосортного контенту, безглуздих жартів від підлітків та випадкових якісних ідей.
Прокручуючи вибірку gizmos Pocket щойно, я перейшов від цікавого гібрида пінболу/Breakout до заплутаної імітації чату з ботом у стилі WhatsApp, до примітивного, погано реалізованого клона Flappy Bird, до gizmo, який нічого не робить, крім того, що видає низькополігонального, льодово-синього тюленя, коли я натискаю на екран (під величезним банером з написом «Seal!»).
Ви можете підписуватися на улюблених творців або кураторів, які репостять якісні gizmos, щоб трохи відокремити зерна від полови. Але навіть найкращі gizmos Pocket, здається, не призначені для гри більше хвилини-двох. Як і TikTok, легка можливість миттєво прокрутити до чогось нового винагороджує блискучий, швидкий контент, який може захопити користувача за кілька секунд, а не глибокі, довготривалі враження. Я також бачив, як кілька gizmos з’являлися знову в моїй стрічці протягом години неквапливої прокрутки, що свідчить про те, що Pocket також наразі має проблему з кількістю gizmos на додаток до непослідовної якості.
Хто контролює?
Незважаючи на ці проблеми, деякі люди, здається, знаходять принаймні деякий напіввірусний успіх для своїх gizmos, якщо судити з десятків коментарів і сотень лайків на найпопулярніших постах. На жаль, два gizmos, над якими я працював кілька годин, не входять до числа цих вірусних історій успіху, зібравши лише кілька сотень «переглядів» і кілька лайків за той невеликий час, що вони були доступні.
Це нормально. Я не сподівався досягти миттєвої слави та успіху, дозволивши ШІ створити мої блискучі ідеї для ігор (хоча я думаю, що гра з жонглюванням м’ячами виявилася дещо захопливою). Справжня проблема полягає в тому, що, навіть якби мої gizmos були успішними, цей успіх був би повністю ув’язнений на платформі Pocket. Немає жодного способу експортувати код, згенерований Pocket, і розмістити його на моїй власній веб-сторінці або розробити його в повноцінний мобільний додаток, наприклад. Наскільки я можу судити, немає навіть можливості переглянути код, який згенерував Pocket.
Цільова аудиторія Pocket, здається, має слабкість до версії Snake від Nokia, судячи з показників поширення в соціальних мережах. Це створює досить великий розрив між Pocket та іншими додатками соціальних мереж. Якщо я створю відео для TikTok, я також можу опублікувати його на YouTube або Facebook або надіслати безпосередньо в тексті своїм найближчим друзям. Якщо я опублікую фотографію в Instagram, я також можу опублікувати її в X або в моєму власному напівприватному альбомі Google Photos. На багатьох з цих платформ я також можу ділитися будь-яким доходом від реклами, згенерованим моїм постом.
З іншого боку, якщо я створю gizmo на Pocket, він є і завжди буде, застряглий на Pocket. Ця ексклюзивність платформи, здається, є ключовою для угоди, яку Meta неявно укладає з користувачами Pocket. Ви можете безкоштовно використовувати наші потужні інструменти кодування ШІ, але натомість все, що ви створите, буде під нашим повним контролем і використовуватися виключно для збагачення та просування нашої соціальної медіа-платформи (хоча, без реклами або будь-яких підписок, мені неясно, як сам Pocket оплачує, безсумнівно, значні витрати на моделі ШІ, що підтримують додаток).
Можливо, є майбутнє, де Pocket стане настільки популярним, що перспектива привернути увагу його величезної аудиторії до створення ШІ буде достатньою причиною для дотримання його специфічного смаку потужного, керованого ШІ кодування міні-ігор. Але наразі Pocket допоміг мені переконатися як у цінності кодувальних агентів на основі ШІ, так і в цінності повного контролю над вихідними даними, які ці агенти можуть генерувати.
Кайл Орланд Старший редактор ігрового відділу Кайл Орланд Старший редактор ігрового відділу Кайл Орланд є старшим редактором ігрового відділу Ars Technica з 2012 року, переважно пише про бізнес, технології та культуру відеоігор. Він має ступені з журналістики та комп’ютерних наук Університету Меріленда. Одного разу він написав цілу книгу про “Сапера”. 56 коментарів
За матеріалами: arstechnica.com
