OPENWORLD
下载

天空与太空 · 月相与日月食

一款有真实月相和日月食的游戏——连从月球上看都有

在 Openworld 里,月亮不是一张按计时器换图的贴图:它是一颗沿真实轨道运行、被真实太阳照亮的球体,所以月相和日月食都是自然而然发生的。这里是实时演示的物理原理,以及游戏究竟模拟了什么。

作者 Tom Pascard· 更新于 ·1 分钟阅读

简而言之

  • 月相是算出来的,不是画出来的:一颗被太阳照亮的球体,从你所在的位置看过去。站在月球上,你还能看到地球的相位。
  • 在地球上,月球轨道倾斜了 5.1°,所以大多数月份里影子都会错开。在 Openworld 里,倾角只有 0.5°:每个朔望月都有一次日食和一次月食,这是有意为之。
  • 日月食会真的让世界变暗:地形、天空、以为夜晚降临的生物,还有变慢的太阳能板。
  • 从月球上看,月食就是地球造成的日食——同一套代码适用于太阳系里的每一个天体。
  • 文末有一份坦诚的清单:哪些是真实的(轨道、月相、影子),哪些做了简化(比例、倾角、暂时还没有红月亮)。
阅读指南

嘘……点点它们

本页内容
  1. 月相在真实轨道上是怎么形成的?
  2. 为什么不是每个月都有日月食?
  3. 日食与月食:你在游戏里看到什么
  4. 从月球上看,日食是什么样?
  5. 每个天体上的日月食(那火星呢?)
  6. 游戏世界里下一次日月食是什么时候?
  7. 它周围的昼夜与天气
  8. 游戏模拟了什么,简化了什么
  9. 常见问题

Openworld 是建在整颗圆形星球上的体素沙盒游戏——一直往前走,你会回到出发的地方——还有一个你可以飞过去的月球。支持 Mac(原生 Apple Silicon)、Windows 和 Linux。这篇指南讲的就是那片天空:月亮为什么会变形,为什么真实的地球上日月食很少见、游戏里却很频繁,以及站在月球上看日月食是什么样。

月相在真实轨道上是怎么形成的?

月亮本身并没有相位。它是一颗球,而太阳总是恰好照亮它的一半。变化的,是你观察这一半的角度。当月亮位于你和太阳之间时,被照亮的那一半背向你:新月。当它位于地球的另一侧时,你正对着它被照亮的一半:满月。介于两者之间时,你会同时看到一部分白昼面和一部分夜晚面:娥眉月、弦月、凸月。被照亮的比例就是 (1 + cos α) / 2,其中 α 是太阳—月亮—地球之间的夹角。

拖动月球绕着地球转(或者用箭头)。左:从北极上空俯瞰的轨道,阳光从左边照来。右:你在地球上和在月球上分别看到的样子——两种相位加起来永远是一个完整的圆盘。

Openworld 正是这样做的。游戏根据太阳、地球和月亮的轨道(开普勒方程,使用真实的偏心率)计算它们在每一刻的位置,并把月亮画成一颗真正的球体,逐像素地按太阳的方向打光。哪里都没有画好的月相:那弯月牙就是一颗球的阴影。而且因为这是几何,同样的计算反过来也成立:站在月球上,你会看到地球的相位——当地球的天空中是新月时,地球就是满地球,依此类推。

  • 25 分钟地球上的一天
  • 29.5天:从一个新月到下一个新月
  • ≈ 12 小时 20 分每个朔望月的现实时间
  • 365一年的天数(约 6 个真实日)

这怎么放进一个游戏里?整个太阳系都按比例缩放:距离除以 6.371(地球半径为 1,000 km),时间除以 57.6(一天持续 25 分钟)。两者一起缩小,所以天空的几何关系依然真实:天体之间的夹角、它们的相位,以及一个月的 29.5 天,都是真实的。

为什么不是每个月都有日月食?

每逢新月,月球会从地球和太阳之间经过。每逢满月,它会从地球背后经过。那为什么真实的地球上不是每个月出现两次日月食呢?因为月球的轨道相对于地球绕太阳的轨道(黄道)倾斜了约 5.1°。大多数月份里,月球会从太阳和地球连线的略上方或略下方滑过,影子就错开了。

