Доброта как скрипт
Я еще долго стоял за стойкой, глядя в пустоту, пока мое тело-автомат не закончило протирать последний осколок и не вернулось в исходное положение state_idle. Тишина в таверне была тяжелой, пропитанной запахом страха и озона от разрушенных заклинаниями предметов. Моя вина никуда не делась, она просто сменила агрегатное состояние с кипящей лавы на холодный, тяжелый свинец где-то в районе солнечного сплетения.
Машинально я повернул голову к окну. Оно выходило на центральную площадь Цитадели. Там, напротив, в свете уличных фонарей, виднелась вывеска пекарни «Сладкий крендель». И от одного этого вида внутри что-то болезненно дрогнуло.
Лина.
Я помню, как придумал ее. Она была одним из первых NPC, которых я создал не для квестов или торговли, а просто так. Для души. «Якорь доброты», как я это тогда называл. Маленький, теплый островок уюта в мире, который я уже тогда подсознательно готовил к войне и насилию. Ее код был до смешного простым и элегантным. Никаких сложных поведенческих деревьев, никаких нейросетевых алгоритмов. Просто несколько базовых циклов: печь хлеб, улыбаться покупателям, и главный — action_offer_bun_to_newbie. Протянуть теплую булочку каждому новому игроку, который впервые заходит в столицу. Простой, искренний, запрограммированный жест гостеприимства.
И сейчас, глядя на свет в окнах ее пекарни, я чувствовал только горечь. Еще один красивый замысел, растоптанный реальностью. Еще один лучик света, обреченный утонуть в той помойке, в которую превратился мой мир.
Мое внимание привлекло движение в тени арки, ведущей на торговую улицу. Там, прижавшись к стене, стоял игрок. Совсем зеленый новичок, судя по его стартовому набору брони. Он, должно быть, видел, что устроили те ублюдки в сияющих доспехах. Его аватар мелко дрожал — отличная работа наших аниматоров, идеально передающих состояние state_fear. Он был напуган, растерян и, скорее всего, уже жалел, что потратил деньги на эту игру. Мир встретил его не приключениями, а демонстрацией животной жестокости. Он был идеальной иллюстрацией моего провала.
И тут дверь пекарни тихо скрипнула.
На порог вышла Лина. В ее руках была небольшая плетеная корзинка, из которой поднимался пар. Она была точно такой, какой я ее создал: светлые волосы, заплетенные в простую косу, веснушки на носу, фартук, вечно испачканный мукой. Ее лицо с постоянной легкой улыбкой было воплощением безмятежности. Она оглядела опустевшую площадь, и ее взгляд, управляемый скриптом поиска цели, остановился на съежившемся в тени новичке.
Сработал триггер. target_newbie_detected.
Ее цель была проста: выполнить свой скрипт доброты. Но было и препятствие: игрок был напуган. Он не доверял никому, и в его глазах любой NPC сейчас был потенциальной угрозой или, что еще хуже, объектом для чужого унижения.
Лина сделала несколько шагов вперед. Игрок тут же напрягся, готовый в любой момент дать деру. Он видел в ней не добрую пекаршу, а еще один элемент этого враждебного, непредсказуемого мира.
И Лина, подчиняясь гениальной в своей простоте логике, которую я в нее заложил, остановилась. Она не стала подходить ближе, не стала кричать приветствия. Она просто стояла в нескольких метрах от него, на границе его зоны комфорта. Она достала из корзинки свежую, еще теплую булочку с корицей и просто держала ее в руке. Ее улыбка не была навязчивой. Она была тихой и понимающей.
Я наблюдал за этой сценой, затаив дыхание. Я видел не просто взаимодействие двух программных кодов. Я видел, как мой старый, забытый замысел пытается пробиться сквозь грязь и хаос. Это была дуэль. Дуэль между страхом игрока и скриптом доброты Лины.
Прошла минута. Две. Игрок не двигался. Лина тоже. Она просто ждала. Терпеливо, безмятежно. В ее коде не было таймера. Она могла стоять так вечно.
И тогда она сделала еще один, едва заметный шаг вперед. Она медленно, чтобы не спугнуть, протянула руку с булочкой в его сторону. Жест, нарушающий его личное пространство, но не с агрессией, а с предложением. Предложением тепла и мира.
Игрок вздрогнул. Он посмотрел на булочку, потом на ее лицо. В его глазах все еще был страх, но к нему примешалось что-то еще. Любопытство. Сомнение.
Прошла еще одна вечность, прежде чем он принял решение. Он медленно, очень медленно, протянул свою руку. Его пальцы коснулись теплой выпечки. Он взял булочку и быстро отдернул руку, словно боясь, что это ловушка.
Лина не стала ждать благодарности. Ее скрипт был выполнен. Она еще раз улыбнулась ему своей теплой, запрограммированной улыбкой, кивнула и так же тихо вернулась в пекарню, оставив его одного на площади.