– Вот оно! Вот ответ! – Анна хлопнула рукой по столу. Лиза испуганно посмотрела на мать. Глаза сияли, женщина была возбуждена и казалась абсолютно счастливой. Мать обняла дочь и прижала к себе.
– Спасибо, солнышко! Ты нашла ответ к этой загадке!
Анна бросилась в сад на поиски мужа. Вадим уже закончил сгребать листья и перебрался в гараж, где решил провести генеральную уборку.
– Вы с Лизой подсказали мне ответ! – воскликнула она. – Алиса должна не просто представить лабиринт как игру, она должна взломать ее, понимаешь? Она должна взломать Страну чудес!
* * *
– Мой сон совсем не похож на игру, – нахмурилась Алиса, когда Анна озвучила ей свою идею. – Игра – это набор кода, символы и цифры, а для компьютера – нули и единицы. Игра неосязаема, как воздух.
– А ты попробуй, – Анна не сдавалась. – Создай на компьютере подобную игру-лабиринт. Я понимаю, что ты уже создавала такую, но хочу, чтобы ты сделала это еще раз. В процессе создания ты должна попытаться найти аналогию между игрой и лабиринтом в твоем сне. Впоследствии тебе нужно научиться воспринимать сон как игру, но не просто игру, а написанную тобой. Ты – ее создатель, и можешь ее менять.
Алиса поняла идею Анны, но не слишком верила в успех. Однако в этот же день села за написание новой игры.
Сначала нужно определить объекты, которые должны представлять визуальные объекты игры: стены лабиринты из живой изгороди, фигурки игроков – Алисы, Безумного Шляпника и… Черно-белых людей. Затем – написать код для графического представления этих объектов на экране. После этого нужен код для перемещения объектов с учетом времени. Следующая стадия – прописать игровую логику, код для ввода команд игрока.
Игру Алиса писала на одном из игровых движков, и вся игра в рабочем виде была представлена набором блок-схем, соединенных разноцветными линиями.
Алиса целыми днями была занята созданием игры, и вскоре ей уже стал сниться программный код. Через два месяца, когда работа над игрой была закончена, Алиса поняла, что Анна была права. Теперь в своих снах она видела лабиринт по-другому. Мир, в который она попадала, был неживым, плоским. Он был игровым полем, сценой, на которой располагались элементы игры. В каждом из элементов, наполняющих этот мир, она могла разглядеть описавший его программный код. Более того – она могла менять его.
Теперь, очутившись во сне, Алиса оказывалась в двух наложенных друг на друга пространствах. Она видела смутные очертания привычного лабиринта. Но также помимо него видела рабочий лист своей игры. Она ходила по лабиринту из блок-схем, специальных ячеек, в которых находились строчки программного кода, двигалась среди множества запутанных разноцветных линий, соединяющих блоки.
Вся картина выглядела так, будто по полу были разбросаны и раскатаны разноцветные клубки, спутанные нитки соединяли клубки и образовывали сложные ходы лабиринта.
Фон был черным. Код в блоках-клубках – зеленым.
Все вокруг – трава, изгородь, стены темницы, человеческие фигуры – состояли из символов кода. Она меняла часть кода в попадающихся на пути блок-схемах, и стены и разноцветные линии перед ней расступались, а за ней соединялись вновь. Проводя руками, заменяя одни строчки символов другими, могла разрушать эти стены, заставлять живую изгородь расти, сплетаться, извиваться так, как нужно ей, и для этого ей больше не нужно было прилагать больших мысленных усилий. Теперь все в лабиринте подчинялось математическим законам, и она могла с легкостью управлять этим миром.
Проснувшись, Алиса поднялась с кровати и подошла к зеркалу. Она смотрела на свое отражение и попыталась представить перед собой Мэда. Она знала, чувствовала, что Мэд еще жив, что Стражи все еще держат его в темнице, но это ненадолго. Его время скоро закончится. Его сотрут. Она не позволит этому случиться.
– Я стала сильной, Мэд, – сказала Алиса своему отражению. – Я спасу тебя. Теперь я знаю способ, как уничтожить Стражей.
* * *
Наступил день Х. Анна снова поместила Алису в темную комнату, прикрепила датчики. Сегодня девушке предстояло снова вызвать Мэда, а вместе с ним – Стражей. Это самое сложное – представить Черно-белых людей. Представить холод и страх, которые Алиса чувствовала при встрече с ними, вспомнить железный цокот каблуков, попытаться максимально сконцентрироваться на своих ощущениях.
Алиса снова оказалась в лабиринте. Она больше не плутала среди запутанных линий в поисках темницы, где был заточен Мэд. Теперь она видела весь лабиринт насквозь. Все состояло из символов, блок-схем и линий, Алиса смотрела вперед и могла видеть через стены. Каждый элемент игры был описан в соответствующем блоке-ячейке, с помощью кода, глядя вдаль, девушка видела символы, описывающие темницу, а внутри – программный код, из которого состоял Мэд. Легким усилием воли Алиса меняла строчки, стены впереди расходились, Алиса могла с легкостью идти прямо.
В прошлый раз девушка оказалась в темнице случайно, живые стены будто проглотили ее. Но сейчас она сама управляла темницей и, поменяв некоторые символы в соответствующей ячейке, сделала проход в стене.
Внутри она увидела Мэда. Точнее, его силуэт, очертания человеческой фигуры, внутри которой находилась ячейка, заполненная множеством символов. Она не видела ни лица, ни одежды. Лишь контур тела, узнала его по очертаниям большой шляпы и пышных рукавов. Внутри контура – цифры и буквы.
– Уходи, Алиса, прошу тебя, больше никогда не приходи сюда. Мое время скоро закончится, я не хочу, чтобы вместе со мной они стерли и тебя.
– Они ничего не сделают мне, Мэд, – Алиса смотрела туда, где должны были находиться глаза Мэда. – Я смогу победить их. Теперь я управляю этим миром. Я больше их не боюсь.
И, как в прошлый раз, в стене за спиной Алисы образовался проход, в котором появились очертания человеческих фигур. Алиса знала, что в темницу вошли Черно-белые люди, но она больше не слышала исходящих от них жутких звуков, не чувствовала сковывающего холода, не ощущала ледяного страха. Все вокруг для нее было лишь игровым полем, неосязаемой пустотой, а Черно-белые люди – всего лишь элементами игры. Она обернулась и смело посмотрела на них. Но не видела больше не черных фраков, ни белых масок, ничего, лишь блок-схемы и строчки кода.
Живые стены вокруг стали двигаться, но причиной этого была не Алиса. Стены расходились, освобождая пространство, и вскоре темница совсем исчезла. Алиса, Мэд и Стражи оказались на небольшой поляне, с одной стороны которой не было ничего, ни единого символа, лишь черная пустота. Алиса понимала, что это – граница мира и граница игрового поля. В черной пустоте – стирающее болото. Стражи хотят бросить Алису и Мэда туда, но у них ничего не выйдет.
Их стали окружать со всех сторон. Кольцо сжималось, Стражи наступали.
Девушка заметила одну странную вещь. В силуэтах тел Стражей, заполненных ровными строчками кода, на уровне груди часть символов отсутствовала, образовывая дыру. Алиса попыталась рассмотреть символы вокруг, чтобы понять, что означает эта дыра. И вскоре девушку осенило – это была уязвимость игры! Обнаруженная уязвимость кода позволяла удалять объекты игры, замещать их другими.