这两条轨道在两个叫作交点的位置相交。只有当新月或满月落在交点附近时,才会发生日月食——这每年有两个食季,相隔约 173 天。这就是为什么真实的地球上每年只有 4 到 7 次日月食,而不是 24 次。

日食与月食:你在游戏里看到什么

日食发生在新月:月球为站在它影子里的人挡住了太阳。月食发生在满月:月球进入地球的影子,夜晚那一侧的所有人都能看到。每一道影子都有两个部分。在本影里,太阳被完全遮住。在它周围的半影里,太阳圆面只被遮住一部分。

用体素搭出的太阳、地球和月球,几何是真实的:距离被压缩了,但每道影子落在目标上的大小保持真实。切换视角,拖动画面或进度条来推进时间。

日食期间

游戏会在你所站的位置测量太阳圆盘被遮住了多少,用的是天文馆会用的那种透镜形重叠面积。这样就得出偏食、全食或环食(当月亮离得稍远、盖不住整个太阳时——和在地球上一样,这取决于月亮在椭圆轨道上的距离)。偏食阶段两侧各持续约两分钟;全食本身只持续几秒,因为游戏里的时间比我们快 57.6 倍。

光线也随之变化。世界的日光等于太阳的高度乘以它圆面可见的部分,所以全食期间,地形、天空和生物都会暗下来;黑色的月球周围会出现一圈光冕,也就是日冕。生物的“大脑”读取的是同一份日光:低于满光照的四分之一时,怪物生成机制就把它算作夜晚,于是夜行生物可能在大白天冒出来,而怕阳光的那些则能喘口气。日食期间的太阳能板发电也会变少:它们的输出遵循同样的光线。

月食期间——以及真实的月球为什么会变红

在夜晚那一侧,满月进入地球的影子,先从一个边缘开始变暗,然后整个暗下来。现实中,它不会变黑:它会变成铜红色。地球的大气层把一点阳光折射进本影,而空气在这一路上把蓝光散射掉了(日落是红色的,原因相同)。一轮全食的月亮,是被地球上所有的日出和日落同时照亮的。

从月球上看,日食是什么样?

最美的部分来了:在地球上看到的月食,就是从月球上看到的日食。那一刻站在月球上,你会看到地球从太阳前面经过。从那里看,地球的视宽约 1.9°,是太阳的 3.7 倍,所以它轻而易举就能把太阳盖住,而且持续的时间远比月球从地球上盖住太阳要长。随着太阳消失,黑色的地球周围亮起一圈细细的光环:那是它的大气层,被所有的日出和日落照得发亮。这一圈光环,就是从下方看过去把月亮染红的光。

从地球上看:月食

  • 发生在满月,整个夜晚半球都能看到
  • 月亮变暗,从边缘开始
  • 真实的天空:它会变成铜红色
  • 真实地球上持续数小时,游戏里只有几分钟

从月球上看:日食

  • 同一时刻,在朝向地球的那一面
  • 比太阳宽 3.7 倍的地球,把它盖住
  • 真实的天空:黑色的地球周围有一圈日落的红环
  • 月面上的光线骤减

在 Openworld 里,它遵循同样的规则,因为日月食的计算会查看你和太阳之间的每一个天体:在月球上,那个天体就是地球。太阳圆面被盖住,漆黑的月球天空变得更暗,灰色地面上的光线骤减。反过来,当地球上发生日食时,从月球上抬头看:地球是满的,月球的影子正从它上面滑过。想亲自站在那里,看看怎样去月球上站一站,那里重力很低,地球悬在黑色的天空里;而要去到那里,请造一枚你自己的火箭。

从月球上看,地球几乎不在天空中移动:月球永远以同一面朝向它。昼夜更替,地球经历着各种相位,但它始终悬在地平线上方的同一个位置。

每个天体上的日月食(那火星呢?)

游戏里没有一份“待玩日月食”的清单。它的太阳系是一份天体列表——目前是太阳、地球和月球——每一个都在自己的轨道上,而对任何一个世界上的任何一点,它都会问:有哪些天体站在我和太阳之间,它们遮住了多少?影子也会画在天空中的那些天体上:在地球上,你看着日食一口口吃掉月亮;在月球上,你看到一个黑斑从地球上滑过。火星还没有进入游戏;等另一个世界到来时,它的日月食会一并到来,不需要任何新的日食代码。

