На экране танцуют пиксели: ярко-красные точки с едва заметными зелеными шлейфами мечутся по черному фону, словно светляки на ночном летнем небе. Первые несколько секунд движение на экране кажется абсолютно хаотичным: пиксели снуют туда-сюда, сталкиваются и разлетаются вновь. Но вдруг небольшая группа красных точек собирается в пульсирующий, неровный круг, окаймленный зеленой полосой. Круг растет, по мере того как с ним сталкивается все больше красных пикселей; зеленый пояс расширяется. Секунды спустя в углу экрана появляется еще один круг неправильной формы, а за ним — еще три. Эти круги не похожи ни на одну геометрическую фигуру, которую вы когда-либо видели. Они больше напоминают живой организм — цифровой сгусток, который беспорядочно пульсирует, то разрастаясь, то сжимаясь. Два сгустка медленно ползут навстречу друг другу, а затем сливаются в единое целое. Спустя несколько минут на экране доминируют семь крупных сгустков, и лишь несколько оставшихся свободных красных пикселей неторопливо блуждают по экрану.
Добро пожаловать в мир StarLogo — созданного Митчем Резником инструмента для визуализации самоорганизующихся систем. Будучи преемником Logo, легендарного языка программирования Сеймура Пейперта с его знаменитой «черепашкой», StarLogo позволяет моделировать эмерджентное поведение с помощью простых команд, похожих на обычные английские фразы, — и отображает это поведение в виде яркой анимации в реальном времени. Если децентрализованные системы порой кажутся контринтуитивными или абстрактными, трудно поддающимися описанию на словах, то StarLogo вдыхает в них жизнь с помощью динамичной графики, идеально подходящей для поколения Nintendo. Если календарь — это инструмент, помогающий нам размышлять о течении времени, а круговая диаграмма — инструмент для осмысления статистического распределения, то StarLogo — это инструмент для размышлений о системах, развивающихся «снизу вверх». И на самом деле эти похожие на живые организмы сгустки на экране возвращают нас к самому началу нашей истории: перед нами цифровые слизевики — клетки, объединяющиеся в крупные кластеры без какого-либо лидера-«водителя ритма».
— Эти красные пиксели — отдельные клетки слизевика, — говорит Резник, указывая на экран в своем кабинете в Кембридже. — Они запрограммированы бесцельно блуждать по экрану, и во время этого блуждания они «выделяют» зеленый цвет, который быстро гаснет. Этот цвет эквивалентен химическому веществу цАМФ, которое слизевики используют для координации своего поведения. Я запрограммировал красные клетки так, чтобы они «вынюхивали» зеленый цвет и двигались по его градиенту. «Почуяв» зеленые пиксели, клетки движутся навстречу друг другу.
Как и муравьиные колонии Деборы Гордон, симуляция слизевика Резника чувствительна к плотности популяции. — Давайте начнем всего со ста клеток слизевика, — говорит он, перемещая ползунок на экране, изменяющий количество клеток в симуляции. Он нажимает кнопку запуска, и сто красных пикселей начинают свой неистовый танец — но на этот раз никаких кластеров не возникает. При столкновении нескольких клеток возникают мгновенные зеленые вспышки, но никаких более крупных структур не образуется вовсе.
— При ста клетках контактов недостаточно для образования скоплений. Но если утроить популяцию вот так, — говорит он, сдвигая ползунок дальше вправо, — то частота контактов между клетками увеличится. При трехстах клетках через пару минут вы обычно получаете один кластер, а иногда два. — Мы ждем около тридцати секунд, и после нескольких ложных стартов в районе центра экрана формируется кластер. — Как только они соединяются вместе, разъединить их крайне сложно, хотя поначалу процесс их объединения может быть очень капризным.
Затем Резник снова утраивает популяцию и перезапускает симуляцию. На этот раз перед нами совершенно иная система: вспышка активности красных клеток, и почти мгновенно формируются десять кластеров, заполняя практически весь экран пульсирующими фигурами, похожими на арбузы. Остается лишь горстка одиноких красных клеток, бесцельно дрейфующих между кластерами. Большее — это совершенно другое. — Самое интересное, — с усмешкой говорит Резник, — что вы не смогли бы с уверенностью предсказать такое поведение заранее, просто глядя на инструкции. Можно было бы предположить, что все клетки слизевика тут же образуют один гигантский кластер, или что они сформируют кластеры, которые будут постоянно распадаться. На самом деле не происходит ни того, ни другого, и вся система оказывается гораздо более чувствительной к начальным условиям. При ста клетках кластеров нет вообще; при трехстах вы, скорее всего, получите один, но он останется практически навсегда; а при девятистах клетках вы сразу получите десять кластеров, но они будут двигаться чуть более хаотично. Но ничего из этого нельзя было понять, просто глядя на исходный набор инструкций. Нужно заставить ее ожить, прежде чем вы сможете понять, как она работает.
* * *
На первый взгляд StarLogo может показаться видеоигрой, но работа Резника на самом деле лежит скорее в русле традиций Фридриха Фрёбеля — немецкого педагога, который изобрел детский сад и посвятил значительную часть своей карьеры в начале XIX века созданию хитроумных игрушек, призванных одновременно забавлять и развлекать малышей. — Когда Фрёбель проектировал первый детский сад, — рассказывает мне Резник, — он разработал набор игрушек, которые назвали «дарами Фрёбеля». Он тщательно создавал их, исходя из предположения, что предмет, который он дает в руки детям, сыграет огромную роль в том, чему и как они научатся. То же самое мы видим и сегодня. Мы рассматриваем некоторые из наших новых технологий как современные версии «даров Фрёбеля»: мы стремимся дать детям новые виды материалов и новые типы игрушек, которые изменят то, о чем они думают, — и то, как они об этом думают.
StarLogo, разумеется, создана для того, чтобы помочь детям — да и взрослым тоже — осмыслить определенный тип явлений, но она ни в коем случае не ограничивается слизевиками. Существуют программы на StarLogo, которые симулируют поиск пищи муравьями, лесные пожары, эпидемии, дорожные пробки — и даже программы, генерирующие более традиционные евклидовы фигуры по принципу «снизу вверх». (Резник называет это «черепашьей геометрией» — по прозвищу, используемому для описания отдельных агентов в программе StarLogo; сам этот термин заимствован из оригинального языка Logo, разработанного Пейпертом для обучения детей традиционным методам программирования). Эта способность к перевоплощению — одно из главных достоинств языка. «StarLogo — это среда моделирования, в которой дети могут создавать модели тех или иных явлений, наблюдаемых ими в мире, — говорит Резник. — В частности, она позволяет им моделировать процессы, в которых множество объектов взаимодействуют друг с другом. Так, они могут моделировать движение автомобилей на шоссе или поведение птичьей стаи, задавая правила поведения для множества отдельных птиц, а затем наблюдая за узорами, возникающими в результате всех этих взаимодействий.
«Одна из причин, почему мы особенно заинтересованы в создании подобного инструмента, заключается в том, что такие явления часто встречаются в повседневной жизни, — продолжает он. — Мы постоянно видим птичьи стаи и дорожные пробки. С другой стороны, людям очень трудно понять подобные явления. Когда люди видят стаю птиц, они полагают, что летящая впереди птица — это вожак, а остальные просто следуют за ней. Но в реальности птицы формируют стаи совсем не так. На самом деле каждая птица просто следует простым правилам, и в итоге они объединяются в группу».
По своей сути StarLogo оптимизирована для моделирования эмерджентных систем, подобных тем, что мы рассматривали в предыдущих главах, а потому структурные элементы любой программы на StarLogo хорошо знакомы: локальные взаимодействия между большим числом агентов, управляемые простыми правилами взаимной обратной связи. StarLogo — это своего рода мыслительный протез, инструмент, позволяющий разуму освоить концепцию, для понимания которой он не приспособлен от природы. StarLogo нужна нам для понимания эмерджентного поведения по той же причине, по которой нам нужны рентгеновские аппараты или калькуляторы: наши органы чувств и когнитивные способности не могут справиться с этой задачей самостоятельно.
Преодолеть это ограничение бывает на удивление трудно. Возьмем историю, которую Резник рассказывает о гуру искусственного интеллекта Марвине Минском, впервые столкнувшемся с симуляцией слизевика. «Как-то раз, вскоре после того как я разработал первый рабочий прототип StarLogo, ко мне в кабинет заглянул Минский. На экране компьютера он увидел раннюю версию моей программы слизевика на StarLogo. На экране было несколько зеленых пятен (имитирующих химический феромон), внутри каждого из которых двигалась группа „черепашек“. Несколько черепашек хаотично блужали в пустом пространстве между пятнами. Стоило одной из этих черепашек подобраться достаточно близко к пятну, как она присоединялась к группе внутри него».
Минский несколько секунд разглядывал экран, а затем спросил Резника, над чем тот работает. «Я объяснил, что экспериментирую с самоорганизующимися системами. Минский какое-то время смотрел на экран, а потом сказал: „Но эти существа не самоорганизуются. Они просто движутся к зеленой еде“».
«Минский предположил, что зеленые пятна — это кусочки еды, разбросанные по миру черепашек. На самом же деле эти зеленые пятна создавали сами черепашки. Но Минский видел это иначе. Вместо того чтобы увидеть существ, организующихся самостоятельно, он увидел существ, которые группируются вокруг заранее разложенной еды. Он предположил, что характер их скопления определялся расположением пищи. И он придерживался этой интерпретации — по крайней мере, какое-то время, — даже после того, как я сказал ему, что программа построена на самоорганизации».
Минский попался на удочку мифа о муравьиной матке: предположения, что коллективное поведение подразумевает наличие некоего центрального органа управления — в данном случае, что пища диктовала поведение клеток слизевика. Минский полагал, что можно предсказать, где образуются кластеры, просто посмотрев, где была размещена еда в начале симуляции. Но никакой еды не было. И не было ничего, что предписывало бы кластерам формироваться в определенных местах. Клетки слизевика самоорганизовывались, пусть и в рамках параметров, изначально заданных Резником.
«Минский думал о самоорганизации и децентрализованных системах больше — и глубже, — чем почти кто-либо другой, — пишет Резник. — Когда я объяснил ему правила, лежащие в основе программы слизевика, он сразу понял, что происходит. Но его первоначальная реакция была весьма показательна. Тот факт, что даже Марвин Минский отреагировал подобным образом, указывает на то, насколько сильна тяга к централизованным объяснениям».
Конечно, на самом фундаментальном уровне StarLogo сама по себе является централизованной системой: она подчиняется правилам, установленным единственной властью — программистом. Но путь от кода Резника к этим кластерам слизевика — непрямой. Вы не программируете клетки слизевика на объединение в кластеры; вы программируете их следовать по следам, оставленным их соседями. Если клеток достаточно много, а следы сохраняются достаточно долго, то возникнут кластеры, но вы не сможете управлять этим процессом напрямую. А предсказать количество кластеров или их долговечность практически невозможно без многочисленных экспериментов с системой методом проб и ошибок. Кевин Келли назвал свою новаторскую книгу о децентрализованном поведении «Вне контроля», но эта фраза не вполне отражает суть эмерджентных систем — по крайней мере, тех, что мы намеренно создаем на экране компьютера. Системы вроде StarLogo — это не абсолютная анархия: они подчиняются правилам, которые мы задаем заранее, но эти правила управляют лишь микромотивами. Макроповедение — совсем другое дело. Вы не можете контролировать его напрямую. Всё, что вы можете сделать, — это создать условия, которые, по вашему мнению, сделают такое поведение возможным. А затем нажать кнопку запуска и смотреть, что произойдет.
С подобным опосредованным контролем странно сталкиваться в мире программного обеспечения, но он становится всё более распространенным явлением. Раньше программирование представлялось сферой абсолютного контроля: вы говорили компьютеру, что делать, и у него не оставалось иного выбора, кроме как подчиняться вашим приказам. Если компьютер не выполнял вашу волю, это неизбежно объяснялось ошибкой в коде, а не автономностью самой машины. Лучшими программистами были те, кто держал систему под самым жестким контролем, кто мог заставить машины выполнять работу с помощью минимального объема кода. Неслучайно Норберт Винер произвел термин «кибернетика» от греческого слова, означающего «рулевой»: искусство создания ПО с самого начала строилось вокруг систем управления и того, как эффективнее всего ими рулить.
Но эта парадигма контроля постепенно уступает место более опосредованной форме программирования: ПО, которое вы скорее «выращиваете», а не проектируете, ПО, которое учится решать задачи автономно, — именно так, как представлял себе Оливер Селфридж в своей модели «Пандемониум». Новая парадигма во многом заимствует приемы из арсенала естественного отбора, выводя новые программы из разнообразного генофонда. Первые несколько десятилетий существования программного обеспечения по своей философии были, по сути, креационистскими: всемогущая сила вызывает программу к жизни своей волей. Однако следующее поколение оказывается глубоко дарвиновским.
* * *
Вспомним программу для сортировки чисел, разработанную несколько лет назад легендой суперкомпьютерных технологий Дэнни Хиллисом, — программу, которая опровергает все наши традиционные представления о том, как должно создаваться программное обеспечение. На протяжении многих лет сортировка чисел служила одним из эталонных тестов для изобретательных программистов, подобно шахматным приложениям. Скормите программе сотню случайных чисел и посмотрите, сколько шагов ей потребуется, чтобы выстроить цифры в правильном порядке. При использовании традиционных методов программирования рекорд по сортировке чисел составлял шестьдесят шагов, когда Дэнни Хиллис решил попробовать свои силы. Но Дэнни Хиллис не просто сел писать приложение для сортировки чисел. То, что он создал, было рецептом обучения, программой для создания другой программы. Иными словами, он не учил компьютер сортировать числа. Он научил компьютер разбираться, как сортировать числа, самостоятельно.
Дэнни Хиллис провернул этот фокус, подключив колоссальные возможности естественного отбора к массивно-параллельному суперкомпьютеру — Connection Machine, в проектировании которого он сам принимал участие. Вместо того чтобы писать программу сортировки чисел вручную — строка за строкой, выискивая ошибки, — Хиллис поручил компьютеру сгенерировать тысячи мини-программ, каждая из которых состояла из случайных комбинаций инструкций, создав своего рода цифровой генофонд. Каждой программе предлагалась хаотичная последовательность чисел, и каждая пыталась выстроить их в нужном порядке. Первая партия программ, как и следовало ожидать, оказалась абсолютно безнадежной в сортировке чисел. (На самом деле подавляющее большинство программ вообще ни на что не годилось.) Но некоторые программы справлялись лучше других, и поскольку Хиллис задал количественно измеримую цель эксперимента — выстроить числа в правильном порядке, — компьютер смог отобрать те немногие программы, которые были близки к результату. Эти программы стали основой для следующей итерации, однако теперь Хиллис также слегка мутировал их код и скрещивал их с другими перспективными программами. А затем весь процесс повторялся: выбирались наиболее успешные программы нового поколения, которые затем подвергались тем же преобразованиям. Смешать, мутировать, оценить, повторить.
Всего через несколько минут — и после тысяч циклов — этот эволюционный процесс породил мощную программу сортировки чисел, способную упорядочить последовательность случайных чисел за семьдесят пять шагов. Ни в коей мере не мировой рекорд, но тем не менее впечатляюще. Проблема, однако, заключалась в том, что цифровой генофонд уперся в потолок на отметке в семьдесят пять шагов. Каждый раз, когда Хиллис запускал этот процесс, компьютер быстро создавал мощный и эффективный сортировщик чисел, но примерно на семидесяти пяти шагах его пыл угасал. Проведя достаточно экспериментов, Хиллис понял, что его система столкнулась с препятствием, которое часто обсуждают теоретики эволюции: программное обеспечение наткнулось на локальный максимум в ландшафте приспособленности.
Представьте себе пространство всех возможных программ сортировки чисел, раскинувшееся подобно физическому ландшафту, где более успешные программы располагаются на возвышенностях, а менее успешные таятся в низинах. Эволюционное программное обеспечение — это способ вслепую прощупывать это пространство в поисках градиентов, ведущих к вершинам. Вспомните ранний этап в цикле Хиллиса: одна из эволюционировавших программ сортирует на несколько шагов быстрее, чем ее «родитель», и потому выживает, переходя в следующий раунд. Это выживание эквивалентно подъему на одну ступеньку по ландшафту приспособленности. Если ее «потомок» сортирует еще эффективнее, его «гены» передаются следующему поколению, и он поднимается еще на одну ступеньку выше.
Проблема такого подхода в том, что на ландшафте приспособленности существуют ложные вершины. Есть бесчисленное множество способов запрограммировать компьютер для сортировки чисел с приемлемой эффективностью, но лишь единицы путей ведут к сортировке, способной установить мировой рекорд. И эти различные программы кардинально отличаются по способу решения задачи. Представьте себе эти разные подходы как пики на ландшафте приспособленности: здесь есть тысячи мелких хребтов, но лишь несколько одиноких Эверестов. Если программа эволюционирует в рамках одного подхода, ее потомки могут никогда не нащупать дорогу к другому — ведь система Хиллиса вознаграждала только те поколения, которые улучшали результаты работы своих предков. Как только программа добирается до самой вершины хребта, ей нет никакого смысла спускаться вниз ради поиска другого, более высокого пика, поскольку менее успешная программа — та, что спустилась на ступеньку ниже по ландшафту приспособленности, — была бы немедленно исключена из генофонда. Программа Хиллиса застревала на хребтах семидесяти пяти шагов, потому что наказание за поиск более высоких вершин было слишком суровым.
Гениальным ходом Хиллиса было решение вытеснить свои мини-программы с этих хребтов, внедрив в систему хищников. Как и в реальных экосистемах, хищники фактически подняли планку для эволюционировавших программ, которые обленились из-за своего успеха. До появления хищников мини-программа, достигшая хребта в семьдесят пять шагов, знала, что у ее потомства есть шанс выжить, если она останется на этом локальном максимуме, но ее ждала почти верная гибель, если она спустится вниз для поиска более выгодных позиций. Но хищники все изменили. Они выслеживали обитателей хребтов и заставляли их импровизировать: если мини-программа обосновывалась в диапазоне семидесяти пяти шагов, ее могли уничтожить программы-хищники. С появлением на сцене хищников спуститься на более низкие высоты в поисках нового пика стало выгоднее, чем оставаться на месте на локальном максимуме.
Хиллис выстроил отношения между хищником и жертвой как гонку вооружений: чем выше поднимались программы сортировки, тем опаснее становились хищники. Если система натыкалась на пик в семьдесят шагов, то в нее вводились хищники, которые охотились на семидесятишаговые программы. Стоило цифровым альпинистам решить почивать на лаврах, как появлялся хищник и разгонял их, заставляя искать более высокие вершины.
Спустя всего тридцать минут работы этой новой системы компьютер вывел группу программ, способных сортировать числа за шестьдесят два шага — всего в двух шагах от абсолютного рекорда. В биологическом смысле система Хиллиса функционировала скорее как среда, нежели как организм: она создавала пространство, где разумные программы могли расти и адаптироваться, превосходя возможности всех, кроме самых гениальных программистов из плоти и крови. «Одно из интереснейших свойств программ сортировки, эволюционировавших в моем эксперименте, заключается в том, что я не понимаю, как они работают, — пишет Хиллис в своей книге «Узоры на камне». — Я тщательно изучил их последовательности инструкций, но не понимаю их: у меня нет более простого объяснения того, как работают эти программы, кроме самих последовательностей инструкций. Возможно, эти программы просто непостижимы».
Сторонники эмерджентного программного обеспечения строят весьма амбициозные прогнозы для своей области, включая сценарии, в которых своего рода цифровой дарвинизм приводит к симулированному разуму, способному к непрерывному самообучению и сложному взаимодействию с внешним миром. (Большинство сторонников не считают, что такой разум обязательно будет похож на человеческий интеллект, но это другой вопрос, который мы рассмотрим в заключении). В краткосрочной же перспективе эмерджентное ПО обещает изменить наше представление о создании кода: в ближайшее десятилетие мы вполне можем увидеть переход от спроектированных сверху вниз программ к эволюционировавшим версиям, созданным снизу вверх, вроде апплета Хиллиса для сортировки чисел — процесс, который, по словам Хиллиса, «больше похож не на конструирование машины, а на выпечку пирога или выращивание сада».
Для программистов эта трансформация может стать революционной, но если она выполнит свою задачу, конечные пользователи этого почти не заметят. Мы можем обратить внимание, что наши электронные таблицы пересчитываются чуть быстрее, а проверка грамматики наконец-то заработала, но мы будем иметь дело с конечными результатами работы эмерджентного ПО, а не с самим процессом. (В дарвиновских терминах — с организмами, а не со средой, которая их взрастила). Но получат ли обычные пользователи компьютеров возможность лично поэкспериментировать с эмерджентным ПО, опробовать его более опосредованные системы управления? Станет ли когда-нибудь выращивание садов кода массовым занятием?
На самом деле мы уже сейчас можем замарать руки. И сделать это можно, просто играя в игру.
* * *
Пожалуй, будет справедливо сказать, что цифровые медиа борются с «проблемами контроля» с самого своего зарождения. В конце концов, вопрос контроля лежит в основе интерактивной революции, поскольку создание чего-то интерактивного влечет за собой передачу контроля от технологии — или кукловодов, стоящих за ней, — к пользователю. Большинство регулярно возникающих вопросов в интерактивном дизайне крутятся вокруг одного и того же фундаментального вопроса: кто здесь за рулем — человек или машина? Программист или пользователь? Эти вопросы могут показаться абстрактными, но их последствия простираются далеко за пределы семинаров по теории дизайна или философствования в интернет-кафе. Подозреваю, что мы только сейчас начинаем понимать всю сложность этих проблем, по мере того как привыкаем к странной опосредованности эмерджентного ПО.
В каком-то смысле последние несколько лет мы постепенно осваивались в этой новой среде. Некоторые из наиболее интересных интерактивных произведений искусства и игр конца девяностых бросали явный вызов нашему чувству контроля или заставляли нас потрудиться, чтобы его установить. Некоторые из этих проектов принадлежали к миру авангардных или академических экспериментов, в то время как другие были ориентированы на массового потребителя. Но во всех этих проектах ощущение борьбы с программным обеспечением или исследования его возможностей — процесс освоения системы — превратилось из своего рода прелюдии в главное содержание самого проекта. Это превратилось из бага в фичу.
Бросить вызов нашему чувству контроля можно разными способами. Некоторые программы, такие как гениальная Tap, Type, Write, созданная Джоном Маэдой из MIT, сразу дают понять, что за рулем сидит пользователь. Экран вначале заполнен набором букв; нажатие на определенную клавишу вызывает мгновенное изменение форм букв, отображаемых на экране. Общий эффект напоминает фейерверк, спонсируемый производителями «Алфавитного супа». Нажмите клавишу — и экран взрывается, идет рябью, перестраивается. Это гипнотизирует, но в то же время слегка озадачивает. Какой алгоритм управляет этим взаимодействием? Когда вы печатаете, на экране что-то происходит, но требуется некоторое время, чтобы понять, какие правила трансформации здесь действуют. Вы понимаете, что что-то делаете, но не знаете, что именно.
Код OSS, созданный европейской авангард-панк-группой Jodi.org, подрывает наше чувство контроля на еще более глубоком — а для кого-то и раздражающем — уровне. Представляя собой смесь анархических настроечных таблиц и эклектичного вирусного программирования, софт от Jodi лучше всего описать как цифровой аналог аневризмы. Скачайте эту программу — и ваш рабочий стол заполнится бессмысленными цифрами; запустите одно из приложений — и экран мгновенно превратится в нестабильную смесь помех и структуры. Движение мыши в одну сторону или двойной клик вызывают мимолетное ощущение, будто что-то меняется. Изменилась частота мерцания? Поменялся ли порядок этих чересстрочных узоров? В самые непредсказуемые моменты все это экранное шоу прекращается — неизменно после нескольких судорожных нажатий клавиш и кликов с зажатым Command, — и вы остаетесь в недоумении: «Это я сделал?»
Без сомнения, многих пользователей отталкивает дезориентирующий хаос Tap, Type, Write и OSS, и многие закрывают эти программы с чувством, что так и не смогли заставить их работать как надо — именно потому, что контроль над ними оставался неуловимым. Мне же эти программы кажутся странным образом раскрепощающими; они бросают вызов разуму точно так же, как тридцать пять лет назад дисторшн бросил вызов слуху, когда Beatles и Velvet Underground впервые перегрузили свои усилители. Мы пытаемся пробиться сквозь шум — это отсутствие структуры — в поисках хоть какой-то ясности, лишь для того, чтобы понять: именно само это стремление и искупает шум. Видеоигры напоминают нам, что игра с нашими ожиданиями контроля может быть увлекательной и даже затягивающей — при условии, что аудитория понимает: это замешательство входит в правила игры. Для поколения, выросшего на «грязном» видеоряде MTV, это понимание приходит легко. Иными словами, поколение Nintendo отлично подготовлено к опосредованному контролю, который предлагает эмерджентное программное обеспечение.
В качестве примера возьмем одну из самых успешных игр для платформы Nintendo 64 — Zelda: Ocarina of Time Сигэру Миямото. Zelda воплощает в себе неравномерность развития интерактивных развлечений конца девяностых. Ее сюжет целиком и полностью принадлежит архаичному миру сказок: юный герой, вооружившись магическими заклинаниями, отправляется спасать принцессу. Однако с точки зрения системы управления Zelda — это невероятно сложная структура с сотнями взаимосвязанных целей и головоломок, разбросанных по огромному виртуальному миру игры. Перемещать персонажа довольно просто, но на то, чтобы понять, что именно с ним нужно делать, уходят часы исследований, проб и ошибок. С точки зрения традиционных стандартов юзабилити Zelda — это полнейший хаос: вам понадобится стостраничное руководство только для того, чтобы разобраться в правилах. Но если взглянуть на эту непрозрачность как на часть искусства — подобно искаженному звуку альта Джона Кейла, — весь опыт меняется: вы исследуете мир игры и правила игры одновременно.
Подумайте о десятилетних детях, которые добровольно погружаются в мир Zelda. Для них борьба за контроль над системой не кажется борьбой. Они расшифровывают экранный ландшафт — угадывая причинно-следственные связи между действиями и результатами, строя рабочие гипотезы о скрытых правилах системы — еще до того, как научились читать. Принято считать, что эти дети лучше разгадывают головоломки и обладают лучшей моторикой рук, чем поколение телевидения. И хотя в этом, безусловно, есть доля правды, мне кажется, мы упускаем кое-что важное, когда подчеркиваем лишь то, как ловко это поколение управляется с джойстиками. Я думаю, они развили в себе иной навык, который очень похож на терпение: они более терпимы к отсутствию контроля, легче переносят этап исследования, на котором правила еще не обрели смысл, а цели еще не определены четко. Иными словами, они уникально приспособлены к тому, чтобы принять более косвенную систему управления, свойственную эмерджентному ПО. Сложнейшая задача интерактивного дизайна будущего — исследовать эту терпимость к неопределенности (эту приостановку контроля) так, чтобы это обогащало нас, выходя за рамки оскорбительных рудиментов в виде принцесс и волшебных заклинаний.
* * *
С появлением этих новых типов игр возник и новый тип геймдизайнеров. Первое поколение видеоигр, возможно, косвенно повлияло на поколение художников, а некоторые игры даже были признаны подлинными арт-объектами, пусть и в подчеркнуто кэмповом ключе. (Настольные игровые автоматы Ms. Pac-Man начали появляться в клубах Нижнего Манхэттена в начале девяностых — примерно тогда же, когда Музей движущегося изображения создал свою постоянную коллекцию игр.) Но сами художники редко шли работать в индустрию геймдизайна. В конце концов, игры были для детей. Ни один уважающий себя художник не стал бы погружаться в этот мир на полном серьезе.
Но в последние годы все изменилось, и появился новый гибридный тип творцов — сплав художника, программиста и теоретика сложности. Они создают интерактивные проекты, которые одновременно бросают вызов и уму, и пальцам игрока. И хотя Tap, Type, Write и Zelda, строго говоря, не были эмерджентными системами, новое поколение геймдизайнеров и художников стало открыто описывать свою работу на языке самоорганизации. Это тоже напоминает историческую траекторию развития рок-музыки. В первые пятнадцать-двадцать лет в чартах доминируют произведения, ориентированные на наименьший общий знаменатель; они редко выходят за рамки устоявшихся шаблонов или затрагивают темы, недоступные пониманию тринадцатилетнего подростка. Но затем несколько популярных исполнителей начинают раздвигать границы — The Beatles или The Stones в мире музыки, Миямото и Питер Молиньё в игровом сообществе, — и представления о том, чем должна быть поп-песня или видеоигра, начинают меняться. И эта трансформация привлекает внимание авангарда — скажем, группы Velvet Underground или создателей эмерджентных игр, — которые вдруг начинают видеть в поп-музыке или видеоиграх полноценное средство самовыражения. Вместо того чтобы писать бит-поэзию или устраивать художественные хэппенинги, они берут в руки гитару — или джойстик.
По этим меркам Эрик Циммерман — это Лу Рид новой игровой культуры. Коренастый тридцатилетний мужчина с короткой клубной стрижкой и огромными очками в стиле Бадди Холли, Циммерман сделал себе карьеру, которая еще десять лет назад показалась бы немыслимой: он курсирует между академической средой (он преподает во влиятельной Программе интерактивных телекоммуникаций Нью-Йоркского университета), международной арт-сценой (он создавал инсталляции для музеев в Женеве, Амстердаме и Нью-Йорке) и миром видеоигр. В отличие от Джона Маэды или Jodi.org, Циммерман не просто «отсылает» к игровой иконографии в своих работах — он открыто принимает эту традицию, до такой степени, что его проекты приходится воспринимать в первую очередь как игры и лишь во вторую — как искусство. Играть в них бывает дьявольски весело, и они обычно предполагают азартное соперничество между игроками. Но при этом они намеренно спроектированы как эмерджентные системы.
«Одно из удовольствий в моей работе, — говорит мне Циммерман за чашкой кофе неподалеку от кампуса Нью-Йоркского университета, — заключается в том, что ты видишь, как игрок берет созданное тобой и использует это совершенно неожиданным образом». Дизайнер, иными словами, контролирует микромотивы действий игрока. Но то, как эти микромотивы реализуются — и какое макроповедение они порождают, — уже неподвластно дизайнеру. Они живут собственной жизнью.
Возьмем, к примеру, игру Gearheads, которую Циммерман разработал во время недолгого пребывания в Phillips Interactive в 1996 году. Gearheads — это чистокровная эмерджентная система: сеть автономных агентов, которые следуют простым правилам и взаимно влияют на поведение друг друга. Это близкий родственник StarLogo или муравьев-жнецов Деборы Гордон, но искусно замаскированный под современную видеоигру. Вместо скупых цветных пикселей Циммерман населил мир Gearheads эклектичным набором детских игрушек, которые маршируют по экрану, словно пестрая армия оживших солдатиков.
«Всего там двенадцать заводных игрушек, — объясняет Циммерман. — Вы собираете свою коробку игрушек, выбирая четыре из них. Вы заводите игрушку и выпускаете ее с края игрового поля; цель игры — переправить как можно больше игрушек на сторону противника. Каждая игрушка обладает уникальным набором моделей поведения, которые влияют на поведение остальных». Например, игрушка-череп «пугает» встречающиеся ей игрушки, заставляя их развернуться в обратную сторону, а анимированная рука заводит другие игрушки, позволяя им маршировать по экрану дольше. Как и в случае с муравьями-жнецами или клетками слизевика, когда один агент сталкивается с другим, они оба могут переключиться на новую модель поведения. Наткнись на своего сотого за день фуражира — и ты переключишься на уборку мусорной кучи; наткнись на игрушку-череп Циммермана — и ты развернешься и пойдешь в обратную сторону.
«Главное, что как только вы выпустили свои игрушки, они становятся автономными. Вы влияете на систему лишь с ее краев, — говорит Циммерман. — Это такая маленькая машина хаоса: случаются неожиданные вещи, а вы контролируете ее только с краев». Когда в начале 1996 года Циммерман тестировал Gearheads, он обнаружил, что эта система опосредованного контроля приводила к поведению, которое он сам намеренно не программировал, — поведению, возникавшему в результате локальных взаимодействий игрушек, несмотря на общую простоту игры.
«Две игрушки меняют направление движения других: череп и фигурка Санты, которую зовут Краш Крингл, — рассказывает Циммерман. — Он делает несколько шагов, затем бьет по земле, и все игрушки рядом с ним разворачиваются в обратную сторону. Во время тестирования мы обнаружили комбинацию, при которой можно было выпустить одного Краша Крингла, затем шагающую руку, которая заводит игрушки, а следом — еще одного Краша Крингла. Рука подбегала и заводила первого Краша, после чего тот бил по полу, меняя направление движения руки и отправляя ее обратно ко второму Крашу, которого она тоже заводила. Затем второй Краш топал по земле, рука разворачивалась и снова заводила первого Краша. В итоге эта маленькая система из трех игрушек маршировала по экрану вместе, словно небольшая стая птиц. Когда мы увидели это впервые, мы были просто поражены».
На первый взгляд такое неожиданное поведение может показаться незначительным, особенно в атмосфере, где столь большое значение придается фотореалистичным трехмерным мирам и кровопролитным боям. Игрушки Циммермана намеренно сделаны простыми: они не имитируют интеллект и не вызывают симфоний объемного звука из компьютерных колонок. Снимок экрана со слизевиками Ресника похож на то, что можно было увидеть на консолях Atari первого поколения. Но тем не менее я бы поставил на слизевиков и Крашей Кринглов. Эти арбузные скопления и самозаводящиеся стаи кажутся мне самым началом того, что со временем образует колоссальную по своей силе эволюционную линию в культуре. Наблюдать за спонтанным возникновением этих паттернов на экране — все равно что впервые увидеть, как два одноклеточных организма решают поделиться друг с другом ресурсами. Это может показаться мелочью, но та же логика, пронесенная сквозь тысячу или сто тысяч поколений — подобно тому, как Хиллис выращивал свои сады программного кода, — в конечном счете способна изменить мир. Нужно лишь взглянуть на это в правильном масштабе.
* * *
Большинство геймеров, увы, живут в режиме времени, близком к ритму дей-трейдеров, — по крайней мере, в самый разгар игрового процесса, — думая больше о следующем ходе, чем о следующем приеме пищи, и обычно пребывая в счастливом неведении относительно десяти- или двадцатилетней траектории развития программного обеспечения. Никто не хочет играть с игрушкой, которая станет интересной лишь после нескольких десятилетий доработок, — игрушки должны увлекать прямо сейчас, иначе дети найдут себе другие. И одна из причин, почему игры так сильно нас увлекают, заключается в том, что в них есть правила. В традиционных играх вроде «Монополии», го или шахмат удовольствие от игры — сам игровой процесс — заключается в исследовании пространства возможностей, очерченного правилами. Без правил мы получаем нечто близкое к театру чистой импровизации, где в любой момент может произойти все что угодно. Правила задают играм структуру, а без этой структуры нет и игры: каждый ход становится матом, а каждый бросок кубиков переносит вас на Парк-Плейс.
Такой упор на правила может показаться полной противоположностью открытых органических систем, которые мы рассматривали в предыдущих главах, однако нет ничего более далекого от истины. Эмерджентные системы тоже подчиняются правилам: их способность к обучению, росту и экспериментированию проистекает из следования низкоуровневым правилам. Так, муравьи решают, отправляться ли на поиски пищи, на основе частоты встреч с другими муравьями, а программа Alexa выстраивает связи на основе паттернов в потоке кликов. Если бы любая из этих систем — или, точнее говоря, агенты, из которых они состоят, — вдруг начала следовать собственным правилам или вообще отказалась от них, система перестала бы работать: не возникло бы никакого глобального разума, осталась бы лишь кишащая анархия обособленных агентов, рой без всякой логики. Суть эмерджентного поведения, как и самих игр, заключается в том, чтобы существовать в границах, заданных правилами, но при этом использовать это пространство для создания чего-то большего, чем сумма его частей.
Понимание эмерджентности должно стать огромным подспорьем для индустрии видеоигр. Однако перед разработчиками игр, пытающимися обуздать силу и адаптивность самоорганизации и направить их в русло продукта для массовой аудитории, встают серьезные трудности. И все эти трудности вращаются вокруг одного и того же феномена: способности эмерджентных систем внезапно начинать вести себя непредсказуемо, подобно ученику чародея, — как это произошло со стаей Крашей Кринглов Циммермана.
Рассмотрим пример Evolva — широко разрекламированной игры, выпущенной в середине 2000 года британской софтверной компанией Computer Artworks. Этот продукт стал своего рода сменой курса для CA, которая до этого была замечена в продвижении психоделической экранной заставки под названием Organic Art, позволявшей заменить рабочий стол зверинцем из существ инопланетного вида. Программа поставлялась с набором готовых изображений, но более склонные к экспериментам пользователи могли выращивать и собственных существ, «выводя» новые виды с помощью разработанной компанией технологии искусственной жизни (A-Life). Хотя серия Organic Art пользовалась успехом, команде CA быстро стало ясно, что взаимодействовать со своими созданиями куда интереснее, чем просто глазеть на их снимки. Кому захочется разглядывать полароидные снимки морских обезьянок, когда можно поиграть с этими милыми крошечными существами самому?
И тогда Computer Artworks превратилась в компанию по разработке видеоигр. Evolva стала их первым полностью интерактивным продуктом, основанным на исходной программе искусственной жизни: алгоритмы мутации и скрещивания были интегрированы в игровой мир, который в противном случае можно было бы принять за гибрид Myth и Quake. Сюжет был стандартным для видеоигр: Землю захватил инопланетный паразит, угрожающий уничтожить весь мир; в качестве последней надежды человечество отправляет отряды бесстрашных «геноохотников» для спасения планеты. Игроки управляют командами геноохотников, глядя на мир глазами одного из них и одновременно отдавая приказы остальным. Сами являясь продуктом биоинженерии, геноохотники способны анализировать ДНК любого убитого ими существа и встраивать полезные цепочки в собственный генетический код. Поглотив достаточное количество ДНК, вы можете зайти на экран мутаций и поколдовать над своим генотипом: добавить новые гены, изменить уже имеющиеся и тем самым расширить навыки своего персонажа. Это как если бы вы внезапно научились программировать на C++, только ради этого вам пришлось бы съесть парня из службы техподдержки.
Именно эта жажда ДНК позволяет алгоритмам искусственной жизни органично вписаться в игровой процесс. «По мере продвижения по игре новые гены собираются и добавляются в доступный генофонд, — объяснил мне в переписке по электронной почте ведущий программист Рик Хейвуд. — Когда игрок хочет изменить одно из своих созданий, он переходит на экран мутаций. На основе текущего набора ДНК можно создать два новых поколения, объединив ДНК существующего геноохотника с ДНК из собранного генофонда и добавив незначительные случайные мутации. Новые наборы ДНК используются для изменения кожи, выращивания различных отростков по всему телу и развития новых способностей — например, умения изрыгать пламя или бегать быстрее».
Рекламные материалы Evolva поднимают много шума вокруг этой неограниченности возможностей. На экране мутаций можно сгенерировать около 14 миллиардов уникальных персонажей, а это значит, что если только Computer Artworks не заключит лицензионное соглашение с другими галактиками, игроки, прошедшие несколько уровней, будут управлять генетически неповторимыми геноохотниками. В большинстве своем эти мутации приводят к относительно поверхностным внешним изменениям — это больше похоже на новую покраску кузова, нежели на капитальный ремонт двигателя. Более сложные изменения в поведении геноохотников — изрыгание огня, стрельба лазером, прыжки на длинные дистанции и прочее — по большей части представляют собой отдельные навыки, запрограммированные непосредственно командой CA. Вы не увидите, как геноохотники спонтанно учатся играть на виолончели или пользоваться сонаром. Тела ваших геноохотников в итоге могут стать совершенно непохожими на то, какими они были вначале, но эти тела не позволят своим носителям овладеть принципиально новыми навыками.
Подобные ограничения, вполне возможно, делают игру только более увлекательной. Для шестнадцатилетнего игрока в Quake, который просто пытается перебить как можно больше паразитов на пути к следующему уровню, внезапное обучение чтению по Брайлю станет лишь досадной помехой. Каждый, кто хоть раз играл в сюжетный квест вроде Myst, знает: нет ничего более изнурительного, чем провести пару часов в бесплодных попытках разгадать головоломку, для решения которой у вас просто еще нет необходимых инструментов, потому что вы не наткнулись на них во время исследования игрового пространства. Представьте, насколько обиднее зайти в тупик из-за того, что у вас еще не отросли жабры или вы не развили навык взлома замков. В абсолютно открытой системе — где инструменты могут эволюционировать, а могут и нет, в зависимости от причуд естественного отбора, — подобное раздражение быстро свело бы на нет весь восторг от самостоятельного «выращивания» персонажей. И потому Хейвуд со своей командой разместили ДНК, отвечающую за сложные навыки, поблизости от головоломок или препятствий, требующих этих самых навыков. «Например, если нам нужно быть уверенными, что к определенному моменту игры у игрока появится способность изрыгать пламя, — объясняет он, — мы преграждаем путь легковоспламеняющимися растениями, а рядом размещаем существ, умеющих дышать огнем».
В конце концов выясняется, что «слепой часовщик» мутационного движка Evolva не так уж и слеп. Решение Хейвуда, возможно, и было самым разумным тактическим ходом в интересах геймеров, но стоит заметить, что оно в корне противоречит принципам дарвинизма. Вы мало того что играете в Бога, целенаправленно выбирая одни признаки в ущерб другим, так еще и ДНК для этих признаков заботливо подброшена прямо к соответствующим препятствиям. Это похоже на какую-то странную пародию на эволюцию по Ламарку: шея жирафа удлиняется с каждым поколением, но лишь потому, что гены длинной шеи по чистой случайности вырастают прямо под банановыми деревьями. Пространство возможностей, открываемое неограниченным дарвиновским движком, оказалось попросту слишком огромным для жестких рамок игровых правил. Игра, в которой может произойти все что угодно, по определению не является игрой.
* * *
Можно ли примирить непредсказуемый творческий потенциал эмерджентности с линейным, направляемым развитием игры? Думаю, ответ будет однозначно утвердительным, хотя для этого и потребуется метод проб и ошибок. Один из путей — сосредоточиться на традиционных эмерджентных системах, таких как стаи и скопления, и в меньшей степени полагаться на безграничные горизонты естественного отбора. Evolva на самом деле служит прекрасным примером достоинств такого подхода. За кулисами игрового процесса каждое существо в мире Evolva наделено сенсорным восприятием и эмоциональными состояниями: страхом, болью, агрессией и так далее. Существа также обладают памятью, которая связывает эти эмоции с другими персонажами, местами или действиями, и они способны делиться этими ассоциациями со своими собратьями. По мере того как сеть ассоциаций усложняется и разветвляется, могут развиваться новые паттерны коллективного поведения, воссоздавая реалистичное многообразие возможных взаимодействий между обитателями этого мира.
«Допустим, вы сталкиваетесь с одиночным существом, — объясняет Хейвуд. — При первой встрече оно может испытывать сильную агрессию и броситься в атаку на вашу команду. Однако у вас численное преимущество, и вы начинаете причинять ему сильную боль. В конце концов страх берет верх над остальными эмоциями, и существо пускается наутек. Оно забегает за угол и натыкается на большую группу сородичей. Оно общается с другими существами, сообщая им, где в последний раз видело вас. В окружении сородичей страх существа утихает, и вся группа устремляется в новую атаку на игрока». Групповое поведение может развиваться непредсказуемым образом под влиянием внешних событий и эмоционального состояния каждого существа, даже если виртуальная ДНК этих существ остается неизменной. В этой картине есть что-то странно обнадеживающее, особенно для тех, кто считает, что социальные паттерны влияют на наше поведение столь же легко, как и гены. Хейвуду пришлось ограничить движок искусственной жизни, потому что сила естественного отбора слишком непредсказуема для подчиненной жестким правилам вселенной видеоигры. Но создание эмерджентной системы для симуляции коллективного поведения персонажей на самом деле улучшило игровой процесс, сделав его более живым и в то же время не превратив прохождение в нечто невозможное. Эмерджентность берет верх над «происхождением с изменениями»: возможно, вы не сможете вырастить крылья с помощью мутационного движка Evolva, но ваши существа все равно способны научиться новым способам собираться в стаи.
Существует, однако, и более радикальное решение этой проблемы, и ярче всего оно проявляется в жанре «симуляторов бога». Классические игры вроде SimCity или бестселлер 1999 года, ее своего рода продолжение — The Sims, позволяющая игрокам взаимодействовать с виртуальными персонажами, живущими в небольшом районе, справились с непредсказуемостью эмерджентного ПО путем полного отказа от заранее определенных целей. В таких играх вы сами определяете свои цели; вы вряд ли застрянете на каком-то уровне из-за того, что не придумали, как «вырастить» определенный ресурс, по той простой причине, что никаких заранее заданных уровней здесь нет. По ходу игры вы сами создаете себе препятствия. В SimCity вы решаете, построить ли мегаполис или фермерскую общину, экологически чистый городок в духе нового урбанизма или цифровой Коуктаун. Конечно, в процессе строительства города достичь этих целей может оказаться непросто, но поскольку они не прописаны в официальных правилах, вы не чувствуете себя в тупике — в отличие от Evolva, где можно застыть перед ущельем, не имея генов для прыжка.
Однако здесь есть своя загвоздка. «Сложность в том, что чем автономнее система, чем более независимы виртуальные существа, тем менее значимой становится роль игрока», — объясняет Зиммерман. — Проблема многих "симуляторов бога" заключается в том, что в них трудно почувствовать свое реальное влияние на систему. Как будто вы надеваете огромные пушистые варежки и пытаетесь ухватить ими крошечные предметы». И хотя наблюдать за тем, как симуляция Уилла Райта начинает жить собственной жизнью, бывает поистине волшебно, это может и невероятно раздражать — например, когда в каком-нибудь районе никак не удается покончить с преступностью, а ваши Sims упорно отказываются влюбляться друг в друга. Так или иначе, мы управляем этими играми исподволь, с самых краев. Задача же геймдизайнера — определить, насколько далеко за эти края следует отодвинуть игрока.
Нигде этот принцип не проявляется так отчетливо, как на панели управления, которую Уилл Райт создал для The Sims. Проведите курсором по нижней части экрана, осматривая свой виртуальный район, и перед вами появится окно состояния с актуальной информацией об эмоциональных и физических потребностях ваших персонажей: вы мгновенно увидите, принимали ли они сегодня душ или же тоскуют от нехватки общения. В одном клике от этого окна находится экран панели управления, где можно настраивать различные параметры игры. Экран «настроек» сегодня стал стандартным атрибутом любой тиражной игры: вы заходите туда, чтобы отрегулировать качество звука, разрешение графики или изменить уровень сложности. На первый взгляд панель управления в The Sims выглядит точно так же, как и в любой другой игре: здесь есть кнопка автоматической прокрутки окна при движении мыши и кнопка отключения фоновой музыки. Но рядом с этими прозаическими опциями красуется переключатель, подписанный в духе чистейшего картезианства: «Свобода воли».
Если отключить «Свободу воли», игра в The Sims быстро превратится в кошмар круглосуточного ухода, требующий такого же постоянного внимания, как в яслях или в пансионате для пациентов с болезнью Альцгеймера. Без свободы воли ваши Sims будут просто сидеть сложа руки в ожидании ваших указаний. Они могут умирать от голода, но, пока вы не отправите их к холодильнику, они будут безропотно терпеть урчание в животе, подобно банде пригородных художников голодания. Даже самые чистоплотные из Sims будут мириться с кучами гниющего мусора, пока вы лично не прикажете им вынести мусор. Без направляющего пинка в сторону туалета они справят нужду прямо посреди гостиной.
Игра в The Sims с отключенной свободой воли — отличный пример того, что избыточный контроль может обернуться катастрофой. Но обратное может быть еще хуже. На ранних этапах проектирования The Sims Райт понял, что для того, чтобы игра приносила удовольствие, его виртуальным человечкам необходима определенная доля автономии, и потому он со своей командой начал разрабатывать алгоритмы искусственного интеллекта, позволяющие Sims думать самостоятельно. Этот ИИ и лег в основу «свободы воли» персонажей, однако после года работы дизайнеры обнаружили, что преуспели в оживлении Sims даже слишком сильно.
«Одна из главных наших проблем заключалась в том, что наш ИИ был слишком умен, — рассказывает теперь Райт. — Персонажи выбирали действия, которые максимизировали их счастье в любой конкретный момент. Проблема в том, что они обычно справлялись с этим гораздо лучше игрока». Удовольствие от The Sims строится на неполноте информации, которой вы располагаете о системе в целом: вы не знаете наверняка, какое именно сочетание действий принесет вашим персонажам максимум счастья, — но алгоритмы ИИ с легкостью проводят эти вычисления, поскольку показатель счастья заложен в сами правила игры. В ранних версиях игры Райта стоило вам включить свободу воли, как персонажи начинали добиваться максимального счастья абсолютно рациональными путями. Эффект был схож с тем, как если бы вы наняли Deep Blue играть за вас в шахматы: результаты получались бесспорно великолепными, но в чем же тогда был интерес?
В итоге Райту пришлось немного «оглупить» свои цифровые творения. «Мы сделали это двумя способами, — говорит он. — Во-первых, заставили их сосредоточиться на сиюминутном удовольствии, а не на долгосрочных целях: они скорее будут лежебоками перед телевизором, чем станут учиться ради продвижения по службе. Во-вторых, мы придали чертам характера решающий вес при принятии решений, порой до патологической степени. Очень чистоплотный Sim будет тратить уйму времени на уборку — даже за другими Sims, — в то время как неряха и пальцем не пошевелит. Этих двух вещей хватило, чтобы игрок превратился в критически необходимый элемент их мира, привносящий в него... что? Честолюбие? Баланс?» Иными словами, Райт сделал их решения локальными, а правила, управляющие их поведением, — более жесткими. Чтобы эмерджентная система игры работала, Райту пришлось сделать Sims больше похожими на муравьев, нежели на людей.
Мне кажется, в этой кнопке «свободы воли» и в борьбе Райта с автономией собственных творений скрывается нечто глубокое и зародышевое — нечто одновременно схожее и не схожее с традиционным мастерством, которого мы ждем от великих рассказчиков. Повествование всегда строилось на сочетании вымысла и повторения; истории кажутся нам историями, потому что они подчиняются правилам, которые мы научились распознавать, но больше всего мы любим те сюжеты, которые чем-то нас удивляют, нарушают правила в процессе повествования. Они сочетают в себе привычное и чуждое: избыток первого делает их пресными и формульными, избыток второго лишает их статуса истории. Мы любим повествовательные жанры — детектив, любовный роман, приключенческий боевик, — но слово «жанровый» почти всегда используется в пренебрежительном смысле.
Воспринимать то, чем занимается Уилл Райт, как рассказывание историй — значит упускать суть; это не отдает должного ни новизне самой формы, ни ее собственному, особому очарованию. Однако борьба за контроль, лежащая в основе любого произведения на базе эмерджентного ПО — особенно того, что призвано нас развлекать, — идет параллельно столкновению между повторением и вымыслом в искусстве рассказчика. Хороший рассказ удивляет нас, но не слишком сильно. Игра вроде The Sims дает своим экранным созданиям некоторую автономию, но тоже в меру. Эмерджентные системы — это не истории, и во многих отношениях они живут по совершенно иным правилам, как для создателя, так и для потребителя. (Начнем с того, что эмерджентные системы делают это различие куда более размытым.) Но искусство рассказчика может быть весьма показательным в этом контексте, ведь мы уже принимаем как данность, что сочинение историй и есть искусство, и располагаем зрелым понятийным аппаратом для описания талантов его мастеров. Мы только сейчас начинаем вырабатывать аналогичный язык для описания искусства эмерджентности. Но вот с чего можно начать: великие дизайнеры вроде Райта, Резника или Циммермана — это художники контроля. Они тонко чувствуют золотую середину между свободой воли и домом престарелых, ту едва заметную грань между избытком порядка и его нехваткой. Они тонко чувствуют эти грани.