Relative Hell
Что такое относительный ад?
Relative Hell – это набор из двух игр, действие которых происходит в пространстве-времени де Ситтера (dS) и анти-де Ситтера (AdS) с двумя пространственными измерениями. Их можно рассматривать как релятивистские аналоги сферической и гиперболической геометрии. В нашем реальном мире вы не можете сказать, как быстро вы движетесь (например, мы не воспринимаем вращение Земли и ее движение вокруг Солнца); однако физика в большинстве неевклидовых игр не обладает этим свойством: кривизна пространства сделала бы движение относительно пространства очевидным для любого широкого объекта (именно поэтому в HyperRogue все крупные враги узкие; см. также здесь или здесь для некоторых визуализаций этого эффекта).
Игра Anti-de Sitter представляет собой разнонаправленный шутер, немного похожий на Asteroids, но совершенно другой. Пространство не завернуто, но кажется, что все идет по кругу из-за свойств AdS. Стреляйте в астероиды, чтобы получать очки и восстанавливать свои ресурсы. В игре используется модель, аналогичная HyperRogue: чем больше у вас очков, тем сложнее становится игра.
Игра де Ситтера больше похожа на "пулевой ад". Избегайте летающих вокруг вас белых энергетических шаров. В пространстве де Ситтера свободно движущиеся объекты экспоненциально расходятся друг от друга. Вы должны быть осторожны, чтобы держаться поближе к главной звезде — если вы ее потеряете, то больше никогда не поймаете!
Что делают ресурсы?
Голубые сердца — это здоровье корпуса, оно расходуется при попадании по вам. Красные ракеты - это боеприпасы,он расходуется, когда вы стреляете. Зеленые восьмиугольники — это топливо, они расходуются при ускорении. Синие баллоны - это кислород, они расходуются пропорционально вашему собственному времени. В AdS также есть золотые звезды, которые нужно собирать за очки.
Как отображается экран?
Набор точек пространства-времени в момент времени = 0 — это сфера в dS и гиперболическая плоскость в AdS. Этот набор отображается на экране в азимутальной конформной проекции (то есть модель Пуанкаре в AdS, стереографическая в dS) по умолчанию (Relativity Hell использует движок RogueViz, поэтому все его проекции также доступны; Бельтрами-Кляйн делает тесселяцию AdS похожей на модель гиперболической плоскости Пуанкаре). Система отсчета меняется из-за течения времени, ускорения или перемещения камеры в режиме паузы.
Почему объекты так странно растянуты?
Это лоренцево сокращение длины.
Действительно ли это то, что мы хотели бы увидеть?
Нет, конечно, мы бы видели вещи такими, какие они есть, только когда их покидал свет. В то время как в реальном мире мы не могли видеть, что в настоящее время происходит в другом месте, потому что информация не может распространяться быстрее, чем c. это не проблема в Relative Hell, потому что симуляция детерминирована, за исключением движения игрока. В режиме паузы, когда вы переводите время вперед/назад, вы можете видеть темный круг — это представляет ваше «будущее», то есть область, которую достигает свет, который вы излучаете.в данный момент (теоретически вы можете повлиять на это будущее) или «прошлое», область, которую вы уже видели. Есть и другие визуальные эффекты, которые не представлены (см. Замедление скорости света).
Могут ли ракеты двигаться быстрее?
Они двигаются (по умолчанию) со скоростью около 0,995c. Так что могли, но ненамного. Причина, по которой ничто не может двигаться быстрее света, заключается в том, что существовала бы система отсчета, в которой оно перемещалось бы в прошлое. Вы можете поэкспериментировать с этим следующим образом: «p», чтобы приостановить время, «t», чтобы отобразить правильное время для каждого объекта, «wasd», чтобы изменить систему отсчета.
Что можно сказать о пространстве-времени Минковского для сравнения?
В настоящее время нет пространства-времени Минковского (или Галилея), но в AdS вы можете уменьшить масштаб игры, что уменьшит эффект кривизны. Конечно, вы также можете играть в Velocity Raptor.
Почему в игре AdS все крутится?
В то время как в стандартной гиперболической геометрии растягивается только пространство, в AdS растягиваются и пространство, и время. Предположим, мы играем в игру, не двигаясь (только время идет). Представьте себе объект, ведущий себя таким образом, что он отображается в фиксированной точке пространства. Его время будет идти медленнее (чем дальше от начала координат, тем медленнее). Все объекты в Relativity Hell, кроме игрока, перемещаются в пространстве-времени по геодезическим, подобным времени; наш воображаемый объект не будет, времяподобные геодезические «притягиваются» к центру.Из-за замедления времени вращение делает все синхронизированным и стабильным.
Можно ли отключить спиннинг в игре AdS?
Да, такой вариант есть, но тогда он менее интуитивно понятен.
Что происходит со странными сине-оранжевыми ячейками в AdS?
Это ворота. Они наносят вам урон, когда закрыты. Каждая точка ворот открывается/закрывается одновременно, согласно собственному времени ворот. (Поэтому с точки зрения игрока все ворота не открываются/закрываются в фиксированное время.)
Что происходит с текстурой Земли в dS?
Это визуализация того, как пространство расширяется в dS. Каждая точка Земли движется по времениподобной геодезической. Все объекты в Relativity Hell, кроме игрока, перемещаются в пространстве-времени по геодезическим, подобным времени*.
* Однако конкретных точек игровых объектов в dS нет, иначе их пришлось бы расширять.
Почему визуальные эффекты дают сбои после того, как я теряю из виду главную звезду в dS?
Числовые ошибки гораздо более серьезны в гиперболических/dS/AdS-пространствах из-за экспоненциального расширения. Текущая реализация игры dS позволяет избежать проблем с точностью, когда игрок держится близко к главной звезде, но не иначе. (RogueViz знает, как справляться с числовыми проблемами в гиперболическом пространстве, и это распространяется на AdS, поэтому там такой проблемы быть не должно.)
<стронg>Где я могу узнать, как эти пространства работают математически?
Может быть, мы снимем видео, напишем статью или что-то в этом роде... а пока вы можете почитать Википедию или пояснительные статьи, связанные с ней.
Как насчет мультиплеера?
Интересно, что релятивистская многопользовательская игра в реальном времени кажется невозможной: из-за замедления времени внутриигровое время будет идти по-разному для обоих игроков, что трудно смоделировать в реальном мире.
Может ли мир игры AdS быть обернут, как астероиды?
Если пространство закрыто, время тоже закрыто... такая игра не может работать с замкнутыми временными петлями :)
А как насчет 3D?
AdS и dS определены в любом измерении, хотя мы считаем, что два измерения лучше подходят для демонстрации подобных идей. Кроме того, трюк с вращением, используемый для поддержания стабильности AdS, работает только в четных пространствах, насколько я знаю.
Эта реклама похожа на "универсальную оболочку SL(2,R)" геометрии Терстона.
Действительно, они очень связаны — в этой геометрии Терстона измерение времени превращается в измерение пространства, теряя при этом немного симметрии. Реализация AdS основана на реализации искривленной геометрии H2xR в RogueViz.
На моем компьютере низкая частота кадров.
Да, еще не все оптимизировано. В игре AdS попробуйте уменьшить количество генерируемых тайлов на кадр."и/или «плитки для рисования за кадр» в параметрах игры. В игре dS попробуйте уменьшить качество текстуры Земли или отключить его, установив интенсивность на 0 (настройки частиц/текстуры).
Доступен ли исходный код?
Да. (См. верхний комментарий в ads-game.cpp, чтобы узнать, как построить.) Получайте удовольствие!
Как скачать Relative Hell через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Relative Hell
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!