Ловушка для творца
Шрифт:
Достаточно однажды виденный по телеку прием из рестлинга, предварительно в голове прокрутить, а затем попытаться исполнить и, получилось! Кореец серебрится у ног неопрятным посмертным облачком.
Выпадает куча системных сообщений, как всегда не вовремя, раздраженно от них отмахиваюсь и со всех ног спешу на помощь Толику, нашему баферу, а то узкоглазый любимец муз своей изящной флейтой из него уже последние хиты выбивает.
Не успел. Толик ушел на точку возрождения, а я всей массой, с ускорением, врезался в барда, подхватывая под колени, и мы, пролетев метра четыре, со всего разгона упали на красивую травку возле сусликового холмика. Я сверху. Суслика не вижу, но он точно знаю, есть. Спрятался, предусмотрительный.
Устраиваюсь на барде поудобнее и начинаю с жалостью его избивать. Если у меня грудь болит, словно асфальтным катком придавило, и хиты здоровья на половине, то, как пришлось ему? От каждого моего удара кулаком, голова музыканта болтается из стороны в сторону, до тех пор, пока руки не начинают проходить сквозь то, что осталось от смелого тэгымиста.
Вот, в общем-то, и все. Нас осталось трое. Серега и, как ни удивительно, Майя, наша лучница, положили остальных. Потеряли Толика и Фила — Хила. Его тот самый корейский лучник, стрелами, которые в колчан не вернулись, в самом начале боя нашпиговал.
Глава 24. Приложение. Как рождался и устроен «Мир»
XXIV
Приложение. Как рождался и устроен «Мир».
«Случись мне присутствовать при сотворении мира,
я бы дал кое, какие советы по части лучшего
устройства мироздания».
Альфонс Мудрый, король Кастилии.
2019 г.
Всеслав.
Полученные в университете знания, постепенно смешиваясь с моими собственными наработками, в один уникальный и неповторимый коктейль, позволили мне уже на третьем курсе начать работу над проектом, обещавшим стать прорывом не только в информатике, но и в отношении с машиной вообще.
Когда появлялся новый компилятор или движок, — пробовал адаптировать для своих целей. Подходил — хорошо, не получалось выжать ничего дельного — delete. Дальше, дальше! Снова не то! А вот это — то, что нужно! Времени постоянно не хватало, даже на сон.
Зато во «взрослый мир» вышел, имея свой собственный язык программирования, синтезирующий на разработанной мной основе все самое лучшее из других языков, получивший рабочее название «Сиселия», от СSL (Composed Solution Language), попросту «Сися». Основным его отличием от других языков стала возможность использования множественных распределенных вихревых потоков исполнения, что позволяло процессору производить операции без переключения и соответственно увеличить быстродействие только за счет программной части почти в четыре раза.
Также скопилось множество решений по мелочи, и два совершенно оригинальных игровых движка о которых, как, в общем-то, и о «Сисе», я никому не говорил, надо сказать не от излишней скрытости, а от предубеждения — заранее высказанное не сбудется. Да, и еще: апофеозом моего непрерывного затворничества стали наметки удобоваримого алгоритма искусственного интеллекта.
С ИСКусственным ИНтеллектом все оказалось и сложно и просто одновременно.
Вся фишка в алгоритме, позволяющем запустить процесс самообучения этого же алгоритма с выбором наилучших, наиболее соответствующих игровому моменту вариантов отклика игровой среды, и сохранением информации в виде динамических правил, которые в свою очередь также могут изменяться в процессе самообучения и определять воздействия алгоритма на игровую среду.
Моя «Сиселия» позволяла это сделать после выделения таких алгоритмов в «улитки», так я назвал специальные блоки спиральной обработки кода, работающие параллельно, вне основного потока и возвращающие результаты туда, где ответ ожидался этим основным потоком. Причем сбросить информацию, можно было с любого витка спирали, и это также положительно сказывалось на быстродействии.
В принципе, все могло работать на любом компьютере, даже на древнем «пентиуме», правда, серьезно подвисая. Пользователю устанавливалась только клиентская часть. Она, сама по себе, хотя и занимала много места, потребляя львиную долю ресурсов пользовательского компьютера, все же без проблем обрабатывалась даже не самым мощным процессором, а весь оставшийся «Мир» оставался, распределен по множеству облачных хранилищ на разных серверах по всей Земле. Что, в общем-то, не есть хорошо. Когда найдется подходящий спонсор, обязательно перенесу все на свои сервера. Быстродействие от такого шага только выиграет, это важно.
Начав работу, я потерялся в пространстве и времени.
Его мне не хватало постоянно, а вопросов, требующих первоочередного решения, становилось все больше и больше, с каждым новым рабочим днем. Впрочем — тогда я был счастлив! Это были дни постоянного радостного предвкушения свершения и, не проходящей даже на время отключения от виртуала, радужной эйфории.
Наблюдать, как рождаются твои персонажи, наливаются красками и оживают ранее безжизненные, лишенные цвета и движения локации, начинают работать прописанные тобою физические законы в новом, ранее не существовавшем до твоего творения, Мире.
Я чувствовал себя самим Создателем!
И гордился собой, убирая незначительные баги, наслаждался тем как решают любые вопросы сообразительные искины, ликовал от достоверности графики и звуков, казалось, даже запахи присутствовали, приходил в восторг от тактильных ощущений, которые мне дарил МОЙ Мир! Здесь я мог все!
В одиночестве бродил по инстансам, где мобы и боссы пока еще не наученные, не умеют агриться. Звери в лесах подставляли мне свои головы, требуя ласки и вытягивая шеи для почесывания. Беседуя с местными жителями, радовался их рассудительной неторопливости и доброжелательности. Я заходил в их дома, посещал замки королей и создавал интерьеры обителей богов… Танцевал в жерле вулкана на потоках лавы с Духами Огня и кормил с рук монстров в сырых, темных и душных подземельях, купался в бирюзовых озерах у величественных водопадов и собирал неграненые алмазы из выходящих на поверхность кимберлитовых трубок. Теплые струи слепого дождя, заставая меня врасплох среди поля, снимали усталость и смывали легкую пыль с блестящих доспехов, а потом, стыдясь своей шалости, прятались чуть вдалеке за округлыми переливами искрящейся двойной радуги. Я хотел жить здесь, ведь, наверное, таким и должен быть рай!
Конечно, не все я мог сделать сам.
Многие вещи — арт, анимацию большинства персонажей, почти все фоны, визуальные и звуковые эффекты и много еще чего по-мелочи, пришлось заказывать на стороне. Я работал не только с нашими фрилансерами, но и с индусами, малазийцами. Больше времени уходило на согласование, чем собственно на выполнение заказов. Зато денег тратилось меньше, значительно. Уму не постижимо, сколько может сделать фриланс из какого-нибудь Катманду, по сравнению с европейцем или американцем, или даже в пику нашим высокоинтеллектуальным ламерам, за те же деньги! Но, досада, — ни рендеринг, ни динамическую симуляцию с захватом движения, фрилансеры не тянули по определению. Пришлось заказывать у серьезных фирм, за большие деньги и по предоплате. На них и ушла львиная доля моих призовых.
А не программного времени, больше всего потратилось на разработку игровой одежды и обуви с обратной связью, шлема и прочей игровой экипировки с оружием. Я в области электротехники, всяких там движений электронов и прочих полупроводников, почти полный профан. Электрические цепи, как предмет, преподаваемый в универе, проскочил мимо меня, словно скорый поезд мимо захолустного полустанка, хоть я и сдал экзамен на «9». Ну, не интересна мне физика процесса!
Намного больше впечатляет преображение мертвой железяки в почти живое, почти думающее существо. Одушевление неорганического конструктора и познание метафизических вопросов бытия посредством программирования — вот единственная цель, достойная приложения усилий!
Как подступиться к данной проблеме, я совершенно не представлял. С такими технологиями, даже в пижонистой столице, оказались очень большие напряги. Попросту говоря, они отсутствовали напрочь. Наглухо. И снова очень помог Сергей, связавшись через одних людей у нас, с другими людьми в Прибалтике, а те еще с кем-то, кто смог воплотить, еще не до конца оформившиеся пожелания, в реальную ткань, кожу и пластик, нашпигованные различной электроникой.
Наконец-то дописаны последние скрипты, очень много скриптов. Хотя я старался не перегружать обращениями к ним и так уже многокилометровый код, оставляя развитие событий и всей игровой механики на откуп искинам. Вопреки устоявшемуся мнению, искин, — не отдельная машина, нереальной производительности, а самостоятельная подпрограмма, работающая по своим независимым алгоритмам. Их в «Мире» предполагалось не мало. Как правило, на одной машине можно разместить множество искинов, все зависит от их классов, определяемых по сложности решаемых ими задач, и тут уже, да — очень важна производительность этой самой машины. С матрицами этих вершителей игровых судеб, пришлось повозиться изрядно, тщательно прорабатывая линии поведения и адаптируя каждого к отведенной только ему роли.