Введение в теорию магии

в 8:11, , рубрики: game development, магический движок, магия, теория магии, метки: , ,

Первая статья из цикла «Теория магии» носит обзорный характер. Ее цель — сформулировать основные вопросы рассматриваемой дисциплины преимущественно на качественном уровне, а так же разъяснить, какие принято выделять субдисциплины, и как аспекты, находящиеся в центре их внимания, связаны между собой.

Постановка проблемы

Наши усилия будут направлены на описание магического движка (magic engine). По аналогии с физическим движком мы хотим создать, а прежде подготовить основу для создания компьютерной программы, которая должна производить компьютерное моделирование магических законов мира, но, если физическое моделирование имеет дело с миром реальным, то в нашем случае мир воображаем.
Это не должно послужить непреодолимым препятствием. В конце концов, на протяжении сотен лет теологи строили свои конструкции на не менее зыбкой почве; и, как они ограничивали себя следованием святому писанию, традиции, авторитетам, политической конъюктуре, в определенной степени логике etc, так и теория магии должна основываться на предположениях здравого смысла в этой области, сформированного литературой, логикой, свойствами реального мира там, где они обязаны быть учтены, и вычислительными возможностями.
Мы займемся рассмотрением заклинательства, оставив в стороне другие магические практики такие, как предсказательство, астрология и т. д., но отметим, что заклинание может быть выражено и не словесно, а геометрически или, допустим, в виде алхимического рецепта. Однако мы предполагаем возможность перевода заклинания любого вида на язык, который будем далее называть истинным языком. Каждое заклинание имеет целью изменение состояния некоего объекта или его превращение, и мы будем считать, что такое превращение всегда требует расходования ресурса, именуемого по традиции маной. Еще одно предположение состоит в том, что заклинание имеет адресата, того, кто это заклинание возможно исполнит; почему и насколько точно мы обсудим далее.
Итак, заклинание – это синтаксически корректный текст на истинном языке (с точностью до перевода), содержащий субъект и объект в соответствующих падежах и описание требуемого действия. Для исполнения заклинания должно быть предоставлено соответствующее количество маны. Результат определяется кроме того уровнем мага и его состоянием и может оказаться не совсем таким или совсем не таким, как ожидалось. Вычисление этого результата и есть наша задача.

Мана

Мана черпается в местах силы,
улавливается в магических потоках,
отнимается у жертвы и заимствуется у соратника.
Только глупец пытается перевести энергию в ману, ибо
ни один маг никогда не сможет преступить
законы сохранения.

Из наставления по инженерной магии

Состояние объекта (S) – это совокупность свойств объекта и их значений. Если множество свойств пусто, то соответствующее состояние называется несуществованием (N). Творение – это преобразование несуществования в любое нетождественное ему состояние, а обратное превращение – уничтожение.
Переход из состояния S[i] в S[j] будем записывать как S[i] → S[j].
Количество расходуемой на превращение маны (m) должно зависеть от начального S[0] и конечного S[1] состояний, заклинания (q), мага (w), объекта (o) и субъекта (f). Допустим, что w, o и f фиксированы. Тогда кажется разумным предположить:

  1. m(S[0] → S[1], q) = 0 <=> S[0] = S[1].
  2. Для любого q существует !q такое, что m(S[0] → S[1], q) = m(S[1] → S[0], !q).
    Заклинание !q называется обратным для q.
  3. Для любых q[0] и q[1] найдется q[2] такое, что
    m(S[0] → S[1], q[0]) + m(S[1] → S[2], q[1]) >= m(S[0] → S[2], q[2]).

То есть в основе исчисления маны лежит метрическое пространство, вероятно, пространство состояний, а значит для любых двух состояний может быть определено расстояние r(S[i], S[j]), на преодоление которого расходуется часть маны. Другая часть связана с заклинанием, и функция m принимает вид
m(S[0] → S[1], q) = k * (r(S[0], S[1]) + lex(q)),
где k – коэффициент, зависящий от мага, объекта и субъекта, а lex – лексическая функция от текста заклинания. Как нетрудно видеть

  1. Существует нулевое заклинание q0 такое, что lex(q0) = 0.
  2. lex(q) = lex(!q).

Два важных вопроса мы оставим на будущее:

  1. Как действительно выбрать метрическую функцию на множестве состояний?
  2. Почему заклинание как текст требует маны, и, исходя из этого, как вычисляется лексическая функция?