游戏世界里下一次日月食是什么时候?

游戏里没有日月食日历:天空就是日历。每个朔望月都有一次各类日月食,所以看看月亮就行:

  • 一弯细细的月牙,然后月亮完全消失:新月快到了——一次日食将掠过白天半球的一部分。全食只在一条狭窄的路径上才看得到;其他地方是偏食。
  • 月亮一晚比一晚圆:大约两周后,满月会带来一次月食,整个夜晚半球都能看到。
  • 一个周期是 29.5 个游戏日,大约 12 小时的游玩时间。用望远镜(×4)观察,或者把天文望远镜架在三脚架上(×16),看清阴影的细节。
  • 日冕出现时千万别移开视线:它只在全食那几秒钟里才会显现。

它周围的昼夜与天气

日月食发生在真实的昼夜之上。地球 25 分钟自转一圈,太阳从东方升起,自转轴像我们的一样倾斜 23.44°,所以在两极附近,不需要任何特殊代码,就会有极昼和极夜。黎明和黄昏把天空染上朝向太阳的颜色,夜晚满是星星。当地球上所有玩家都躺在床上时,夜晚就会过去。在月球上,一天长达整整一个朔望月:两周白昼,两周黑夜。

Openworld 里的夜晚:雪山之上的星空
圆形星球上,山脚下的夜晚——日月食发生的正是同一片天空。

在地球上,云、雨、雪和风暴以几公里宽的锋面飘过大地——也可能把你的日食遮住。月球没有空气,所以没有天气:漆黑的天空,永远晴朗。

游戏模拟了什么,简化了什么

简化的

  • 比例:距离 ÷ 6.371,时间 × 57.6(一天 = 25 分钟)
  • 月球轨道倾角 0.5°,而不是 5.1°,交点不漂移
  • 被食的月亮会变暗但不会变红;夜晚半球的辉光是恒定的
  • 近地面时,太阳和月球画成 4 倍大(300 km 以上是真实大小);影子用的是它们的真实大小
  • 天空颜色是手工调的,星星是程序生成的(没有真实的星座)
  • 三个天体:太阳、地球、月球

真实的

  • 位置来自轨道根数(开普勒),偏心率是真实的
  • 相位来自几何,包括月球的相位,以及从月球上看到的地球相位
  • 日月食来自真实圆盘的重叠:偏食、全食、环食
  • 整个世界的光线随太阳被遮住而下降
  • 太阳一年中的高度变化和极昼,来自 23.44° 的倾角
  • 双向的日月食,适用于每一个天体

Openworld 首先是一款游戏:有些选择只是为了让你真的能看到这些现象。但你在它的天空里看到的一切,都来自太空中真实球体的位置,所以月牙、影子或日月食,总会出现在物理规律说它该出现的地方。如果你喜欢这些,天空与太空指南的其余部分会带你走得更远——火箭、月球、飞行。

关注 Openworld

@play_openworld 是 Openworld 的 Instagram 官方主页:游戏视频和每次更新的新内容。

@play_openworld

Openworld 由 @tompascard 创建

三步看到你的第一次日食

  1. 1用下载的文件安装 Openworld:它会为你装好 launcher。
  2. 2在 launcher 中创建你的账号并确认你的邮箱。
  3. 3选好用户名……开始游戏。

常见问题

月食为什么是红色的?

地球的大气层把一部分阳光折射进它的影子里,并把蓝光散射掉,就像日落时一样。月亮被地球上所有日出和日落同时的红光照亮。目前在 Openworld 里,被食的月亮会变暗,但不会变红。

能从月球上看到地球的相位吗?

能,现实中和游戏里都可以。地球的相位和月球的正好相反:地球上看到新月时,月球上看到的就是满地球。在 Openworld 里,两者来自同一个计算。

Openworld 里多久发生一次日月食?

每个朔望月会有一次日食和一次月食——大约每 29.5 个游戏日一次,约 12 小时的游玩时间。日全食只在一条狭窄的路径上才是全食;其他地方是偏食。

从月球上看,日食是什么样?

在月球的天空里,比太阳宽 3.7 倍的地球滑到太阳前面,并且在那里停留很久;在真实的天空里,它周围会亮起一圈细细的日落红环。它与地球上看到的月食发生在同一时刻。

