У hard SF є проста й корисна домовленість: автор може дозволити собі одне велике фантастичне припущення, але після цього світ уже не повинен підлаштовувати закони під потреби сюжету.
Якщо існує термоядерний двигун — у нього є тяга, тепло, паливо, маса й аварійні режими. Якщо людина може жити двісті років — це змінює родину, спадкування, кар’єру, політику та економіку. Якщо існує міжзоряний корабель — недостатньо просто написати, що він летить до іншої зорі. Треба хоча б розуміти, що саме ми дозволили світу і які наслідки з цього випливають.
А що, якщо тим самим способом подивитися на фентезі?
Не питати, чи «можлива магія» з погляду нашої фізики. Вона, очевидно, для цього жанру може бути неможливою. Поставимо інше питання: чи можна зробити магічний світ внутрішньо твердим?
Наприклад, уявімо, що світ фентезі — симуляція.
Не обов’язково комп’ютерна симуляція в нашому сучасному значенні. Важлива сама архітектура: є фізичний рівень світу, є його поточний стан, а десь вище існує система, яка цей стан обчислює. Тоді те, що мешканці називають магією або божественним втручанням, може бути не «другою фізикою», а доступом до службових функцій симуляції.
Бог у такій моделі — не обов’язково всемогутня істота, яка одним бажанням скасовує будь-яке правило. Набагато цікавіше, якщо це адміністратор із певним набором прав.
І тоді фентезі раптом можна розбирати майже як інформаційну систему.
Симуляція не береться нізвідки
Перше обмеження треба накласти ще до появи магії.
Якщо хтось створив симульований Всесвіт, навряд чи він почав із абсолютно довільного набору законів. У симуляції майже напевно є мета.
Найпростіший варіант — вона досить точно відтворює реальний світ творців. Вони змінюють кілька параметрів, початкові умови або одну фундаментальну властивість і дивляться, що станеться.
Умовно:
базова модель + контрольована зміна = експеримент.
Можна запускати мільйони світів із трохи різними фундаментальними константами. Можна перевіряти розвиток цивілізацій. Можна досліджувати альтернативні біологічні механізми. А можна взяти майже звичайний Всесвіт і дозволити розумним істотам обмежений доступ до службових функцій системи.
Оце вже майже готова основа для hard fantasy.
Тоді магія не повинна бути безмежним другим комплектом законів природи. Вона може бути одним спеціально введеним відхиленням від базової моделі.
Наприклад: деякі суб’єкти мають право читати додаткові дані симуляції, змінювати локальний стан або вибирати серед фізично допустимих варіантів розвитку подій.
Усе інше повинно випливати з цього.
Чотири базові операції
Якщо дуже грубо звести більшість класичної магії до мінімального набору функцій, достатньо чотирьох типів доступу.
Перший — QUERY, читання стану світу.
Другий — SELECT, вибір серед можливих майбутніх станів.
Третій — PATCH, безпосередня зміна стану.
Четвертий — PERSIST, збереження й відновлення інформації про особистість.
Це не чотири стихії й не чотири різновиди магічної енергії. Це чотири різні класи операцій над симуляцією.
Із них уже можна скласти майже весь звичний фентезійний арсенал.
QUERY: пророки, ясновидці та читання думок
Найменш руйнівна магія — просто отримати інформацію, якої звичайний спостерігач не має.
Маг не змінює світ. Він лише має ширший доступ до його стану.
Знайти людину за тисячу кілометрів.
Побачити, що лежить за стіною.
Прочитати фізичний стан тіла.
Визначити, що відбувається в мозку співрозмовника.
З’ясувати, де певний предмет перебував учора.
Усе це можна трактувати як різні права на QUERY.
Пророцтво теж може бути запитом, але вже складнішим. Система бере поточний стан світу, запускає його вперед і повертає один або кілька найбільш імовірних результатів.
Тут одразу виникає природне обмеження, яке дуже добре працює для сюжету.
Щойно пророк розповідає людям майбутнє, він змінює поточний стан системи.
Король дізнався, що через рік його вб’ють на мосту, — і наказав міст розібрати. Тепер старий прогноз уже не описує ту саму систему.
Отже, пророцтва не обов’язково мають бути туманними тому, що «доля загадкова». Вони можуть бути точними лише доти, доки інформація про них не впливає на поведінку учасників.
Чим далі горизонт прогнозу, чим більше в системі розумних агентів і чим сильніше вони реагують на пророцтво, тим швидше воно втрачає точність.
Це вже майже інженерне обмеження.
SELECT: удача, прокляття і доля
Ще цікавіший доступ — не змінювати фізику напряму, а вибирати серед уже допустимих варіантів.
Стріла може влучити або промахнутися.
Меч може зламатися саме в цю секунду або витримати ще десять ударів.
Людина може зустріти потрібного подорожнього на перехресті або розминутися з ним на дві хвилини.
У звичайному світі конкретний результат визначається складною сумою причин, хаосу й випадковостей. Користувач SELECT отримує право трохи підштовхувати вибір.
Тоді благословення — це не «позитивна магічна енергія», а стале зміщення ймовірностей на користь людини.
Прокляття — те саме зі знаком мінус.
А доля може бути довгостроковою політикою системи: зберігати певного суб’єкта на траєкторії, яка веде до заданого результату.
Цей механізм особливо зручний для Бога, який не хоче ламати фізику.
Не треба створювати блискавку з нічого, якщо можна дочекатися грози й зробити дуже малоймовірний удар блискавки саме в потрібне дерево.
Не треба матеріалізувати рятівника біля пораненого героя, якщо можна трохи змінити низку подій так, щоб лікар опинився поруч сам.
І тут з’являється хороша ціна.
Чим менш імовірний потрібний результат, тим «дорожче» втручання. Умовно можна навіть оцінювати його інформаційною мірою: результат із шансом один до двох дешевший, ніж один до мільйона.
А подію з нульовою фізичною ймовірністю через SELECT отримати неможливо взагалі.
Тобто ця магія може творити неймовірне, але не неможливе.
І якщо навколо одного героя сорок разів поспіль відбуваються події з шансом один на мільйон, мешканці світу рано чи пізно можуть це помітити статистично.
Так у світі з’являється експериментальна теологія.
PATCH: коли починається справжнє чаклунство
PATCH — це вже пряме втручання в поточний стан симуляції.
Збільшити температуру певного об’єму повітря.
Перемістити предмет.
Закрити рану.
Змінити хімічний склад речовини.
Перебудувати тканину.
Саме тут живе більша частина класичної бойової магії.
Вогняна куля в найпростішому варіанті — локальна зміна температури або додавання енергії.
Але якщо після цього світ чесно підкоряється звичайній фізиці, маг отримує не красиву кульку з комп’ютерної гри, а гарячий газ, випромінювання, розширення, ударну хвилю, пожежу і дуже серйозний ризик обпалити самого себе.
Телепортація — зміна координат об’єкта.
І одразу виникають питання.
Що відбувається з повітрям у точці прибуття?
Чи зберігається швидкість?
Де закінчується об’єкт «людина»: одяг входить у телепортацію? зброя? бактерії в кишечнику? паразит? людина, яка схопила мага за руку?
Що трапиться, якщо координата припадає на стіну?
Якщо система має високорівневу безпечну функцію «перемістити людину в доступну точку», вона може автоматично вирішувати ці проблеми.
Але це вже означає, що хтось колись спеціально написав такий інтерфейс.
І це важливе питання для worldbuilding: магія працює через низькорівневі команди чи через готові безпечні функції?
Новачок, який отримує лише перевірені функції, може бути набагато безпечнішим за архімага з сирим доступом до PATCH.
Лікування працює за тим самим принципом.
У реальному тілі немає змінної «здоров’я = 100%». Щоб відновити людину, треба знати, які судини з’єднати, які клітини прибрати, як відновити нервові шляхи, що робити з крововтратою, інфекцією, запаленням і тисячами інших станів.
Тому цілюща магія може бути не проявом великої потужності, а просто доступом до дуже складної спеціалізованої функції.
Бойовий маг здатен вкласти мегаджоулі в повітря, але не має прав або знань, щоб правильно відновити один пошкоджений спинний мозок.
PERSIST: душа як об’єкт поза фізичним тілом
Найцікавіше починається, якщо система зберігає частину інформації про мешканця не лише всередині симульованого світу.
Тоді в людини може існувати зовнішній ідентифікатор — умовний Person_ID — і пов’язаний із ним стан особистості.
Для самого мешканця це майже ідеальна технічна модель душі.
Тіло загинуло, але інформація про людину не обов’язково зникла.
Тоді воскресіння — це комбінація PERSIST і PATCH: знайти збережений стан особистості, створити або відновити тіло і повернути цю особистість у фізичний світ.
Але одразу виникають обмеження.
Коли зроблено останню копію?
Якщо система зберігає людину раз на добу, воскреслий не пам’ятатиме останніх годин життя.
Якщо копіювання безперервне, воскресіння може бути майже точним.
Чи можна відновити дві копії одночасно?
Яка з них «справжня»?
Чи можна видалити backup?
Чи існує право відмовитися від збереження?
Що відбувається з копіями тих, хто помер тисячі років тому?
Некромантія тоді теж розкладається на різні рівні доступу.
Некромант може не мати права воскресити людину, але мати право прочитати її останній збережений стан або запустити тимчасову модель особистості для розмови.
Для мешканців це буде «виклик духу».
Для архітектури — read-only доступ до архіву.
Але головний елемент — не магія, а ACCESS
Чотири базові функції ще не створюють хорошого фентезійного світу.
Якщо кожен маг може без обмежень викликати будь-який QUERY, SELECT, PATCH або PERSIST, цивілізація миттєво перетвориться на щось абсолютно невпізнаване, а більшість сюжетних проблем вирішуватиметься одним викликом функції.
Тому найважливіший шар — система прав, квот і областей доступу.
Вона відповідає не на питання «чи існує телепортація», а на набагато корисніше:
хто має право телепортуватися;
кого він може взяти із собою;
яку масу;
на яку відстань;
у які області;
скільки разів на добу;
чи потрібна згода іншої людини;
чи можна відкликати це право.
Тут «мана» стає лише одним із можливих обмежень, причому не найцікавішим.
Чому маг не телепортує армію у спальню короля
Припустимо, у світі є телепортація.
Якщо вона необмежена, стіни, фортеці, дороги й значна частина військової логістики майже одразу втрачають сенс.
Але нехай звичайний маг має право лише на функцію «перемістити себе до зареєстрованої точки».
Тоді для перенесення іншої людини потрібен окремий дозвіл.
Для групи — ще один.
Для створення нової точки виходу — адміністративне право.
Для входу в чужу захищену область — окремий доступ, якого в більшості магів немає.
Тепер фортеця може захищатися не від телепортації енергетичним куполом. Вона просто має політику:
зміна координат усередині цієї області заборонена для сторонніх користувачів.
Мешканці називатимуть це магічним бар’єром.
За суттю це ACL — список контролю доступу.
І раптом фортифікація знову працює.
Магічні ліцензії та артефакти
Якщо доступ можна видавати й відкликати, магічна влада стає ще цікавішою.
Король не обов’язково сам сильний чаклун. Але він може мати право видавати регіональні дозволи на певні класи магії.
Жрець отримує доступ після посвяти.
Порушив клятву — право відкликали.
Маг повторює те саме заклинання, той самий жест, ту саму формулу, але нічого не відбувається.
Для нього це «Бог відвернувся».
На системному рівні — токен більше недійсний.
Артефакт у такому світі теж не обов’язково накопичувач енергії.
Він може бути носієм права.
Корона дає доступ до керування погодою в межах королівства.
Меч не ріже краще за звичайну сталь, але його власник має підвищений SELECT під час бою — і тому дивовижно часто встигає ухилитися, влучити або побачити помилку супротивника.
Святий релікварій містить ключ до PERSIST певної групи людей.
За такі предмети є сенс воювати не через їхню матеріальну цінність, а через permissions.
У фентезі з’являється власна кібербезпека.
Артефакт можна викрасти.
Ключ — скомпрометувати.
Право — відкликати.
Доступ — передати.
Квота важливіша за запас енергії
Ще один сильний обмежувач — не заборона, а ліміт.
Маг може мати повне право створювати тепло, але система дозволяє йому змінити енергетичний баланс лише на певну величину за добу.
Тоді він сам вирішує: десять невеликих бойових заклять чи одне дуже велике.
І це не обов’язково запас «мани» в його організмі.
Ліміт може існувати на стороні самої системи.
Випив зілля, поспав, з’їв чарівний гриб — а сервер однаково відповідає: квоту вичерпано.
Ще цікавіше, якщо квота спільна.
Наприклад, ціле королівство має певний бюджет PATCH на добу.
Три години магічної артилерійської дуелі на західному фронті — і в госпіталях на сході перестають працювати великі цілющі втручання.
Мешканці говорять про виснаження ефіру.
Насправді вони просто ділять спільний ресурс.
Така магія одразу стає економікою, логістикою і політикою.
Права на власне тіло
Дуже корисне обмеження — ownership.
Людина може мати системне право на власний об’єкт.
Тоді магу відносно просто змінити себе: прискорити загоєння, змінити температуру тіла, посилити м’язи, перетворити власну руку.
А от зробити те саме з чужою людиною набагато складніше.
Потрібна згода, делеговане право або адміністративний override.
Це природно пояснює, чому маги не вбивають будь-якого ворога командою «зупинити серце».
Функція існує.
Прав немає.
Звідси ж можна вивести магічну стійкість, захист розуму й силу клятв.
Клятва може буквально бути делегуванням частини прав іншій стороні.
Шлюб — взаємним договором доступу.
Посвята — видачею нового набору permissions.
Васальна присяга — контрактом, який автоматично вмикає санкції при порушенні.
Тоді «магія слова» перестає бути окремою стихією. Це юридичний інтерфейс системи.
Боги як адміністратори доменів
Найцікавіше — не робити богів повністю всемогутніми.
Нехай Бог моря має адміністративні права на океан, погоду над ним і морські організми.
Бог смерті — на PERSIST померлих.
Бог долі — на SELECT.
Бог знань — на QUERY.
Тоді божественні конфлікти стають не боротьбою істот із нескінченною силою, а конфліктом юрисдикцій.
Бог моря може знищити флот штормом, але не воскресити одного моряка.
Бог смерті може повернути загиблого, але не здатен зупинити хвилю.
Бог долі бачить катастрофу й може трохи змінювати її ймовірність, але не має прямого доступу до PATCH океану.
І навіть ці боги можуть підкорятися вищому рівню.
Тоді фраза «навіть боги не можуть порушити закон долі» отримує буквальний зміст.
Не хочуть — це одне.
Не мають permission — зовсім інше.
Чим тоді є молитва
У такій архітектурі молитва теж може бути нормальною функцією.
Не обов’язково прямим заклинанням.
Це може бути REQUEST — запит до адміністратора.
Жрець не має права зцілити людину. Він має право подати запит сутності, яка має доступ до потрібної функції.
І тепер стають можливими дуже різні релігійні системи.
Один бог автоматично виконує запити за чіткими умовами.
Інший розглядає кожен випадок.
Третій дозволяє жрецям витрачати виділену їм квоту самостійно.
Четвертий давно не відповідає, але старі токени храмів усе ще працюють.
Мешканці можуть століттями сперечатися про богослов’я, хоча на практиці досліджують поведінку складної системи доступу.
А коли ефекти відтворюються, рано чи пізно з’явиться наука.
Які формулювання молитви важливі?
Чи залежить відповідь від особи?
Чи є добовий ліміт?
Чи існують території, де запит не проходить?
Чи може один храм вичерпати квоту іншого?
Чи змінюється результат після смерті жерця?
Теологія стає експериментальною дисципліною.
Бог теж залишає сліди
Є ще одна важлива річ.
Адміністратор може порушити звичайну фізику, але кожне грубе втручання створює проблему узгодженості.
Якщо розбита ваза раптом стає цілою, треба вирішити, що сталося з уламками, водою на підлозі, записом камери й пам’яттю людей.
Змінити один об’єкт просто.
Зробити так, щоб подія ніколи не відбувалася, значно важче, бо доведеться переписувати весь причинний конус.
Тому для симуляції може існувати природна ієрархія втручань.
Найдешевше — отримати інформацію.
Трохи дорожче — вибрати один із природно можливих результатів.
Ще дорожче — безпосередньо змінити локальний стан.
Найскладніше — переписати вже сформовану історію.
Це дуже добре пояснює, чому розумний Бог-адміністратор частіше діятиме через збіги, людей, інформацію та початкові умови, а не через регулярні блискавки з ясного неба.
Чим досконаліше втручання, тим менше воно схоже на диво.
А які обмеження має сама симуляція?
Тут важливо не з’їхати в універсальну відмовку: «зовнішній світ незбагненний, тому можливо все».
Якщо ми хочемо hard fantasy, архітектура повинна мати межі.
Симуляція створена з певною метою.
Вона має базову модель.
Є набір параметрів, які можна змінювати.
Є допустимі операції.
Є політика доступу.
Є ресурси.
Є вимоги до узгодженості.
Можливо, адміністратор здатен локально порушити закон збереження енергії, бо додає її ззовні. Але це не означає, що він може на льоту змінити всю логіку симуляції, не зламавши її.
Можливо, можна відновити людину зі збереженої копії, але неможливо воскресити того, кого ніколи не було в системі резервного копіювання.
Можливо, можна вибрати неймовірний результат, але не той, для якого в базовій моделі взагалі немає жодної допустимої траєкторії.
Можливо, бог має планетарний доступ, але не має права змінювати фундаментальні константи Всесвіту.
І саме ці «не можна» роблять систему цікавою.
То де тут hard fantasy
Hard fantasy не означає, що ми намагаємося довести реальність магії або пояснити дракона квантовою механікою.
Сенс інший.
Ми дозволяємо світу одне велике фантастичне припущення:
над звичайною фізикою існує службовий рівень доступу до стану світу.
А далі ставимо ті самі питання, які ставили б до фантастичної технології.
Які функції існують?
Хто має доступ?
Які межі області дії?
Чи є квоти?
Чи потрібна згода цілі?
Що можна делегувати?
Що можна відкликати?
Що відбувається при конфлікті прав?
Які фізичні наслідки виклику?
Які сліди залишає втручання?
Що система принципово не дозволяє?
Після цього вогняна куля, телепорт, пророцтво, прокляття, воскресіння, душа й боги перестають бути сімома незалежними дивами.
Вони стають різними проявами однієї архітектури.
І тут для мене проходить цікава межа між просто магічним світом і hard fantasy.
Автор усе ще має право вигадати диво.
Але після цього навіть богам доведеться дотримуватися протоколу доступу.
HARD SF УКРАЇНСЬКОЮ
Обговорити й читати далі
У Telegram — «Перевірка на твердість», інженерні розбори, книги й нові статті. А роман «Право на вихід» можна почати читати безкоштовно.