Одним из первых удачных плодов этой работы была игра, выпущенная в 1984-м под уместным названием Rescue on Fractalus![47]
. Игровая среда не так требовательна, как кинофильм, так что, даже если сделать пейзаж менее реалистичным, любители видеоигр все равно остались бы довольны. Тем не менее разработчиков весьма сильно раздражала зазубренность графических линий, связанная с качеством разбиения изображений на пиксели. В конце концов они все же смирились с тем фактом, что лучшего на машинах Atari было не добиться. Они решили даже принять зазубренность графики как должное и дали инопланетянам, обитающим на Фракталусе, название «джагги»[48]. Но по мере роста вычислительной мощности игровых компьютеров увеличивались и возможности создания более убедительных игровых миров. Путь от статического пространства игры Pac-Man до почти кинематографического оформления игр типа Uncharted был пройден благодаря могуществу алгоритмов.Возможно, одним из примеров наиболее творческого применения алгоритмов в области игр была крупномасштабная игра No Man’s Sky[49]
, выпущенная в 2016 году. В этой игре, разработанной для приставки PlayStation 4 фирмы Sony, игроки бродят по вселенной, содержащей, как кажется, бесконечный запас планет. Каждая планета отличается от других и населена своей собственной флорой и фауной. Хотя число этих планет вряд ли бесконечно в строгом смысле этого слова, Шон Мюррей, участвовавший в создании игры, считает, что, если посещать по одной планете в секунду, наше настоящее Солнце погаснет раньше, чем удастся перебрать их все.Пришлось ли компании Hello Games, разработавшей No Man’s Sky, нанять для создания этих неповторимых планет тысячи художников? Оказывается, что в компании работают всего несколько программистов, которые создают эти миры, опираясь на возможности алгоритмов. Каждый мир уникален и создается программой в тот момент, когда игрок впервые попадает на эту планету. Даже сами создатели игры не знают, что создаст алгоритм, пока планету кто-нибудь не посетит.
Алгоритмы, работающие для Pixar и PlayStation, – это инструменты для человеческого творчества. Фотоаппараты не заменили живых художников; компьютеры дали мультипликаторам новые методы создания миров. Пока компьютеры остаются инструментами человеческой изобретательности и самовыражения, реальной угрозы для художников не существует. Но как быть с компьютерами, задача которых – создание новых художественных произведений?
Художник Гарольд Коэн всю свою жизнь пытался создать код, который можно было бы считать самостоятельным творцом. В начале своей карьеры Коэн собирался стать традиционным художником, и в 1966 году, когда он в тридцативосьмилетнем возрасте представлял Великобританию на Венецианской биеннале, казалось, что он на верном пути. Вскоре после этой выставки он поехал в Америку и там познакомился со своим первым компьютером – благодаря встрече с Джефом Раскином в Калифорнийском университете в Сан-Диего. «У меня и мысли не было, что это может быть как-нибудь связано с искусством, – говорил Коэн. – Я просто заинтересовался программированием». Раскин, который впоследствии, в конце 1970-х, создал в компании Apple компьютер «Макинтош» (это название было выбрано потому, что любимый сорт яблок Раскина назывался McIntosh; его английское написание изменили на Macintosh по юридическим соображениям), оказался превосходным учителем.
Вдохновленный Раскином, Коэн начал разработку программы AARON, которая должна была создавать произведения искусства. Программа Коэна была написана по нисходящей схеме, с элементами типа «если… то…». Ко времени его смерти она насчитывала несколько десятков тысяч строк. Мне интересны те выражения, в которых Коэн описывал, как его программа выбирает, что она создаст. Он говорил, что AARON принимает решения. Но как он запрограммировал эти решения?
Люди, занимающиеся созданием компьютерного искусства, обычно очень не любят точно и подробно рассказывать, как работают их алгоритмы. Такое увиливание отчасти связано с тем, что они стремятся создать алгоритм, по продукции которого было бы непросто восстановить принципы его работы. Мне пришлось основательно покопаться в программе, чтобы понять, что центральным элементом «принятия решений» в программе, написанной Коэном, было применение генератора случайных чисел. Как и Неес, Коэн использовал случайность для создания впечатления самостоятельности машины или наличия у нее свободной воли.