Добавим несколько слов о коэффициенте k = k(w,o,f). Требуемая для S[0] → S[1] мана, очевидно, зависит от уровня мага, от его сродства объекту и близости к субъекту. Более формально, предположим
k(w,o,f) = intens(w) * res(w,o) * rem(w,f),
где intens(w) – величина обратная КПД мага (>1), res(w,o) – сопротивление объекта данному магу (>=1), а rem(w,f) – функция удаленности мага от субъекта в пространстве служения, на одном конце области значений которой находится аватара субъекта, на другом же — его антагонист.
Уточним, что на самом деле intens = intens(w,m), но мы надеемся выбрать такую зависимость от m, которая давала бы существенные отклонения от intens(w, const) только в области больших энергий. Другая тонкость касается сопротивления объекта, ведь объект переходит из начального состояния в конечное, в которых сопротивление могло бы различаться. Тогда значение m(S[0] → S[1]) должно быть представлено как результат интегрирования по траектории превращения.

Погрешности

Не выстрел – грех, а промах.
Принципы войны мэтра Ксавье

Невозможно произвести действие со стопроцентной эффективностью и абсолютной точностью. И речь здесь не об искусности и аккуратности мага, а о фундаментальных ограничениях.
КПД
КПД магической операции всегда меньше единицы, то есть часть выделенной маны переходит в тепло. Часть эта тем больше, чем ниже уровень мага и, оставаясь для фиксированного мага приблизительно постоянной в большой области повседневной магии, при использовании значительных объемов маны она может возрастать. Этим вызываются нагрев и свечение, сопровождающие превращения; это же в сочетании с самонадеянностью начинающих служит частой причиной сгорания молодых специалистов на работе.
Погрешности объема маны
Количество маны, выделяемой для превращения, — случайная величина с нормальным распределением. Разумеется, математическое ожидание равно объему, который маг пытается использовать, а дисперсия зависит от уровня. Но как бы опытен ни был маг, существует ненулевая вероятность сколь угодно большого (в пределах энергетических возможностей данного индивида) отклонения от желаемого значения маны. Отсюда мы переходим к следующему виду погрешностей.
Погрешности цели
Действительно, чем закончится магическая операция, если маны окажется недостаточно для достижения целевого состояния? Или если ее количество будет слишком велико?
Мы говорили раньше, что превращение задается в терминах начального и конечного состояний. Уточним теперь: эти состояния определяют желательное направление превращения; желательное, а не действительное, ведь и здесь мы имеем дело с нормально распределенной случайной величиной, дисперсия которой зависит от концентрации мага. И вот, учитывая все погрешности, заданный переход S[0] → S[1] оказывается переходом S[0] → T, где T — промежуточное псевдосостояние, разрешаемое через небольшой промежуток времени в целевое состояние ST.
Очень коротко о переходе T → ST. Введем функцию притяжения T к S[i] как
gr(T, S[i]) = n(S[i]) / r(T, S[i])^2,
где r(T, S[i]) — расстояние между T и S[i],
n(S[i]) == 1 для естественных состояний, то есть состояний, устойчивых и при отсутствии магического фона, а для неестественных состояний зависит от плотности фона и не превышает единицу. Тогда вероятность перехода T → S[i]
p(T → S[i]) = gr(T, S[i]) / Sum(gr(T, S)).

Имена

В истинном языке знак и обозначаемое
часто меняются местами.

Сакральная география

