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