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