Уже было сказано, что язык заклинаний — истинный язык, и вот настало время спросить, что же делает язык истинным? Почему одни сочетания знаков являются истинными именами, а другие — нет? Известно, что для любого волшебного воздействия на объект, необходимо указать в заклинании его имя, имя этого конкретного объекта, а не его рода или класса. Но откуда маг может узнать имя камня, подобранного на дороге? И существует ли оно?
Имеются свидетельства, что каждый объект по крайней мере когда-то в прошлом имел истинное имя; рассмотрение этих свидетельств, впрочем, выходит за рамки нашего обзора. На практике в подавляющем большинстве случаев маг дает имя объекту с помощью процедуры создания оболочки, соединяя тем самым ману, язык и место. Сначала вокруг объекта описывается граница как барьер будущей оболочки, и в эту границу вплетается имя, содержащее своей частью родовое имя объекта. Затем внутрь границы излучается мана, количеством которой определяется объем пространства имени (первоначальная плотность маны — фиксирована). От линии границы и объема области зависит форма ограничивающей поверхности или оболочки, а ее проницаемость в основном связана с силой мага.
С этого момента объект и область имени оказываются связаны, даже будучи разделены в пространстве, и, как имя является знаком объекта, так и объект становится знаком именной области. До тех пор, конечно, пока в результате утечки маны, плотность не станет меньше критической, и оболочка не исчезнет вместе с именем. А каждое употребление имени в заклинании увеличивает количество маны в именной области на значение лексической функции, в результате чего плотность возрастает до максимальной, а затем увеличивается объем области.
Может случиться, что несколько объектов именованы одинаково. Тогда, если имя употребляется в заклинании, лишь один объект будет превращен. Выбор его производится так: именные области пытаются отозваться в порядке убывания объема, вероятность использования равна отношению плотности маны в именной области к максимальной плотности.
Может случиться так же, что один объект имеет несколько имен. Пока объект не призывается, все его имена находятся в суперпозиции. Под воздействием заклинания одно из имен актуализируется. Выбор этого имени производится так: сначала пытается отозваться имя, используемое в заклинании, вероятность благоприятного исхода равна отношению плотности маны в именной области к максимальной. Если это имя терпит неудачу (а вместе с тем и операция превращения), то области остальных имен перебираются в порядке убывания объема, и очередное имя пытается актуализироваться. Получив актуальное имя, объект некоторое время, зависящее от количества маны в именной области, отзывается только на него. Затем происходит релаксация, и имена вновь возвращаются в состояние суперпозиции.

Лингвистическая катастрофа

Всю жизнь они проводят,
составляя имена всё более длинные и длинные
в надежде подобрать однажды великое Имя,
которое было в начале и будет в конце.

Путешествие по краю мира

С давних пор приводится под названием «Лингвистическая катастрофа» следующий парадокс из области изначальных истинных имен.

  1. Пусть изначальное имя некоторого объекта общеизвестно, как, например, название нашей планеты. Тогда любой маг может выполнить сколь угодно разрушительное действие. Допустим, сдвинуть ось вращения, изменить массу и так далее. Нам известно очень мало изначальных имен объектов, все эти объекты обладают крайне высоким магическим сопротивлением. Однако мир полон и весьма отзывчивых объектов, исконных имен которых мы, к счастью, не знаем.
  2. Возможна случайная операция над объектом, даже когда имя его не известно, если оно совпало с именем, данным магом рабочему объекту. Ситуация выглядит еще более странной при учете виртуальных фоновых заклинаний, то есть текстов, спонтанно возникающих из магического фона.

Возникает вопрос: почему нас не накрывает хаос, катастрофа? Почему мы есть?
Вкратце, обычный ответ таков: мир, в котором известны изначальные имена ключевых объектов с низким сопротивлением магии, разрушается очень быстро. Мир, в котором изначальные имена коротки, ввергается магией в хаос и разрушается. То, что мы еще живы, — свидетельство в пользу длинных изначальных имен или — что было бы безопаснее и красивее — имен бесконечной длины.

Субъекты

Боги рождаются каждое мгновение.
И тут же исчезают.

Книга Пустоты

Субъект — это субъектная именная область, возникшая из объектной именной области в результате практической веры и благодаря этой вере продолжающая свое существование.
Под практической верой понимается употребление имени в субъектном падеже в качестве субъекта заклинаний, молитв и ритуальных текстов сопровождения жертвоприношений, и, как следствие, выделение маны в субъектную именную область.
Если субъектная область не существует на момент акта веры, то она возникает в объеме, равном текущему объему объектной области. Затем динамика этой области подобна динамике объектной области:

  1. Плотность маны падает со временем в результате утечки через полупроницаемую оболочку. При достижении минимальной плотности, область исчезает.
  2. Всякое употребление субъектого падежа в актах веры увеличивает количество маны в субъектной области. Сначала растет плотность маны до максимального значения. Потом увеличивается объем области.

Вероятность ответа субъекта заклинания равна отношению плотности маны в субъектной области к ее максимальному значению. Субъект может исполнить такое заклинание, на которое требуется мана в количестве много меньшем, чем количество маны субъектной области. Соответствующее соотношение и метод его экспериментального получения рассматривается в теории субъекта.

Что дальше?

Перечень основных тем и направлений:

  1. Теория пространства состояний.
  2. Манодинамика.
  3. Теория магического сопротивления.
  4. Математическая теория оболочек.
  5. Грамматика истинного языка.
  6. Синтаксис истинного языка.
  7. Структура текстов: заклинания, молитвы, сопровождения жертвоприношений.
  8. Теория субъектов.
  9. Теория отношений с субъектом.
  10. Пространства родов. Метамагия.

Автор: wes

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js