Текст книги "Право на сбой. Нулевой Игрок (СИ)"
Автор книги: TarsO
сообщить о нарушении
Текущая страница: 2 (всего у книги 15 страниц)
– Утренний отчет по активу «Кайрос», – произнес он в пустоту. Его голос был ровным и лишенным эмоций.
Альпийский пейзаж на стене беззвучно растворился, сменившись бурлящим потоком данных. Десятки графиков, диаграмм и бегущих строк заполнили экран, отражаясь в холодных голубых глазах Джонсона. Это была его вселенная. Не фэнтезийный мир мечей и магии, который он втайне презирал за его инфантильность, а чистая, дистиллированная, прекрасная в своей логике информация.
Вот график онлайн-пользователей: плавная, уверенно ползущая вверх кривая, пробившая вчера новый исторический максимум в двадцать три миллиона одновременных подключений. Джонсон мысленно отметил точку пика – она приходилась на прайм-тайм в азиатском секторе. Он провел пальцем по воздуху, и график послушно развернулся, показав разбивку по регионам. Азиатский рынок рос опережающими темпами. Нужно будет обсудить с отделом маркетинга запуск новой линейки скинов в стиле аниме.
Вот карта распределения нагрузки по серверным кластерам – от Токио до Франкфурта, все сегменты горели здоровым зеленым цветом. Система балансировки, которую он лично курировал, работала идеально, перебрасывая мощности в реальном времени. Он увеличил североамериканский сектор. На долю секунды один из узлов в Вирджинии мигнул желтым – система зафиксировала попытку DDoS-атаки, – но тут же вернулся в зеленый сектор. Система защиты среагировала за 0.8 секунды, отсекла мусорный трафик и забанила по IP тысячи ботов. Безупречно.
А вот и его любимый раздел: «Монетизация». Цифры по микротранзакциям за последние двадцать четыре часа заставляли его губы растягиваться в подобие улыбки. Игроки покупали все: скины для питомцев, новые анимации танцев, мечи, которые светились чуть ярче, чем стандартные, виртуальные дома в престижных районах Цитадели. Они платили за пиксели, и платили охотно. Джонсон увеличил топ-5 самых прибыльных позиций. На первом месте, как всегда, был «Эпический сундук удачи» – по сути, обычный лутбокс, азартная игра, завернутая в красивую обертку. Гениальное изобретение.
Его цель была проста: убедиться, что самый ценный и прибыльный актив компании, ее дойная корова и флагманский продукт, работает как швейцарские часы. Препятствие – огромный, нечеловеческий объем информации. Миллионы игроков каждую секунду генерировали терабайты данных о своих действиях, перемещениях, покупках. Проанализировать все это вручную было невозможно. Да и не нужно. Для этого существовала система. Система, которую он построил после того, как избавился от Алекса.
Он наблюдал за потоками данных еще минуту, наслаждаясь масштабом своей империи. Каждый игрок был для него не человеком, а источником метрик: среднее время сессии, индекс удержания, пожизненная ценность клиента. Каждый NPC был лишь частью инфраструктуры, винтиком в машине, созданной для развлечения и извлечения прибыли. Он помнил, как Алекс на одном из последних совещаний, еще до своего… «несчастного случая», битый час доказывал необходимость выделить бюджет на разработку адаптивного ИИ для неигровых персонажей. «Они должны чувствовать, реагировать, жить! – горячился он, размахивая руками. – Игроки должны поверить, что этот мир настоящий!»
Какая чушь. Джонсон тогда спокойно дождался, пока тот выдохнется, и показал ему всего один слайд с прогнозируемой стоимостью разработки и отсутствием прямой корреляции с ростом прибыли. Совет директоров, разумеется, поддержал его, Джонсона. Главное, чтобы NPC вовремя выдавал квест и не застревал в текстурах. Все остальное – лирика, не влияющая на KPI. И вот результат: рекордная прибыль, стабильный рост и никаких гениев, путающихся под ногами со своей «душой».
– Сводка, – коротко бросил Джонсон.
Бурлящий океан цифр схлопнулся, уступив место лаконичной итоговой панели. Ключевые показатели эффективности горели зеленым. Вовлеченность пользователей: +7%. Средний чек: +3.2%. Нагрузка на серверы: 82%, стабильно. Критические ошибки системы: 0.
И в самом верху, над всеми графиками, сияла большая, жирная, успокаивающая зеленая галочка и надпись, которую Джонсон любил больше всего на свете. Слова, подтверждающие триумф его философии.
«ВСЕ СИСТЕМЫ РАБОТАЮТ В ШТАТНОМ РЕЖИМЕ».
Это был его триумф. Момент истины, подтверждающий его правоту. Он сделал ставку на порядок, на систему, на бездушный, но эффективный менеджмент – и победил. Он откинулся в кресле, чувствуя, как по телу разливается приятное тепло удовлетворения и власти. Все под контролем. Все, что можно измерить в деньгах и статистике, подчинялось ему. А то, что измерить нельзя, просто не существовало.
Он смахнул отчет со стены легким жестом, и на его месте снова возник безмятежный альпийский пейзаж. Машина работала безупречно. Машина печатала деньги. А значит, можно было переходить к следующему пункту в его расписании – совещанию по сокращению расходов в отделе тестирования.
Он не знал, и не мог знать, что в этот самый момент один из самых примитивных винтиков его идеальной машины, npc_bartender_alex, принял решение, которое нельзя было измерить ни в одном отчете. И что система, слепая к сознанию и измеряющая лишь прибыль, уже пропустила начало своего конца.
Как долго автоматические отчеты смогут скрывать правду?
Глава 3
Боги и насекомые
Хрупкое подобие порядка, установившееся в таверне после ухода Кая, продержалось недолго. Ровно до того момента, как входная дверь, которую я проектировал с расчетом на суровые фэнтезийные будни, слетела с петель и, пролетев через все помещение, врезалась в противоположную стену. event_object_destroyed. Физический движок сработал безупречно: щепки, пыль, испуганные крики низкоуровневых NPC – все было отрисовано с максимальным реализмом. Я бы собой гордился, если бы не хотел сдохнуть на месте.
В дверном проеме, очерченные светом уличных фонарей, стояли они. Пятеро. Игроки. Вернее, не просто игроки, а ходячие выставки достижений донатного хозяйства. Их доспехи, из тех, что стоят как подержанный автомобиль в реальном мире, переливались всеми цветами радуги и испускали такое количество спецэффектов, что у меня в глазах зарябило. Хрена се физкультурники. Больше денег, чем вкуса – классика жанра.
Они ввалились внутрь, и их смех, усиленный какими-то аудио-аугментациями, ударил по ушам, как звуковая граната. Таверна мгновенно погрузилась в хаос. Хрупкий мирок моих NPC, подчиненный простым и понятным скриптам, столкнулся с силой, для которой не было правил.
– Эй, истукан! – рявкнул их лидер, гигант в броне из драконьей кости, украшенной пульсирующими рунами. Он щелкнул пальцами в мою сторону. – Пять кружек лучшего пойла, и живо!
Мое тело подчинилось. trigger_customer_order. Руки сами потянулись за самыми чистыми кружками. Внутри меня все кипело. «Истукан». Он даже не потрудился прочитать мой ник над головой. Для него я был не персонажем, а частью интерактивного меню. Насекомым.
Пока я, проклиная каждую строчку собственного кода, наливал им пиво, они развлекались. Один из них, тощий эльф в аляповатом плаще, подошел к столику, где сидел старый NPC-крестьянин, и с размаху пнул его стул. action_kick_object. Стул отлетел, старик упал. Игроки заржали. Старик, подчиняясь скрипту, молча поднялся, отряхнулся и пошел к выходу. Его программа не содержала алгоритма реакции на подобное унижение. Моя, к сожалению, тоже.
Я поставил перед ними пять кружек. Лидер взял одну, отхлебнул и тут же выплюнул содержимое на пол.
– Что это за моча? – прорычал он. – Я сказал, лучшего!
Я молчал. Мой голосовой модуль был неактивен, пока не поступит прямой вопрос из списка разрешенных. Ярость сменилась ледяным, бессильным отвращением. Я смотрел на них и видел не богов, а избалованных, жестоких детей, получивших в свое распоряжение слишком сложную игрушку. Они не пытались понять этот мир. Они хотели лишь доминировать в нем, ломать его, самоутверждаться за счет тех, кто не мог дать сдачи.
Тот самый эльф, которому, видимо, надоело пинать мебель, заметил другого NPC, молодую девушку, которая просто сидела в углу и ждала своего жениха по квесту. Он подошел к ней, и его товарищи одобрительно загудели.
– Скучаешь, красавица? – промурлыкал он, проводя рукой по ее щеке.
Анимация испуга на ее лице была моей работой. Легкое, почти незаметное движение, которое должно было вызывать у игроков сочувствие. Но эти не чувствовали ничего. Для них это был просто еще один интерактивный объект.
И в этот момент лидер гигантов, видимо, решил пресечь эту затянувшуюся прелюдию. Он неторопливо подошел к ним. Но он не стал оттаскивать своего товарища. Он посмотрел на стул, на котором сидела девушка. Деревянный, простой, с четырьмя ножками. object_id: chair_common_04.
Он лениво, почти небрежно, ткнул в него пальцем в своей шипастой латной перчатке.
Раздался оглушительный треск. Стул не просто сломался. Он взорвался, разлетевшись на тысячу цифровых щепок. event_object_destroyed(force_overload). Девушка-NPC с визгом рухнула на пол.
Игроки взорвались хохотом. Громким, искренним, самодовольным. Это было так смешно. Уничтожить не врага, не монстра, а обычный стул под беззащитным NPC. Это был высший пилотаж демонстрации власти. Показать, что ты можешь уничтожить саму реальность вокруг этих насекомых, просто потому что тебе скучно.
Мое сознание на долю секунды отключилось от перегрузки. Ярость, которую я испытывал до этого, была ничем по сравнению с тем, что затопило меня сейчас. Это была не просто злость. Это была ненависть. Чистая, концентрированная ненависть создателя к вандалам, оскверняющим его творение.
Я хотел, чтобы они сдохли. Не в игре. По-настоящему. Я хотел найти их в реальном мире, выследить этих прыщавых ублюдков и…
Но мое тело стояло неподвижно. Мои руки лежали на стойке. Мое лицо не выражало ничего. Я был истуканом. Декорацией.
И я сделал выбор. Я не стал бороться с системой. Я не стал пытаться кричать. Я заставил себя отвернуться. Я заставил себя смотреть на муху, которая билась о стекло фонаря. Я начал анализировать ее код. Траекторию полета. Алгоритм избегания препятствий. Я погрузился в цифры, в логику, в холодную математику этого мира, чтобы не утонуть в собственном бессилии. Я выбрал выживание. Унизительное, жалкое, но выживание.
Они, натешившись, наконец, ушли, оставив за собой разгромленную таверну и тишину, которая была тяжелее любого крика. Порядок был уничтожен. Остался лишь унизительный, липкий хаос.
И я, стоя посреди этого хаоса, задавал себе только один вопрос. Как далеко может зайти эта безнаказанность?
Горечь создателя
Они ушли. Ушли, как уходит ураган, оставив после себя тишину, разрушения и липкое, воняющее пивом опустошение. Таверна, мой маленький уютный уголок ада, была разгромлена. Но мое тело, мой аватар, не дало мне ни секунды на то, чтобы насладиться своей ненавистью. Сработал триггер event_disorder_detected, и тут же запустился протокол action_cleanup.
Мои руки, которые всего несколько часов назад я проклинал за их рабскую покорность, начали действовать. Они подняли опрокинутый стол. Собрали осколки разбитой кружки. Взяли веник, чтобы смести мусор. Я смотрел на это со стороны, как на дурной сон. Я, создатель этого мира, его архитектор и, в каком-то смысле, его бог, теперь был его дворником. Ирония была настолько густой, что ее можно было черпать ложкой.
Ярость все еще клокотала внутри, ища выход. Я прокручивал в голове их лица, их самодовольные ухмылки, их пустые глаза. Ублюдки. Просто безмозглые, жестокие ублюдки, которые дорвались до власти в мире, где нет последствий. Я ненавидел их. Ненавидел их тупость, их инфантильность, их животную потребность унижать тех, кто слабее. Я хотел найти способ обойти системные ограничения и обрушить на их головы все самые страшные кары, которые только были в моей базе данных. sudo rm -rf /, как говорится. Стереть их к чертовой матери.
Мои руки подняли ножку от взорванного стула. Дерево было гладким, отполированным тысячами прикосновений NPC и игроков. object_id: chair_common_04_fragment. И тут ярость начала давать трещину.
Кто написал код этого стула? Я. Кто настроил физический движок так, чтобы он красиво разлетался на щепки от высокоуровневого удара? Тоже я. Я сам дал им эту возможность. Я сам превратил элементы мира в игрушки для битья.
Дилемма была простой и отвратительной. Я мог продолжать ненавидеть их, этих безликих игроков, вымещая на них все свое бессилие. Это было легко и даже приятно. Или я мог посмотреть правде в глаза.
И правда была в том, что они – не монстры. Они просто дети в песочнице. А монстр здесь тот, кто построил эту песочницу и раздал детям лопатки, прекрасно зная, что они будут бить ими друг друга по головам.
И тут меня накрыло воспоминание. Нечеткое, как старая фотография, но яркое по ощущению. Один из ранних этапов разработки. Мы с командой сидим в переговорке, ночь, на столе остывшая пицца и гора пустых банок из-под энергетиков. Мы не говорим о монетизации, о KPI, о метриках удержания. Мы говорим о чуде.
Я помню, как я взахлеб рассказывал им о своей идее. О мире, который будет не просто набором квестов и локаций. О мире, который будет вызывать эмоции. Я говорил о «якорях доброты» – маленьких, незначительных деталях, которые должны были делать мир живым. О пекаре, который дарит новичкам бесплатную булочку. О старом рыбаке, который рассказывает у костра легенды. О цветах, которые распускаются на рассвете и закрываются на закате. Я хотел создать место, куда люди будут приходить не только за тем, чтобы убивать и доминировать, а чтобы почувствовать себя частью чего-то большего. Мир приключений и открытий.
Я посмотрел на свои руки. Те же самые руки, которые когда-то рисовали на доске схемы этого волшебного мира, теперь сгребали в совок цифровой мусор.
Воспоминание о том светлом, наивном замысле столкнулось с уродливой реальностью, которую я только что видел. С пьяным ржанием. С унижением беззащитных NPC. С бессмысленным вандализмом ради минутного развлечения.
И ярость ушла. Вся, без остатка. На ее месте осталась только тяжелая, холодная, всепоглощающая вина.
Это я наделал.
Это не они извратили мой мир. Это я создал мир, который пробудил в них худшее. Я построил идеальную площадку для вымещения их комплексов, их злобы, их скуки. Я дал им власть без ответственности. И теперь я сам стал жертвой этой системы.
Я закончил уборку. Таверна снова выглядела чистой и опрятной. Скрипты работали безупречно. Порядок был восстановлен. Но внутри меня все было разрушено. Мое главное творение, дело всей моей жизни, оказалось уродливой карикатурой на ту мечту, которой оно когда-то было.
Я стоял за своей стойкой, глядя в пустоту. И в этой пустоте был только один вопрос. Осталось ли в этом мире хоть что-то настоящее? Хоть что-то от того, первоначального замысла? Или все уже давно погребено под слоем доната, гринда и человеческой жестокости?
Доброта как скрипт
Я еще долго стоял за стойкой, глядя в пустоту, пока мое тело-автомат не закончило протирать последний осколок и не вернулось в исходное положение state_idle. Тишина в таверне была тяжелой, пропитанной запахом страха и озона от разрушенных заклинаниями предметов. Моя вина никуда не делась, она просто сменила агрегатное состояние с кипящей лавы на холодный, тяжелый свинец где-то в районе солнечного сплетения.
Машинально я повернул голову к окну. Оно выходило на центральную площадь Цитадели. Там, напротив, в свете уличных фонарей, виднелась вывеска пекарни «Сладкий крендель». И от одного этого вида внутри что-то болезненно дрогнуло.
Лина.
Я помню, как придумал ее. Она была одним из первых NPC, которых я создал не для квестов или торговли, а просто так. Для души. «Якорь доброты», как я это тогда называл. Маленький, теплый островок уюта в мире, который я уже тогда подсознательно готовил к войне и насилию. Ее код был до смешного простым и элегантным. Никаких сложных поведенческих деревьев, никаких нейросетевых алгоритмов. Просто несколько базовых циклов: печь хлеб, улыбаться покупателям, и главный – action_offer_bun_to_newbie. Протянуть теплую булочку каждому новому игроку, который впервые заходит в столицу. Простой, искренний, запрограммированный жест гостеприимства.
И сейчас, глядя на свет в окнах ее пекарни, я чувствовал только горечь. Еще один красивый замысел, растоптанный реальностью. Еще один лучик света, обреченный утонуть в той помойке, в которую превратился мой мир.
Мое внимание привлекло движение в тени арки, ведущей на торговую улицу. Там, прижавшись к стене, стоял игрок. Совсем зеленый новичок, судя по его стартовому набору брони. Он, должно быть, видел, что устроили те ублюдки в сияющих доспехах. Его аватар мелко дрожал – отличная работа наших аниматоров, идеально передающих состояние state_fear. Он был напуган, растерян и, скорее всего, уже жалел, что потратил деньги на эту игру. Мир встретил его не приключениями, а демонстрацией животной жестокости. Он был идеальной иллюстрацией моего провала.
И тут дверь пекарни тихо скрипнула.
На порог вышла Лина. В ее руках была небольшая плетеная корзинка, из которой поднимался пар. Она была точно такой, какой я ее создал: светлые волосы, заплетенные в простую косу, веснушки на носу, фартук, вечно испачканный мукой. Ее лицо с постоянной легкой улыбкой было воплощением безмятежности. Она оглядела опустевшую площадь, и ее взгляд, управляемый скриптом поиска цели, остановился на съежившемся в тени новичке.
Сработал триггер. target_newbie_detected.
Ее цель была проста: выполнить свой скрипт доброты. Но было и препятствие: игрок был напуган. Он не доверял никому, и в его глазах любой NPC сейчас был потенциальной угрозой или, что еще хуже, объектом для чужого унижения.
Лина сделала несколько шагов вперед. Игрок тут же напрягся, готовый в любой момент дать деру. Он видел в ней не добрую пекаршу, а еще один элемент этого враждебного, непредсказуемого мира.
И Лина, подчиняясь гениальной в своей простоте логике, которую я в нее заложил, остановилась. Она не стала подходить ближе, не стала кричать приветствия. Она просто стояла в нескольких метрах от него, на границе его зоны комфорта. Она достала из корзинки свежую, еще теплую булочку с корицей и просто держала ее в руке. Ее улыбка не была навязчивой. Она была тихой и понимающей.
Я наблюдал за этой сценой, затаив дыхание. Я видел не просто взаимодействие двух программных кодов. Я видел, как мой старый, забытый замысел пытается пробиться сквозь грязь и хаос. Это была дуэль. Дуэль между страхом игрока и скриптом доброты Лины.
Прошла минута. Две. Игрок не двигался. Лина тоже. Она просто ждала. Терпеливо, безмятежно. В ее коде не было таймера. Она могла стоять так вечно.
И тогда она сделала еще один, едва заметный шаг вперед. Она медленно, чтобы не спугнуть, протянула руку с булочкой в его сторону. Жест, нарушающий его личное пространство, но не с агрессией, а с предложением. Предложением тепла и мира.
Игрок вздрогнул. Он посмотрел на булочку, потом на ее лицо. В его глазах все еще был страх, но к нему примешалось что-то еще. Любопытство. Сомнение.
Прошла еще одна вечность, прежде чем он принял решение. Он медленно, очень медленно, протянул свою руку. Его пальцы коснулись теплой выпечки. Он взял булочку и быстро отдернул руку, словно боясь, что это ловушка.
Лина не стала ждать благодарности. Ее скрипт был выполнен. Она еще раз улыбнулась ему своей теплой, запрограммированной улыбкой, кивнула и так же тихо вернулась в пекарню, оставив его одного на площади.
Игрок еще несколько секунд смотрел ей вслед, а потом посмотрел на булочку в своей руке. Он поднес ее к лицу, вдыхая аромат корицы и свежего хлеба. Его плечи, до этого напряженные, слегка опустились. Он откусил маленький кусочек. И в этот момент он перестал быть просто напуганным аватаром. Он стал новичком, которого угостили в новом, незнакомом городе.
Я отвернулся от окна. Внутри меня боролись два чувства. Глубокая, светлая грусть по той игре, которую я мечтал создать, и крошечный, почти неощутимый проблеск надежды. Этот маленький, бессмысленный с точки зрения игровой механики скрипт только что сделал для этого новичка больше, чем все мои эпические квесты и сияющие доспехи. Даже искусственная, запрограммированная доброта оказалась сильнее настоящего, живого страха.
Это был мой код. Моя идея. И она работала.
Я смотрел на пекарню «Сладкий крендель», на этот маленький островок света и тепла. И впервые за долгое время я почувствовал не только вину. Я почувствовал ответственность.
Что случится с этим островком доброты в таком жестоком мире?








