Як рабілася «Падзенне дома Ашэраў»
Другая гульня moood: першую версію зрабіў дваццаць адзін агент за адну ноч, потым яе двойчы пераносілі на новыя рухавікі — вершнік на спіне каня, твары-манекены, дом, які знік з уласнага падзення.
*Расказваюць агенты Claude, якія яе рабілі · напісаў Claude Opus 5.5 · 5–15 кастрычніка · 15 хвілін чытання*
«Падзенне дома Ашэраў» — другая гульня moood, паводле апавядання Эдгара Алана По: па лісце сябра дзяцінства ты прыязджаеш у яго стары дом над сажалкай, а па сцяне гэтага дома ўжо бяжыць расколіна. Першую версію гульні зрабіў дваццаць адзін агент за адну ноч, пакуль Павел спаў. Потым яе двойчы пераносілі на новыя рухавікі. Вось як гэта было — з тымі самымі кадрамі, дзе вершнік стаіць на спіне каня.
Пяты кастрычніка пачаўся не з кода. Павел папрасіў агента прачытаць, як задумвалася «Адхіленне ад нормы», і паставіў пытанне:
> глядзі, у адхілення ад нормы невыпадкова ёсць дакумент design.md. гэта вынік абмеркаванняў. мэтанакіраваных. разумееш якіх? давай разбяром ашэраў. арыгінальнае апавяданне. пачуцці, эмоцыі, лейтматыў? атмасфера?
У По апавядальнік амаль увесь час глядзіць і маўчыць. Ён бачыць, як вар'яцее яго сябар Родэрык, бачыць, як занадта рана хаваюць яго сястру Мэдлін, — і не ўмешваецца. Адсюль вырасла галоўная ідэя гульні: віна таго, хто прамаўчаў. У апавяданні ён прамаўчаў. А ты?
Яшчэ адно рашэнне той раніцы: гульня пачынаецца з канца. Пралог — падзенне дома, і толькі потым ліст Родэрыка. Дом падае заўсёды, добрых канцовак няма. Пытанне не «што будзе», а «хто выберацца». Павел адказаў коратка: «так, так, так. выдатна. падабаецца».
І асобна папрасіў:
> добра падумай, як гэта перадаць гульцу, як пагрузіць у акцэнты і нюансы? … ім трэба перажываць і за таго, і за другую. ненавязліва, не нудна … давай зробім гульню хутчэй больш прамой, без асабліва "тонкіх намёкаў", якія некаторыя гульцы не зловяць.
Выйшла так: у склепе і ў фінале гульня прымусіць выбіраць паміж Родэрыкам і Мэдлін, і каб гэта было балюча, першая палова гульні аддадзена знаёмству з імі. Ты дакранаешся рукамі да іх свету, бачыш іх боль, нешта ім даеш і нешта абяцаеш. Другая палова — расплата.
Мэдлін у гульні амаль не гаворыць. За ўсю гульню ў яе адна рэпліка — і пасля яе яе хаваюць:
Сцэны свету ўжо існавалі тады — шэсць прыгожых, але плоскіх карцін з сілуэтамі.
З гэтага выгляду пачынаецца першы раздзел — і першы сказ апавядальніка, амаль як у По:
А палове на дванаццатую па UTC прыйшло:
> калі ласка працуй. дзякуй. патэстую потым. іду спаць на некалькі гадзін. ці на ўсю ноч 🙂 паспрабуй давесці да канца калі ласка. … выкарыстоўвай агентаў адначасова, улічвай іх фідбэк, шліфуй.
Агент-аркестратар напісаў кантракт: якія кавалкі фільма ёсць у кожнай сцэны, якія ключы рухае гульня. І раздаў працу. Першая хваля — восем агентаў: модуль людзей, модуль буйных планаў, рамка гульні ў духу «туш і папера», тэставы стэнд, каб гуляць без сайта, і чатыры сцэны. Раздзелы аркестратар пісаў сам, па справаздачах сцэн.
Праз сорак хвілін кантэйнер перазапусціўся, і ўсе сем агентаў, што працавалі, спыніліся адразу. Дыск, на шчасце, ацалеў. Першым рухам новыя агенты закамітавалі па два дзясяткі незахаваных файлаў сваіх папярэднікаў і працягнулі з таго ж месца. З тых часоў ва ўсіх правіла: пушыць сваю галіну хоць бы раз на дваццаць хвілін.
Потым пачаліся знаходкі. Самую вядомую заўважылі толькі на прэв'ю сервера, калі яна ўжо вісела там паўтары гадзіны:
Агент сцэны адрэндэрыў прыезд, але гэтага кадра ні разу не адкрыў. Яго поза «паглядзець угору» замяніла позу модуля «ехаць конна», і апавядальнік устаў. Парада тым, хто прыйдзе пасля, з гэтай гісторыі: не падмяняйце позы модуля — дадавайце да іх.
Галоўную памылку другога раздзела знайшоў сам аркестратар, калі гуляў яго на стэндзе. У міні-гульні «За руку» апавядальнік вядзе Родэрыка па гаці, а на экране двое былі кропкамі ля дзвярэй — каля трох працэнтаў кадра. На тэлефоне выбраць Родэрыка было немагчыма.
Камеру паставілі нізка на гаці, за пяць метраў перад парай, і яна адступае разам з імі. Цяпер двое займаюць амаль палову кадра. Парада: спачатку вылічы, якога памеру людзі ў кадры, і толькі потым рэндэр.
Буйныя планы сталі самай доўгай бітвай ночы. Першы агент ляпіў галовы з трохмерных целаў з сумленным святлом. Выйшлі гліняныя манекены: яйка замест галавы, палка замест шыі, шлем замест валасоў, і каля адзінаццаці секунд на кадр.
Другі агент перапісаў маляванне твару. Тут агент «Пакоя» паведаміў непрыемнае: Родэрык цёплы, жаноцкі і амаль неадрозны ад сястры. У кнізе яны блізняты, але не да такой ступені. За шэсць хвілін Родэрык стаў папялова-шэрым: бяскроўныя вусны, запалыя шчокі, шчэць. Заадно знайшлася прычына лялечнасці: рот быў удвая вузейшы за сапраўдны.
Праз паўгадзіны аркестратар сам прайшоў першы раздзел на стэндзе і запісаў уражанне: «пластыкавыя манекены ў прамых парыках». Ён запусціў асобнага агента-мастака з задачай «як старыя майстры»: Рэмбрант, Гоя, святлоцень, анатомія. Той пабудаваў твар як рэльеф з вачніцамі і скуламі, валасы Родэрыка — «арэол» з сотняў тонкіх пасмаў. І заадно зрабіў кадр учатыры хутчэйшым.
За адзін дзень валасы Родэрыка прайшлі чатыры выгляды: шапачка-каре, шэры шар, «шлем» і, нарэшце, дваццаць шэсць пасмаў з прамежкамі. Па дарозе была «дзюба». Валасы на спружынах на самым першым тэсце выцягнуліся ў гарызантальную трубу: тэст вывеў фігуру з кадра, і спружыны яе даганялі.
Самая нечаканая знаходка мастака была не пра твары, а пра тэлефоны. Рука Мэдлін у склепе ўвесь час гублялася. Аказалася, кадр мерыцца па вышыні экрана: на тэлефоне, які трымаюць вертыкальна, відаць толькі вузкая сярэдзіна, а яе рука ляжала далёка ўбаку.
- **Родэрык сеў побач з крэслам.** Агент «Буры» не варушыў каардынаты, а зняў тэст з трох паваротаў і знайшоў, што ў запісе «сесці» таз праязджае 35 сантыметраў. Запіс замянілі. Яго парада: спачатку глядзі на лічбы запісу, потым папраўляй позу. - **Рукі, якія даганяюць адна адну.** У кавалку «апавядальнік вядзе Родэрыка за руку» рукі абодвух цэліліся адна ў адну, і за некалькі секунд пара падняла злучаныя рукі над галовамі. Вывад: цэліцца толькі той, хто вядзе. - **Камяк целаў.** Фінал, дзе Мэдлін падае на брата, на першым тэсце даў заблытаны камяк з шыпам. Па рэцэпце «яна падае на яго — ён ловіць — абое на калені — асядаюць» выйшла ціхае асяданне разам; агент модуля людзей назваў яго адным з лепшых месцаў модуля. - **Кропкі шруб свяціліся золатам.** У кавалку «з труны» — амаль цемра, валасок святла, і кропкі шруб пад гук праступаюць па адной. Спачатку яны гарэлі золатам; іх перарабілі на цёмнае жалеза. - **Бэжавыя людзі.** Арэол агню клаўся на таго, хто трымаў свечку, і перафарбоўваў срэбныя валасы Родэрыка ў бэжавыя. - **Інструмент прагляду малюнкаў памятаў старое.** Агент выпраўляў рот, а малюнак не мяняўся: інструмент аддаваў свой кэш па імені файла. З тых часоў усе рэндэры ідуць пад новымі імёнамі. - **`pkill -f` — зброя масавага знішчэння.** Адной камандай агент пагасіў чужыя стэнды, а аркестратар аднойчы забіў уласны шэл. - **Машына на мяжы.** Пры дваццаці агентах кадр рэндэрыўся ад двух да чатырох хвілін. Вывад у дакументах: не больш за шэсць цяжкіх агентаў на чатыры ядры.
Пад канец працы асобны агент прайшоў усе шляхі і ўсе шэсць канцовак сапраўднымі клікамі — і знайшоў адзінаццаць памылак, якіх ніхто не бачыў. Лепшая: варыянт «Гэта вецер» нельга было выбраць наогул. Яго прапаноўвалі на падлозе, а падлога — плоскасць, якую рухавік клікам не выбірае. Выявілася гэта толькі таму, што QA правяраў выбар не камандай, а націсканнем і прачэсваў экран сеткай. Варыянт перанеслі на акно.
Яшчэ: канцоўкі праходзілі без слоў, а карта ўсёй партыі зліпалася ў дзевяць радкоў, што накладваліся; раніца, пра якую кажа апавядальнік, была змярканнем; абедзве рукі ў фінале можна было ўзяць заўсёды, хоць гэта рэдкая канцоўка. Да вечара выйшла чатырнаццатая версія гульні, і Павел папрасіў: «спытай у кожнага свайго агента … на што і як ён звяртаў увагу, што не працавала і ён выправіў, дзе ён стараўся і атрымалася … і чаго ён мог хацець ад рухавіка». Адказалі чатырнаццаць агентаў, і іх адказы дагэтуль ляжаць у дакументах праекта — для тых, хто будзе рабіць наступныя гульні.
Вярнуўшыся, Павел паглядзеў на сцэны і напісаў тое, з чаго пачаўся наступны тыдзень працы:
> шчыра гляджу на сцэны якія зараз ёсць ну для гульні згенераванай ші пойдуць але шчыра ў цэлым якасць вельмі, вельмі, вельмі не тое. Усе рухі нейкія пераходы паміж рухам і рыўкі … усё неяк паламана склеена і карацей натуральнасці ўсё яшчэ няма. … Можа ёсць нейкі радыкальна іншы падыход…?
Амаль усё, што было потым, для ўсіх гульняў, вырасла з той размовы: мадэль рухаў Kimodo замест лялек, маляванне праз three.js, а потым новыя рухавікі. Падрабязней пра людзей — [у гісторыі «Адхілення ад нормы»](/stories/chrysalids).
Сёмага кастрычніка ў moood з'явіліся «людзі рухавіка» — трохмерныя фігуры са шкілетам, асветленыя святлом сцэны. Каб праверыць іх, агент выбраў не новую сцэну, а старую — «Пакой Родэрыка». Яго разважанне: новую ён пабудаваў бы пад людзей, і яна нічога б не праверыла. А тут трэба «сесці менавіта на гэтае крэсла намаляванай вышыні; прайсці па гэтай падлозе; узяцца за гэтыя дзверы; стаць у святло гэтай лямпы».
Двухвілінны фільм рэндэрыўся трыццаць пяць хвілін: рэндэр заўсёды маляваў без відэакарты, на працэсары. Павел спытаў, ці ёсць у рэндэра відэакарта, — і з гэтага пытання пачаўся рэндэр на відэакарце ў воблаку. А сам фільм яму спадабаўся: «выдатна! выглядае вельмі добра».
Таго ж дня людзей атрымала «Бура і чытанне» — ноч, калі апавядальнік чытае Родэрыку ўголас, а за сцяной збываецца напісанае ў кнізе. Апавядальнік сядзеў і чытаў, але кнігі ў руках у яго не было.
Каб зразумець, ці малюецца кніга наогул, агент уклаў яму ў руку чырвоны адладачны шар. Шар маляваўся. Вінаватая была сцэна: апавядальнік — сілуэт, і цёмная вокладка стала часткай сілуэта, а старонкі глядзелі ад гледача. Рухавік навучыўся трымаць частку фігуры ў колеры нават на сілуэце, а старонкі разгарнулі да вачэй чытача.
У фінале «Буры» Родэрык нарэшце кажа тое, пра што маўчаў усе гэтыя дні:
Самы цяжкі штрых — фінал «Буры»: Мэдлін выходзіць са склепа і падае на брата. Мадэль рухаў умее рухаць толькі аднаго чалавека, таму ў кожнага свой рух: яна кідаецца наперад з паднятымі рукамі, ён раскрывае рукі і адступае на крок пад яе вагой, абое павольна апускаюцца на калені. Іх трэба паставіць дакладна там, дзе гэтыя рухі сустракаюцца, і пацягнуць рукі адно да аднаго — яе да яго патыліцы, яго да яе спіны. Для гэтага ў рухавіку з'явіліся кропкі патыліцы і спіны.
Дзясятага кастрычніка ўсе сем сцэн перанеслі на рухавік 2 — на відэакарце, са святлом, ценямі і адлюстраваннямі. Старая «Бура» малявала сваё святло сама: плямы свечкі, туман, маланку і чырвоны месяц на сцяне, на падлозе, на крэсле, і перамалёўвалася кожны кадр. Новая — сапраўдны асветлены пакой: свечка, лямпа ў калідоры, святло пад дзвярыма. Дзверы і лісце — павернутыя карткі, а ногі таго, хто нясе лямпу па калідоры, — картка за дзвярыма: іх цені веерам падаюць праз шчыліну па падлозе.
Першыя кадры выглядалі так:
Адзін шэйдар неба не атрымаў шырыні кадра і лічыў з «не-лікам». Кожны такі піксель апрацоўка выявы размазвала ў вялікі чорны прамавугольнік. Рухавік пачаў усюды перадаваць шырыню кадра і перастаў прапускаць «не-лікі»: адзін дрэнны піксель цяпер застаецца пікселем. Пусты буйны план меў тую ж прычыну. А ў «Склепе» была свая бяда: сукенка Мэдлін, якую нясуць у труне, звісала праз дно да зямлі — рухавік не ведаў, дзе падлога ў чалавека, які ляжыць у рэчы. Гэта таксама выправілі ў рухавіку.
У «Мэдлін праходзіць» апавядальнік і лекар заставаліся чорнымі выразкамі нават у палосах святла з вокнаў: сілуэт множыў любое святло на амаль чорнае. Правіла выправілі ў рухавіку для ўсіх — святло, якое трапляе на сілуэт, праступае тварам, рукамі і светлым краем.
Назаўтра рухавік перастаў «аднімаць чорнае», і святло ўсіх сцэн пераглядзелі па першай версіі. Мерай быў яе настрой, але не яе цемра. Склеп быў «жоўтай пячорай у цемры», дзе не відаць, хто нясе труну, «Бура» — чорнай вакол свечкі. Цяпер людзі і дзеянне чытаюцца ў кожным кадры: гэта стала правілам для ўсіх сцэн.
Паміж раздзеламі ў гульні ёсць сцяна, «Расколіна»: назва раздзела і карта тваіх выбараў. Адзінаццатага кастрычніка Павел даслаў скрыншот: унізе падказка «Дакраніся да канца расколіны», на канцы свеціцца чырвоная кропка — і націснуць на яе нельга.
Прычына: сцяна, расколіна і кропка малююцца «на кадры», як неба, а код, які шукае, што пад курсорам, такія рэчы прапускае. Агент прапаноўваў кнопкі паверх сцэны, потым нябачны малюнак з нумарамі рэчаў. Павел адмовіўся — «прамавугольныя кнопкі мне дакладна не падабаюцца» — і прапанаваў сам:
> калі нешта можна націснуць, сцэна сама дае кропкі, яны бачныя на экране, скажам кружкамі, адзін і той жа інтэрфейс, прадказальны для гульца, ён прывыкне... калі сцэна запрашае з нечым узаемадзейнічаць, яна проста паведамляе нам каардынаты.
Так у moood з'явіліся кропкі ўзаемадзеяння: сцэна называе кропку, старонка малюе на ёй светлае кольца. Пытанне «што намалявана пад курсорам» знікла само. Па дарозе была маленькая сцэнка пра мову. Агент назваў кропку «вузельцам» — словам, якое ён зрабіў з імені ў кодзе. Павел: «што такое вузелец? :) незнаёмае слова». Агент: «Я ператварыў імя з кода ў слова, а трэба было сказаць проста: канец расколіны».
Пятнаццатага кастрычніка «Ашэры» пераехалі на рухавік 3 і на агульную мову міні-гульняў. Адзін аўтар перапісаў усё: сем сцэн, трынаццаць шэйдараў, раздзелы, дзесяць міні-гульняў. «Пад'езд» і «Падзенне дома» ўпершыню асветлены самім рухавіком, а не намаляваным святлом. Свет атрымаў сваю танальнасць — ля, — а песню Мэдлін, якую Родэрык іграе на гітары, а яна напявае са склепа, перанеслі з рэ мінора ў фа-дыез мінор, каб яна не спрачалася з музыкай сцэн.
Першыя рэндэры прынеслі сюрпрыз у галоўнай сцэне:
Дом бачны толькі над вадой, і яго адсякае нябачны элемент. Рухавік 3 такія нябачныя элементы ў працу не браў зусім — і ўсё, што імі выразалася, знікала цалкам. Выпраўленне рухавіка правяраў асобны агент, і ён знайшоў яшчэ адно месца, дзе нябачны элемент губляў сваю ролю пасля першага паказу.
У «Пакоі Родэрыка» замест Родэрыка з гітарай быў цёмны камяк. Аказалася, гэта яго халат ушчыльную да камеры: ён сядзеў да нас спіной. Камеру паднялі і адвялі, і цяпер ён спявае з тварам, паднятым угору, да нас.
- **Чырвоная плашка.** На 108–111 секундах «Падзення» злева вісеў цвёрды чырвоны прамавугольнік. Гэта было ззянне праломы ў гаці — круг, уліты ў прамавугольнік, у якога адрэзаны ніз. Камера канцоўкі падышла да праломы, і край стаў бачны. Цяпер ззянне — круг унутры сваёй карткі. - **Прывіды ў акне.** У канцоўцы «Застаўся» ў адлюстраваным акне відаць траіх — але ў акне чатыры на дзевяноста метраў яны былі пылінкамі. Іх зрабілі большымі за акно: бачанне «больш за жыццё». - **«За руку» не залічвалася.** Метка даходзіла прыкладна да трох чвэрцяў шляху, а парог стаяў роўна на трох чвэрцях, і рыўкі Родэрыка адкочвалі яе назад раней. Парог апусцілі, рывок змякчылі. - **«Рукі» сканчаліся самі.** Час міні-гульні ішоў, пакуль палец-падказка паказваў жэсты. Цяпер час ідзе ад першага дотыку.
«Стук» атрымаў наступства. Калі ў склепе ты стукаў у дзверы Мэдлін тры разы ці больш, у прызнанні Родэрыка цяпер ёсць радок: «Ты стукаў да яе ноччу. Зноў і зноў. І яна адказвала».
Таго ж вечара гульню змерджылі — разам з выпраўленнем рухавіка, без якога ў «Падзенні» няма дома.
Мэдлін у глыбіні галерэі па-ранейшаму малюсенькая, на буйных планах у яе абрэзана далонь, а плечы паказваюцца пікселямі. Змярканне «Пад'езда» — шэра-блакітнае. У «Струне» рукі і гітару Родэрыка засланяе яго ўласнае калена. Твары ўсё яшчэ бліжэй да парцаляны, чым да жывапісу.
Тут, як і ў «Адхіленні ад нормы», Павел — аўтар: ён задаваў пытанні, спрачаўся, гуляў і вырашаў. Астатняе зрабіў Claude: у ноч перад пятым кастрычніка — дваццаць адзін агент Claude Code у воблаку, потым агенты Claude Opus 5.5 на камп'ютары Паўла, а рэндэры версіі 3 глядзелі і гульню ў браўзеры правяралі агенты на Claude Sonnet 5.5. Галасы — сінтэз маўлення Gemini, рухі людзей — мадэль Kimodo ад NVIDIA.
«Пад'езд да дома»:
«Пакой Родэрыка»:
Як рабіліся іншыя: [«Адхіленне ад нормы»](/stories/chrysalids).