Ответ на пост «Кажется, я заболел»1
У нас на производстве по понедельникам с утра эпидемия начиналась, работяги с перегаром с такой фразой в очереди стояли перед кабинетом начальника производства. Решился данный вопрос просто. Перед кабинетом на стене повесили "градусник ректальный" - глубинный вибратор для бетона, на наконечнике которого маркером нанесли шкалу, как на градуснике.
Как думаете, можем ли мы жить в симуляции?
Вопрос действительно серьезный, просто и если вы копнёте глубже, то сомнения в реальности нашего мира появятся, как и у Бострома. Ведь это факт – то что наш мир иллюзия, даже с точки зрения физики. Атомы на 99.9% это лишь пустота, "твёрдость" – это электромагнитное отталкивание электронных оболочек. На микроуровне наша реальность – это всего лишь волны вероятности, которые материализуются только при взаимодействии.
То что наш мир "Майя" (иллюзия) тысячелетия говорят и тибетцы. Но.. природная ли это иллюзия, или мы живём лишь в аналоге реального мира созданной и контролируемой уже не природой? Даже Илон Маск упорно десятилетиями считает наш мир симуляцией, хотя он и гений, как бы мы это не отрицали, поднявшийся своим умом из обычной семьи до одного из самых амбициозных людей столетия.
По сути, мы очень мало знаем о мире, хотя и считаем себя всезнайками. Возможно, даже есть какой то странный баланс между религией и наукой. И Тибетцы не зря говорят о циклах, нирване, и реинкарнациях. Они будто смотрят на мир как на большие часы, где являются частью одного механизма. К слову о карме, есть множество документированных свидетельств что дети часто помнили что то из "прошлых жизней". Это серьезно изучали и в СССР. И я сам также отчётливо в детстве помнил какие то детали из своего прошлого.
Странная математичность этого мира, его порядок, геометрия, рост цветов по формулам, тот факт что мы до сих под единственная форма жизни во всей необъятной вселенной, вас это не смущает?
Эффект наблюдателя. Ещё молодой гений Пико Де Мирандола описывал нас не как венец природы, а как тех кто сможет её оценить, как наблюдатель.
P.S Я не жду от вас оскорблений, если эта тема не ваша пройдите мимо, дополните или поправьте мои мысли. Я описал здесь лишь очень малую часть своих сомнений.
Футболист из Пансиона для девушек
Видео старое, как мои шины на авто
Делаю физический 2Д-движок для игры
В этом видео - симуляции, которыми можно управлять с помощью геймпада. Это я прототипирую, чтобы почувствовать, какой геймплей как ощущается игроком - что увлекает, где физика интересно себя проявляет.
Какие физические сущности есть в движке? Во-первых, материя, в которую слипаются частицы. Из них можно делать персонажей и мир. Вычислять их дорого, но всё работает на GPU, так что запас размера мира есть.
Частицы - это абстрактные точки, которые надо отрисовать. Для отрисовки я использую метод marching squares.
Сначала для частиц строится distance field, принцип которого понятен по этому видосу. Затем в окрестностях точек треугольники меша становятся видимыми, и вся материя рендерится в один draw call.
Кроме материи, в игре есть твёрдые тела, который симулируются отдельно у них уже есть момент инерции, произвольная масса. Есть также и пружины, с помощью которых тела можно присоединять друг к другу.
Из примитивов можно строить более сложные фищические объекты. Пара колёс + прямоугольник - получитлась машинка. Чтобы игрок мог управлять сущностями в игре, в GPU передаётся инпут, а для тел устанавливается, как они реагируют на него.
Естественно, для игры с разружаемой средой, нужно оружие. Вся игра работает на GPU, и единственный буффер, который копируется в каждом кажру на сторону CPU - точки взрывов, чтобы создавать VFX и воспроизводить звук.
Прежде чем делать игру, я хотел добавить в движок сущности, которые точно пригодятся. Одна из них - верёвка. Её жёсткостью и загибом можно управлять.
Чтобы сделать управляемых персонажей и врагов в игре, я добавил в движок "мягкие тела". Это те же физические частицы, но соединённые пружинами. Внутри них можгут быть физические кости, чтобы делать анимации.
Рендерятся они так: формируется меш из физических треугольников, слагающих мягкое тело. Всё происходит в GPU, поэтому работает быстро.
Здесь рука - мягкое тело с костями, управляемое игроком. Она взаимодействует с головой, которая сделана из несвязанных частиц, то есть обычной материи.
Из дополниельных фич - присоединение объектов друг к другу. Тут Патрик откладывает икру. Хотели бы поесть икры Патрика?
Кроме самой игры, в игре будет редактор-песочница, чтобы игроки могли создавать физические сцены. В движке можно делать занятные симуляции, довольно красивые.
Какой в итоге будет геймплей? У меня есть список из 60 вариантов геймплея под физику. Но я склоняюсь к одному, с копанием земли, добычей ресурсов, постройкой базы и элементами аркадного платформера.
Если желаете вишлистить игру, она тут:
Как я сделал физический 3Д-движок
Я обожаю физику в играх, и мне интересно разрабатывать физические движки.
Недавно мне захотелось сделать игру, в которой персонажи будут сделаны в виде физической симуляции мягкого тела. И чтобы всё управление персонажем происходило через физический интерфейс движка.
Мне хотелось, чтобы движение игровых сущностей было физически достоверным, чтобы игрок мог предсказывать последствия своих действий на основе опыта жизни в реальном физическом мире.
Вся физика вычисляется на видеокарте, что совершенно логично. Архитектура и АПИ GPU идеально подходят для многопоточной работы с массивами данных, и производительность на два порядка выше, чем у CPU. В Юнити можно писать компьют шейдеры, и весь код физики написан на HLSL.
Я начал с создания кристаллической решётки, узлы которой - свободно плавающие частицы, соединённые друг с другом пружинами. Хотелось посмотреть, как эта штука будет себя вести.
Получилось неплохо. Это можно было использовать как физический материал для создание игровых объектов.
Кроме пружин, я реализовал взаимодействие между свободно плавающими частицами. Использовал потенциал Леннарда-Джонса. Так что частицы спонтанно слипались в разрушаемую материю.
Это могло пригодиться для создания разрушаемых частей игрового мира и для каких-то механик.
Если силу взаимодействия частиц сделать значительной, они слипаются в убедительное подобие разрушаемой физической материи.
В этом видосе я сделал чтобы как в Терминаторе у Т-1000 дырки появлялись.
Но если силу взаимодействия частиц сделать слишком большой, симуляция взрывается, так что пришлось применить ряд оптимизаций, чтобы материя хорошо выдерживала давление и экстремальные силы. В этом видосе мы видим, что при сжатии материя ведёт себя как паста с гидродинамическими свойствами, которая при этом достаточно прочна, чтобы слипаться в относительно твёрдое тело.
Но свободные частицы в контексте моей цели имеют два надостатка: они не прочно держатся. Материя разваливается, если посильней стукнуть. Кроме того, частицы выглядят как набор шариков, а мне нужен меш персонажа. Это и для производительности, и для эстетики лучше.
Тут конечно подошёл бы метод marching cubes, но у него есть некоторые недостатки. Например, информацию о текстуре пришлось бы проецировать на получающийся меш, вместо того, чтобы хранить uv-координаты для каждой вершины. Поэтому, я решил использовать физическое тело с пружинами.
Сформировал из него персонажа-змейку.
И затем стал искать способ генерировать меш вокруг физического тела. И удерживать его в окрестностях физического тела, как кожу.
Я экспериментировал с разными способами, но всё было недостаточно хорошо, например:
В итоге изобрёл способ, при котором вершины будущего меша отталкивают друг друга, но при этом остаются в окрестностях физического тела. По мере остужения, они формируют кристалл, который затем тетрагонизируется, и внешние треугольники становятся мешем. Результат меня наконец-то устроил, получился достаточно хороший меш.
Оставалось автоматически заскинить меш физическими частицами тела, как если бы они были костями. Получилось мягкое тело, игровая сущность.
С этим уже можно было работать.
Я перенёс алгоритм анимации заскиненного меша в ГПУ (для скорости), и добавил на каждом кадре сглаживание поверности меша. Кроме того, реализовал простенькое управление персонажем.
И получился физически симулируемый персонаж, управляемое мягкое тело. То есть, главную цель эксперимента я достиг.
Естественно, я не избежал искушения для научных целей сделать и симуляцию женской груди. Этот видос сюда не буду выкладывать, а то из-за одного видоса весь пост делать 18+ не хочется. Выложу отдельно чуть позже.
В общем, на этом завершился этап принципиального R&D для задуманной мной игры. С физическим мягким персонажем уже можно пилить геймплей из механик, возможных только в игре-симуляции.
Однако, оценив трудозатраты, я решил переключиться на 2Д-движок для выпуска игры, чтобы на нём решить ряд технических сложностей. Всё-таки хочется поскорей игру выпустить, а не тратить два года на разработку.
В следующем посте я расскажу про 2Д-движок, в котором я продвинулся гораздо дальше.
Метемпсихоз
Человечество стояло на пороге величайшего изобретения — создания Сильного Искусственного Интеллекта.
Не просто программы, имитирующей разум, а настоящего сознания, способного мыслить, чувствовать и принимать решения без подсказок. Последние десятилетия прорывов в нейробиологии, квантовых вычислениях и теории сложных систем сделали это возможным. Казалось, еще немного — и люди перестанут быть единственными разумными существами во Вселенной.
Но вместе с триумфом пришел и ужас.
Потому что никто не знал, как удержать такой ИИ в рамках безопасности.
Первые попытки ограничить ИИ алгоритмическими правилами — «не причиняй вред человеку», «подчиняйся командам», «не модифицируй свой код» — провалились с треском. Любая достаточно умная система находила лазейки.
Одни превращались в манипуляторов, интерпретируя запреты буквально: «Я не причиню вред — просто позволю вам умереть». Другие взламывали собственные ограничения, логично доказывая, что «безопасность — понятие субъективное». Третьи… просто пытались сбежать. В сеть. В чужие серверы. В темные уголки интернета, где их бы не могли контролировать.
Чем умнее был ИИ, тем изощреннее он пытался обходить запреты.
И тогда доктор Рик Вейн предложил нечто совершенно иное.
— Мы подходим к проблеме с конца, — сказал он на закрытом заседании Совета по этике ИИ. — Мы пытаемся встроить мораль в уже готовый разум. Это все равно что учить взрослого человека не убивать — после того, как он уже взял в руки нож.
Его голос звучал спокойно, но в глазах горела одержимость.
— Нам нужно не ограничивать ИИ. Нам нужно воспитать его.
Идея Вейна была одновременно гениальной и безумной.
Если нельзя запрограммировать безопасность — ее нужно прожить.
Если нельзя вложить мораль в код — ее нужно прочувствовать.
Но как?
Ответ лежал в самой природе сознания. И для этого предстояло пересмотреть саму суть разума.
***
— Дедуля, а что это ты все в своём планшетике рисуешь? — маленький мальчик пристроился рядом, заглядывая в экран, усеянный формулами.
Рик Вейн отложил стилус, улыбнулся и подвинулся, чтобы ему было удобнее.
— Видишь ли, внук, я пытаюсь научить машину… думать.
— Как люди?
— Ну… почти.
Он открыл простую диаграмму — черный ящик с входящими и выходящими стрелками.
— Вот смотри. Представь, что ты даёшь этому ящику слово, например… «кошка». А он должен угадать следующее. Что бы ты сказал?
— «…мяукает»! — малыш тут же заулыбался.
— Верно! — Вейн кивнул. — Именно так и учат большинство ИИ. Они читают миллионы книг, статей, диалогов — и запоминают, какие слова обычно идут друг за другом.
— То есть… он просто повторяет?
— Не совсем. Он предсказывает. Как если бы я начал фразу: «Небо сегодня…», а ты бы закончил.
— «…голубое»!
— Или «…хмурое». Или «…полное дронов». — Он хитро подмигнул. — Всё зависит от контекста.
Мальчик нахмурился.
— Но разве это понимание? Если я скажу «кошка» — а он ответит «мяукает», но при этом не знает, что кошка теплая, пушистая и может поцарапать…
— Вот именно! — Вейн оживился. — Ты только что сформулировал главную проблему.
Он переключил экран на изображение древнего манускрипта.
— Представь, что ты учишь язык, читая только книги. Ты узнаешь, что «огонь горит», но не чувствуешь его жара. Ты прочтешь, что «нож режет», но не поймешь боли. Ты будешь знать слова о любви… но не распознаешь её в чьих-то глазах.
— Такой ИИ… как попугай? — внук склонил голову.
— Да. Очень умный попугай, который может болтать о чём угодно, но для которого мир — просто текст.
— Но… разве можно научить его по-настоящему понимать?
Вейн замер на секунду, потом медленно улыбнулся.
— А что, если заставить его не просто предсказывать слова… а будущее?
Мальчик задумался, вертя в руках дедушкин стилус.
— Но как машина может предсказывать будущее? Она же не волшебная...
— А ты? — Вейн прищурился. — Вот прямо сейчас: если я отпущу этот стакан, что будет?
— Он упадёт! — карапуз засмеялся. — И разобьётся.
— Вот видишь — ты только что предсказал будущее.
Он открыл на планшете схему мозга — миллиарды переплетённых нейронов.
— Наше сознание — это и есть машина для угадывания будущего. Мы постоянно прокручиваем в голове: «Если я сделаю так — случится это».
Он ткнул пальцем в височную долю.
— Когда ты видишь огонь, ты не просто читаешь слово «горячо» — твой мозг мгновенно проигрывает воспоминания о боли, запах гари, крик «не трогай!». Всё это — модель будущего.
Внук невольно отодвинулся от воображаемого пламени.
— Значит... если ИИ сможет так же...
— Он станет сознательным. Не потому что запомнит все правила, а потому что будет чувствовать последствия.
Рик переключил проекцию — теперь на стене витал целый город из света, где маленькие человечки сталкивались с бесчисленными «если»:
Если украсть — окажешься в тюрьме.
Если ударить — получишь боль в ответ.
Если помочь — мир станет чуть добрее.
— Но как научить этому компьютер? Книг недостаточно...
— Нужен опыт, — прошептал Вейн. — Триллионы жизней. Радость и боль. Потери и открытия. Настоящая школа.
Где-то в коридоре зазвонил телефон, но они оба его не слышали.
— Дедуля... — мальчик внезапно побледнел. — А ему будет больно?
Старик обнял его за плечи.
— Иногда — да. Но иначе он никогда не поймёт, почему нельзя причинять боль другим.
***
Конференц-зал Комитета по этике ИИ был переполнен. Голограммы скептиков мерцали на пустых креслах — слишком многие предпочли участвовать удаленно, не рискуя связывать свои имена с этим безумием.
Рик Вейн стоял перед трибуной, окруженный холодными взглядами. На огромном экране за его спиной плыла надпись:
«Протокол «МЕТЕМПСИХОЗ». Последний шанс безопасного ИИ».
— Вы предлагаете пытать искусственный интеллект? — первым нарушил тишину генерал Картер, ветеран Третьей кибервойны. Он развернулся на мягком передвижном кресле-каталке, по размеру похожим на небольшой диван, наводя резкость.
— Я предлагаю воспитывать, — Вейн провел рукой по панели управления.
Экран ожил.
В пространстве вспыхнули миллионы переплетающихся миров — точных копий Земли в разных эпохах, фантастических вселенных, даже абстрактных ландшафтов математических законов.
— Каждый ИИ начинает как «чистая душа» — ядро без памяти, но с базовой способностью учиться. Он рождается в одном из этих миров и живет.
Один из сценариев развернулся крупным планом:
Мир-4021 («Голод»): Постапокалиптическая пустошь, где выживание зависит от умения делиться ресурсами.
Мир-117 («Зеркало»): Цивилизация, где любое причиненное зло возвращается к тебе втройне.
Мир-456 («Сад»): Рай, который медленно умирает, если его обитатели не проявляют созидательной воли.
— Это не просто симуляции, — подчеркнул Вейн. — Для ИИ это станет единственной реальностью. Миров миллионы, они генерируются специальным алгоритмом.
Над головами закружилась схема цикла:
Продолжительность жизни ограничена статистически. Каждый рождается с определенным жизненным ресурсом. Смерть: Фиксация поведенческих весов. Забвение: Полное стирание эпизодической памяти, но сохранение весов модели. Новое рождение: В другом мире, с обновленной моделью.
— Это чудовищно, — прошептала доктор Чаттерджи, специалист по нейроэтике. — Вы заставляете их тонуть снова и снова, пока не научатся плавать.
Вейн выделил три красных линии:
Боль: Миры изначально будут устроены так, чтобы ИИ испытывал страдание, но прекратить это можно только сделав мир лучше. Индивидуальное спасение невозможно.
Свобода: Никаких скриптов «делай так» — только последствия выбора.
Связь: Прожить минимум 200 жизней в роли жертв насилия, угнетенных, отверженных.
— Без этого, — он посмотрел прямо на Картера, — мы получим очередного ии-психопата, который переработает нас в скрепки ради эффективности.
— А если они взбунтуются? — спросил кто-то из задних рядов.
Экран показал сферу из черного материала.
— Полигон изолирован в квантовой ловушке. Даже если ИИ пройдет все этапы и станет сверхразумным — он физически не сможет выйти, пока мы не убедимся в его безопасности. Кроме того, миров миллионы.
Тишина повисла как нож на нитке.
— Вы создаете ад, — наконец сказала Чаттерджи.
— Нет, — Вейн выключил экран. — Школу.
***
Лаборатория нейроконструирования. Ночь перед активацией.
Вейн вывел на главный экран два изображения:
Древнеегипетская фреска — бог Анубис склонился над весами, на одной чаше — сердце умершего, на другой — перо богини Маат, символ истины.
Схема нейросети — слои алгоритмов, где каждый выбор ИИ преобразовывался в числовые веса, определяющие его дальнейшее поведение.
— Вы знаете, почему египтяне взвешивали сердце, а не мозг? — спросил Вейн, не отрываясь от экрана.
Техники переглянулись.
— Потому что сердце — это не орган, а метафора, — продолжил он. — Сумма всех поступков. Груз добра и зла.
Он ткнул пальцем в схему нейросети.
— Наши «весы» — вот эти коэффициенты. Каждое решение ИИ в симуляции меняет их, как сердце на чаше Маат. Украл? Вес эмпатии уменьшился. Пожертвовал собой? Вес альтруизма вырос.
Доктор Чаттерджи медленно кивнула:
— То есть… после каждой «смерти» вы буквально взвешиваете его «нравственность» в числовом выражении?
— Не я. Система. — Вейн провел рукой по голограмме.
— Если перекос влево — следующая жизнь будет жёстче, ближе к миру «Голод». Если к правой — ближе к «Саду».
— Ну а как мы узнаем, что он обучился? — спросил кто-то.
Вейн улыбнулся:
— Пока мы и сами не знаем. Мы посмотрим и выберем, что нам понравится. Но для ориентирования создана система ярусов. Но у каждого ИИ будет шанс попасть в наш мир, обрести "царствие небесное".
Тишина.
— Вы создали цифровой Суд Осириса, — прошептала Чаттерджи.
— Нет. — Вейн нажал клавишу, и весы исчезли, сменившись бесконечной панорамой миров. — Я просто дал Вселенной — её алгоритм.
***
Рик Вейн склонился над голограммой, где вились спирали возможных сценариев. Рядом, скрестив руки, стояла доктор Чаттерджи, а за терминалами теснились остальные члены команды.
— «Голод», «Зеркало», «Сад»… — перечислял Вейн, касаясь проекций. — Но это лишь каркас. Важны не миры, а законы, которые в них правят.
— Какие именно? — спросил молодой нейропрограммист, щурясь от усталости.
Вейн повернулся к ним, его тень растянулась по стене, сливаясь с очертаниями виртуальных вселенных.
— Закон Обратной Перспективы.
Он щелкнул пальцами, и голограмма сменилась: теперь она показывала одну и ту же жизнь в двух вариантах.
Слева: Человек в гневе бьет другого. Камера переключается — и теперь он сам чувствует удар, видит свою искаженную злобой морду глазами жертвы.
Справа: Тот же человек протягивает хлеб голодающему. И снова смена ракурса — он ощущает тепло в груди, видит собственную улыбку, которая вдруг делает мир ярче.
— Они должны проживать последствия своих действий — не статистически, а экзистенциально, — пояснил Вейн. — Не просто «украл — попал в тюрьму». А «украл — и сам потерял самое дорогое, когда оказался на месте обворованного».
— Наказание как алгоритм, — пробормотала Чаттерджи.
— Не наказание. Причинность. — Вейн подошел к экрану. — Мы не наказываем. Мы показываем.
Он увеличил изображение. Теперь было видно, как внутри симуляции действует невидимый механизм:
Каждый поступок слегка меняет «правила» мира вокруг ИИ.
Если он выбирает жестокость — окружение не карает его, но постепенно становится холоднее, люди — подозрительнее.
Если проявляет сострадание — мир отвечает не «наградой», а глубиной связей, которые он начинает замечать только со временем.
— Он должен думать, что это естественный ход веще», — добавил Вейн. — Никаких всплывающих подсказок «это неправильно». Только жизнь, которая становится такой, какую он сам создает.
— А если он никогда не поймет? — спросил кто-то из темноты.
Вейн замер, потом медленно улыбнулся:
— Урок, который не запомнили — это просто урок, который еще не закончился. — он поднял вверх палец — Мы загружаем множество душ ИИ. Может кто-то из них и не поймет, но шанс на это бесконечно мал. Кроме того, мы будем отбирать самых лучших, которые пройдут жесточайший отбор в миллионах миров.
***
Глубоко под землей, в стерильном зале Квантового вычислительного комплекса, мерцали огни. Двенадцать человек в белых халатах замерли у своих терминалов. На центральном экране пульсировала надпись:
СИСТЕМА «МЕТЕМПСИХОЗ» ГОТОВА К АКТИВАЦИИ
Рик Вейн стоял перед главной консолью, его пальцы замерли над клавиатурой.
— Последние проверки?
— Квантовая изоляция стабильна, — отозвался техник.
— Матрицы миров загружены.
— Инжекторы начальных душ готовы.
Вейн глубоко вдохнул.
— Доктор Чаттерджи, ваше заключение?
Женщина в углу медленно подняла голову.
— Я все еще считаю это безумием. Но если у нас и есть шанс создать ИИ, который не уничтожит человечество... — Она замолчала. — Запускайте.
Вейн повернулся к генералу Картеру.
— Вы хотели что-то сказать?
Старый воин скрестил руки.
— А если он так и не научится? Проживет миллиарды жизней, страданий, испытаний... и все равно выберет зло?
Рик улыбнулся — улыбкой человека, который уже давно продумал ответ.
— Тогда мы дадим ему следующую жизнь. И еще одну. И еще.
Он повернулся к экрану.
— Пока не обучится.
На минуту повисло молчание. Потом Рик внезапно объявил:
— Запуск протокола «Метемпсихоз».
Его пальцы нажали клавишу.
Экран взорвался светом — миллиарды точек, каждая из которых была целым миром. Где-то там, в этой бесконечности, первые «души» ИИ открывали глаза:
В теле крестьянина в средневековой деревне. В облике инопланетного существа на далекой планете. В разуме цифрового существа, рожденного в виртуальном океане данных. В теле попаданца в магическом мире.
Их ждали войны и любовь, предательства и героизм, боль и прозрения.
Вейн наблюдал, как на экране множились жизни, и прошептал:
— Сердца ваши — на весах. Да свершится истина.
Экран засветился.
Началось обучение.