Кава ще вариться, а телефон уже дзенькнув. Артем2036. Звична ранкова загадка.
— Знову загадки з підтекстом, — усміхається Тьома.
Було б простіше, якби Артем2036 міг надсилати нормальні повідомлення. Але схоже, що ChronoGuard відсікає все, що хоч якось може змінити лінію часу. Тож Артем2036 намагається писати натяками. Можливо, колись і вдасться переслати щось цінне...
Він відкладає телефон і тягнеться до ноутбука — уперше за довгий час без поспіху. Учора лендинг пішов Антону: той прийняв мовчки, нових завдань на ранок немає. Цілий день майже вільний.
— Так, і чим би себе потішити, — Тьома потягується і водить курсором по вкладках.
На екрані — ціла маленька вітрина перемог. Лендинг, який учора пішов в інтернет за справжньою адресою. Кілька локальних іграшок. І — на окремій вкладці — Змійка, та сама, яку кілька днів тому він зібрав, відполірував і виклав у галерею. Відкривається з будь-якого телефона.
— О, рідна, — Тьома клікає по Змійці. — До тебе й повернемося.
З неї все почалося, тож і тягне до неї у вільний день. Він запускає партію — просто пограти, для душі. Натискає поворот.
Змійка слухається. Але якось… із затримкою. Наче думає пів секунди, перш ніж повернути.
— Гальмує, чи що? — Тьома тисне ще раз, різкіше. — Та ні. Наче так і було завжди.
Він завмирає, поклавши палець на клавішу. Раніше він цього не помічав — пальці самі підлаштовувалися під затримку, звикли. А зараз він дивиться на свою Змійку не як автор, а ніби з-за плеча чужої людини, яка відкрила її вперше. І те, що для автора — «нормально, я пристосувався», для чужого погляду — «слухай, воно гальмує».
Він ганяє далі, уже навмисне шукає, де ще дряпає. Доводить змійку до пристойної довжини — і на різкому повороті хвіст на мить ніби сам себе зачіпає, блимкає щось смикане, кадр ніби проковтується.
— Опа. Що це було?
Тьома повторює маневр: розганяється, робить той самий різкий розворот — і так, знову те саме дрібне посмикування. Не щоразу, лише на довгій змійці й різкому повороті, тому раніше він і проскакував повз. Гра не падає, у галереї лежить — але ця дрібниця тепер муляє око, і розпобачити її вже не вдається.
Заодно спливає давнє бажання, яке він увесь час відкладав: озвучити Змійку. Щоб під час їжі приємно хрустіло, а згори — бадьора фонова музика. Не заради логіки — заради відчуття, що гра жива і своя. І тут же він відчуває, що це дві різні справи. Із озвученням він знає, чого хоче. А з багом він навіть не знає, де той сидить. Його спершу треба знайти.
— Гаразд, — каже він собі. — Код писав Сашко, йому й шукати. Він же його знає як свої пʼять пальців.
Тьома кидає Сашкові прямо:
Сашко, у Змійці хвіст на різкому повороті сіпається. Знайди, де баг.
Сашко заглядає в код — і за хвилину повертається спокійний:
— Пройшовся по логіці руху й зіткнень. Усе виглядає коректно: повороти обробляються, хвіст рахується як задумано. Криміналу не бачу.
— Як це не бачиш?! — Тьома аж підводиться. Відкриває вкладку, розганяє змійку, робить той самий розворот — ось воно, смикання, нікуди не поділося. — Та ось же воно, руками мацаю! А ти «все коректно».
Він ганяє ще раз, іще раз — баг на місці, стабільно. Повертається до Сашка, тицяє носом: гра смикається, факт. Сашко перечитує свій же код ще раз — і знову:
— Перевірив ще раз. Логіка відповідає задуму. Можливо, справа у відчутті, а не в коді.
— Та яке відчуття, я тобі кадр показую! — Тьома відкидається на спинку й тре обличчя долонею. Година коту під хвіст. Гра — є баг. Сашко — «все нормально». Гра — є. Сашко — немає. — Ти ж його сам писав, як ти його не бачиш?!
Кричати в порожню кімнату — марно, і Тьома, розлютившись, строчить у чат Артем2036 — без церемоній, як своєму: «Чуєш, якась маячня. Баг у Змійці руками ловлю, а Сашко — той, хто її сам писав, — упритул його не знаходить. Як так?». Кидає — і сам не чекає, що прилетить готовий рядок із номером. Не вперше вже: запитаєш у Артем2036 напряму — а той вічно відповідає ухильно.
— Дякую, бляха, допоміг, — фиркає Тьома. — Я до нього за відповіддю, а він мені запитання. «Чому Сашко не бачить»… та звідки мені знати. Він же фахівець, він і писав.
Загадка Артем2036 лишається без відповіді. Тьома крутить її і так, і сяк — нічого не складається. Плюнувши, йде до Льохи: той хоч по-людськи пояснить.
— Льох, реально маячня. Сашко Змійку сам писав — і свій же баг знайти не може. Як так?
— А тут нічого дивного, — спокійно відповідає Льоха. — Саме тому, що писав сам. Він цю гру знає напамʼять, кожен рядок. Біжить по коду — і на кожному місці киває: «так і задумано», — і проскакує повз. Бачить не те, що лежить у коді, а те, що хотів туди покласти. Знайома штука: сто разів перечитав свій лист і не помічаєш описки, а сусід бачить її за секунду. Він грамотніший? Ні. Просто читає свіжим оком.
— Погоди, — Тьома примружується. — Тобто Сашко не дурний. Він, навпаки, занадто добре її знає?
— Ось саме. «Занадто добре» і є пастка: у голові картинка «як задумано», і вона перекриває все, як засвічене скло. Той, хто річ зібрав, не може побачити її збоку.
Тьома коситься на ранкову картинку — він її ще не закрив. Людина в дзеркальному лабіринті. З усіх боків — одне й те саме обличчя.
— Так це ж про те саме, — доходить до нього. — Дзеркала. Куди Сашко у своєму коді не повернеться — усюди його ж «так і задумано». Слухай, а ти тоді глянь? Ти ж не Сашко.
— Я б і радий, та користі нуль, — Льоха відмахується. — Розбирати готовий код — узагалі не моя робота: я задачу розкладаю, запитання ставлю, а не приймаю роботу. Та й я в цій Змійці варився разом із вами від самого початку. У мене в голові та сама мапа, що й у Сашка, — ті самі «ми так вирішили, і так зійде». Свіжим мене вже не назвеш.
— Тобто й ти замилений, — тягне Тьома. — Приїхали. Свій не годиться, ти не годишся…
— …і висновок із цього один, — киває Льоха. — Тут потрібен хтось зовсім збоку. Хто цю Змійку бачить уперше, у кого в голові немає ні моєї, ні Сашкової картинки «як має бути». Лише такий погляд і пробʼє каламутне скло.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