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