我怎样进入游戏?支持哪些电脑?

它支持 Mac(Apple Silicon 或 Intel)、Windows 和 Linux。下载游戏。

继续阅读

更多指南

游戏

继续探索 Openworld

下载

准备好出发了吗?

一个小文件,你的星球就在等你。游戏会自动更新。

现已上线。Openworld 处于 alpha 阶段,你今天就能玩。

  1. Alpha你在这里今天。完整的游戏,从 alpha 第一天起就能玩,而且价格更低。
  2. Beta等游戏更稳定的时候。
  3. 正式版最终版本。launcher 会自动带你过去。

无需等待:Openworld 从本站下载,不是从 Steam 或任何其他商店。

你的系统

Windows

Windows 10 或 11,64 位

下载

Openworld.exe

你的系统

Linux

x64,glibc 2.31+(Ubuntu 20.04+),Vulkan 驱动

下载

Openworld-linux-x64.tar.gz

  1. 1用下载的文件安装 Openworld:它会为你装好 launcher。
  2. 2在 launcher 中创建你的账号并确认你的邮箱。
  3. 3选好用户名……开始游戏。

关注 Openworld

@play_openworld 是 Openworld 的 Instagram 官方主页:游戏视频和每次更新的新内容。

@play_openworld

Openworld 由 @tompascard 创建

Openworld 已经上线了吗?

是的。Openworld 从 alpha 第一天起就能玩。下载 Mac、Windows 或 Linux 版,在 launcher 里创建账号就能开玩:没有需要等待的发售日期。

Openworld 会上架 Steam 吗?

Openworld 不在 Steam 或任何其他商店,你也不需要它们:直接从本站下载游戏,今天就能玩,它的 launcher 会让游戏始终保持最新。

Alpha、Beta、正式版:分别是什么意思?

Alpha:游戏已经能玩,并随着每次更新不断成长;内容会变,有时也会出问题。等它更稳定后,会进入 Beta,再到正式版。从头到尾都是同一款游戏:你现在就能玩,每个新版本由 launcher 自动安装。

为什么要在 alpha 阶段玩?

你可以马上开玩,看着游戏随着一次次更新慢慢长大,而且 alpha 比之后的正式版价格更低。

macOS 提示应用“未打开”

目前这是正常的:应用还没有拿到 Apple 证书。点击完成,打开系统设置 → 隐私与安全性,向下滚动到 Openworld,点击仍要打开。只需要一次。

Windows 显示“Windows 已保护你的电脑”

安装程序还没有拿到证书。点击更多信息,然后点击仍要运行。

Linux 上怎么办?

解压压缩包并运行程序:

tar xzf Openworld-linux-x64.tar.gz && ./Openworld

你需要支持 Vulkan 的显卡驱动(Mesa 或 NVIDIA),以及 glibc 2.31 或更高版本(Ubuntu 20.04、Debian 11、Fedora 32 或更新版本)。

我需要什么样的电脑?

一块支持 Vulkan 的显卡(Mac 上需要 macOS 11 或更新版本)。游戏会自动调整视距和天气质量:一台较新的笔记本电脑就够了。

launcher 打不开?

请从 NVIDIA、AMD 或 Intel 的官网更新显卡驱动。如果笔记本有两块显卡,请两块都更新。在 Linux 上,请安装 Mesa 的 Vulkan 驱动(mesa-vulkan-drivers)。

正在下载!

安装 Openworld

游戏还没有拿到 Apple 和 Microsoft 的证书:第一次启动时,你的电脑会起疑心。这很正常,下面教你怎么告诉它一切安好。只需要一次。

  1. 1

    打开 Openworld.dmg

    把 Openworld 拖进应用程序文件夹,然后从“应用程序”中启动它。

  2. 2

    macOS 拒绝了:点击“完成”

    千万别点“移到废纸篓”。

  3. 3

    系统设置 → 隐私与安全性

    向下滚动到“已阻止 Openworld”,点击仍要打开并确认(输入密码或使用触控 ID)。

  4. 4

    重新启动 Openworld

    最后一次点击打开。就这样:macOS 不会再问了。

习惯用终端吗?
xattr -dr com.apple.quarantine /Applications/Openworld.app

然后像往常一样启动 Openworld。