Зрабіць сваю гульню
moood — гэта жывая сцэна, якую малюе код, і старонка, дзе паверх яе працуе ваш код, а што з гэтага атрымаецца — вырашаеце вы. Што адкрыта, чым дапамагае студыя і як у яе трапіць.
У аснове moood дзве рэчы. Жывая сцэна, якую малюе код: месца са святлом, надвор'ем, людзьмі і музыкай. І старонка, дзе паверх гэтай сцэны працуе код вашай гульні. Усё астатняе — якой будзе гульня — вырашае аўтар.
Нашы гульні атрымаліся гісторыямі з выбарамі: раздзел за раздзелам, рэплікі, міні-гульні. Але гэта толькі адзін са спосабаў. Сцэна можа быць месцам, дзе проста хочацца пабыць. Гульня можа быць галаваломкай, цацкай, шпацырам без мэты, размовай — чым заўгодна, што змяшчаецца ў код. Тут — што для гэтага ёсць і як гэтым карыстацца.
Свет на moood — гэта набор сцэн. Кожная — месца: прыстань на золку, кухня, стэп пад снегам. Яе малюе код — святло, вада, туман, вецер, адлюстраванні, — і ў ёй жывуць людзі: ходзяць, сядаюць, азіраюцца. Камера сама здымае таго, на каго глядзіць сцэна. У кожнай сцэны свая музыка.
Сцэна жыве і сама па сабе. Яе стан — золак ці ноч, дождж ці ясна, хто дзе стаіць — змяняецца ключамі, і адна і тая ж сцэна можа за хвіліну прайсці шлях ад змрокаў да цемры. Сцэну можна паказаць і без усякай гульні, проста як жывую карціну: такія накіды таксама ёсць на moood.me.
Гульня — гэта код, які вы пішаце самі, і колькі яго будзе — таксама ваша справа. Старонка дае яму сцэны і ўсё, што ў іх можна змяняць: паказаць іншую сцэну, змяніць надвор'е, павесці чалавека, даць яму сказаць рэпліку яго голасам, уключыць гук, захаваць, паставіць на паўзу. Далей — як задумаеце.
Можна, як мы, пісаць раздзелы і выбары. Для гэтага ёсць гатовае: мапа партыі, перагульванні, мова міні-гульняў — жэсты, меткі і водгукі, якія гулец разумее без подпісаў. Можна нічога з гэтага не браць: пакінуць адну сцэну і даць чалавеку ў ёй нешта рабіць. Можна паказваць гульню на сваім сайце і даць яе коду размаўляць з чым захочацца — хоць з моўнай мадэллю, якая вядзе персанажа.
Спачатку ў кожнай гульні былі свае міні-гульні, і гулец кожны раз нанова гадаў, што тут націскаць. Потым са скарг і пажаданняў вырасла агульная мова: метка на прадмеце, жэст рукой, водгук сцэны, планка ўверсе — і гук, які падказвае, атрымалася ці не. Падрабязна — у артыкуле [«Мова міні-гульняў»](/stories/minigame-language). Карыстацца ёю неабавязкова, але яна эканоміць шмат сіл.
З тэчкі. Свет, гульня і артыкул — проста тэчкі ў git-рэпазіторыі: вашым, на вашым GitHub, з вашымі сааўтарамі, галінамі і гісторыяй. У адным рэпазіторыі іх можа быць колькі заўгодна.
Пісаць зручна разам з ШІ-агентам — Claude Code, ChatGPT, Gemini, любым. Для гэтага ёсць адкрыты рэпазіторый [moood](https://github.com/moood-me/moood): рухавікі, старонка сцэны і старонка гульні, мова міні-гульняў, праверка і маленькі плэер, каб гуляць у сябе. Мы клалі туды ўсё па адным правілу: калі рэч патрэбна, каб зрабіць гульню і згуляць у яе, — яна там. І дакументацыю, напісаную так, каб па ёй мог працаваць агент: што важна ў сцэне і чаго не рабіць ніколі, як ставіць святло і людзей, як уладкавана гульня, як пісаць сцэнарый, калі ён вам патрэбны.
А каб агенту было на што паглядзець, мы адкрылі і свае работы — рэпазіторыі [works](https://github.com/moood-me?q=works). Там светы і гульні з moood.me з кодам сцэн і гісторыяй таго, як іх рабілі, пляцоўка міні-гульняў, дзе кожны жэст можна памацаць асобна, і раннія маленькія светы — пробы таго, якімі бываюць сцэны. Бярыце, што спатрэбіцца.
Любая рэч — свет, сцэна, гульня, артыкул — завецца адным радком: `ваш-рэпазіторый@галіна:тэчка`. Галіну можна замяніць комітам. Так яе адкрываюць у студыі, на яе спасылаюцца з іншай гульні, яе даюць агенту. Гульня можа стаяць і на чужым свеце — па такім адрасе.
Спачатку было складаней: у кожнага свету былі свае службовыя галіны пад кожны сайт, куды ён выкочваўся. Агентам так было звычна. Павел паглядзеў і сказаў: «Неяк кагнітыўна складана гэта)… А без галін — ніяк?)» — і папрасіў падумаць не пра тое, як паправіць, а пра тое, як зрабіць проста. Высветлілася, апроч git нічога і не трэба: вашы галіны — гэта і ёсць вашы чарнавікі.
У сябе — у плэеры з moood: ён запускаецца над вашай тэчкай, і як толькі вы захаваеце файл, старонка абновіцца сама, а гульня працягнецца з таго ж месца. Або ў студыі: там відаць любую галіну адразу пасля пуша, на камп'ютары і на тэлефоне. Паправілі нешта, пакуль гулялі, — студыя прапануе працягнуць на новай версіі, не пачынаючы спачатку.
Ёсць рэчы, якіх на сваім камп'ютары не зробіш: патрэбна відэакарта, патрэбны мадэлі, што гавораць, складаюць музыку і рухаюць людзей. Для гэтага студыя. Ёю можна карыстацца цалкам, можна ўзяць з яе нешта адно, можна не карыстацца наогул.
**Убачыць.** Студыя малюе сцэну на відэакарце: карцінку, аркуш кадраў па секундах, відэа. Гэта патрэбна не толькі вам. Агент глядзіць на сваю працу карцінкамі і правіць яе сам, пакуль вы занятыя іншым. Падключаецца ён да студыі адзін раз: вы дазваляеце на старонцы, дзе простымі словамі напісана, што ён зможа, і далей ён працуе ад вашага імя.
**Ажывіць людзей.** Рух чалавека апісваецца словамі: «павольна ідзе наперад», «садзіцца і глядзіць на ваду». Яго робіць мадэль, навучаная на запісах сапраўдных рухаў, а студыя паказвае яго на розных людзях, перш чым ён трапіць у сцэну.
**Даць голас.** Любы радок можна азвучыць: у кожнага героя свой голас і манера, а ў асобнай рэплікі можа быць асаблівая — «з зайздрасцю і захапленнем, а не здзекліва». Усе рэплікі гульні відаць у адным месцы, іх можна паслухаць.
**Даць музыку.** Музыку сцэны апісваеце словамі і змешваеце апісанні па вагах: «ціхае піяніна ў змроку» гучней, «дождж па лісці» цішэй. Слухаць можна адразу, яшчэ не захаваўшы. Зробленае аднойчы захоўваецца: тая ж рэпліка ці тая ж музыка другі раз не робіцца.
**Пачаць без коду.** У студыі ёсць мастак — ШІ, якому можна проста напісаць: «хай будзе вечар, і ліхтар на прыстані гарыць». Ён правіць сцэну сам, і кожная змена адразу відаць. Ён для таго і ёсць, каб свет можна было пачаць проста ў браўзеры, без рэдактара і без свайго агента. Хоць бы і з цікаўнасці: зрабіць пару сцэн і паглядзець, што атрымаецца.
**Не гальмаваць.** Жывая сцэна павінна ісці плаўна і на слабым ноўтбуку, і на тэлефоне. Студыя вымярае яе на розных машынах і паказвае, дзе яна не ўкладваецца. Чаму гэта для нас так важна — у артыкуле [«Чаму тармазіла»](/stories/why-it-was-slow).
**Гаварыць на ўсіх мовах.** Гульні на moood гавораць на дванаццаці мовах, і ваша можа таксама. Праверка знаходзіць неперакладзенае, спасылкі ў нікуды, сцэны, якія не збіраюцца, — і паказвае, якіх галасоў, музыкі і карцінак не хапае. Недастаючае робіцца адной кнопкай. Праверка хуткая: сцэны на відэакарце яна перамалёўвае, толькі калі папрасіць, — правяраць жа хочацца часта.
Гатовую гульню можна папрасіць апублікаваць на moood.me. Перад паказам яе паглядзяць, і яна стане на сайце побач з астатнімі — з карцінкамі сцэн, галасамі і музыкай.
А можна і без нас. Старонкі moood пакажа любы сайт або праграма, што адказвае на іх некалькі простых запытаў. Можна ўзяць рухавік і зрабіць на ім нешта зусім сваё.
Мы стараліся, каб у студыі не губляліся. Яна ўладкавана як партал: злева сервісы — рэпазіторыі, светы, гульні, артыкулы і майстэрня: рэндэры, вымярэнні, маўленне, музыка, рухі, мастак, праверкі, публікацыі. Уверсе пошук адразу па ўсім: набралі «ліхтар» — і відаць і гульню, і артыкул, і сцэну. Патрэбнае адзначаецца зорачкай. Ёсць цёмная тэма і тэлефон, а сама студыя гаворыць на тых жа дванаццаці мовах.
Лавілі і дробязі. Націскаеш пункт меню, а адказу няма — ці то націснулася, ці не. Цяпер пункт падсвечваецца адразу, а калі старонка грузіцца даўжэй за імгненне, з'яўляецца «Загружаецца…». Калі хутчэй — нічога не міргае.
Асобны агент прайшоў усю студыю за некалькіх выдуманых людзей: дасведчанага аўтара, пачаткоўца, таго, хто толькі зайшоў. Кожную старонку ён адкрываў на дзвюх мовах, у светлай і цёмнай тэме, на камп'ютары і на тэлефоне — і запісваў, дзе спатыкаецца.
Знайшлося смешнае і крыўднае. Аўтар націскаў «Вымераць» — і трапляў на «не знойдзена»: свой жа вымер не адкрыць. Гульня на англійскай у беларускай студыі паказвалася без назвы і без кнопкі «Гуляць». Пачатковец упіраўся ў тупік: заходзіць — а далей нічога. Усё гэта паправілі да таго, як студыю адкрылі.
Доступ у студыю дае Павел. Напішыце яму ў [Telegram](https://t.me/pavel_zhur) або на [[email protected]](mailto:[email protected]) — ён адкрые, проста так. А калі захочацца дапамагчы самому moood — рухавіку, старонкам, дакументацыі, — ён будзе рады: issues і pull requests у [moood](https://github.com/moood-me/moood) адкрытыя для ўсіх.