星空的秘密——大航海时代Online里的天文学初探

先讲点题外话。

航海呢,很不好意思,其实一开始是被逼着玩的一个游戏。因为当时的老总喜欢,于是整个科室的人都争先恐后地去献殷勤。然而最后,经历过日服台服的他们都走了,我却留了下来(笑)。公测收费之后,我离开过一段时间,之后辞了工作却又回到了航海。在那之后不久,我在当时的官方论坛上邂逅了这篇文章,和这文后的那个人。这篇文章给当时浑浑噩噩的我带来的感觉是极附冲击性的,可以说,它影响了我之后的游戏道路。我想,被影响的一定不止我一个人。

到底是怎样的人,和对航海如何深切的热爱才可以观察到这一点,这是我当时极为感兴趣的问题。而直到现在,我都在探寻问题的答案。

Let’s start。

可以毫不夸张地说,自从人类诞生以来,就被这璀璨的星空所吸引。历代的科学家、诗人、占卜师,都曾无数遍地将视线投入到夜空中,试图探询浩瀚宇宙的奥秘。你可以不懂天文,分辨不出星座,但是你一定无法抗拒星空那神秘的吸引力。每个人在小时候,肯定都在若明若现的星星中,编织过自己美丽的梦想。我的梦想就是航海,而航海本身,就早已与星星结下了不解之缘。

早在人类开展海上航行之前,星星就被古人用来判断方向和季节,制订历法,当然还有占卜。而在茫茫的大海中,星星更是忠实的航标,既为船长们指引方向,又通过浑仪、星盘和六分仪来确定船只的位置。而在大航海时代 Online里,制作公司光荣相当细致地再现了真实的星空,与其他粗制滥造的山寨公司的水平有如天壤之别。如果你对星座足够熟悉,你甚至可以不用打开测量、不用看屏幕右下的罗盘,只要有一个晴朗的夜空就能够引导你到达目标的彼岸!

接下来,我将引领大家进入星辰的世界,请大家睁大眼睛,把每幅图片都点开放到最大来观看,从一等星到五等星,一颗都不能少!

首先,我们先来看看近期最热门的星座——南十字座,同时感受一下光荣的精良制作。 南十字座是全天88个星座中最小的一个。座内主要亮星组成十字形,其中一长竖的延长方向约4倍半的距离就是南天极。大航海时代的航海者们把它看作是上帝的指引。因为它处于非常靠近南天极的位置,所以欧洲绝大部分地区见到的机会都很少,从加勒比——西非——印度一线开始,南十字渐渐在每年的春季开始露出地平线。因为游戏中我们无法抬头观看头顶正上方的天空,所以最适合观察南十字的地区是南美——南非——大洋洲一线,再往南的话,南十字往往会转到屏幕上边去,反而看不见了。

从一等星到五等星,一颗都不少!一颗也不多!也许你本来以为那些细碎的小星星只是随手添上的点缀,可在这样精确的星图面前,事实足够让你震撼了吧!精确而缜密——我想用这样两个词语来形容这样的游戏制作,它值得我们称赞!

不过如果因为一张完美精确的星图就让你以为游戏的其他因素都与现实中的一样,那就大错特错了。先不说变形严重的地图,也不说前后穿越混乱的人物和仪器,仅说跟本文有关的时间和日期,就足够让大家下巴落地,眼镜粉碎了。

大家都知道,在海上航行1天,等于现实时间的1分钟。但是海上航行的这个“1天”,究竟是个什么概念呢?是一次日出到下一次日出之间的时间吗?———— NO!在开始观测星空的一开始,我就注意到了这个问题。因为我想看星星我就得等晚上啊,可是太阳出来后好久天都不黑,航海天数都已经加了1天了?!原来,日出以后,经过 1.5个航海天数才落下,天黑;再经过1.5个航海天数,才会有下一次日出。也就是说,一次日出到下一次日出之间的时间是屏幕右上角的经过整整3个航海天数!

这个结论把我自己也吓了一跳,所以我在世界各地开小号反复地观察,结果依然是这样。同时又发现了另一个现象:不管你在世界的哪里,太阳都是同时升起,同时落下的!——大约在初中地理我们就该学到了,根据经度不同,太阳从东向西先后升起,这是由地球自转所引起的——为什么大航海的游戏制作会违反这个公理,原因我下面会说。以上的试验都很好做,大家可以亲自去验证3天一次日出和全世界同升一个太阳的问题,图我就不发了。

为了下文“一天”、“一日”之类的叙述不产生混乱,我对时间要重新做一次定义。

一次日出到下一次日出之间的时间=1天文日     ——1天文日的开始和结束是全服务器共用的标准

玩家出港后每经过1分钟实际时间=1航海日     ——1航海日的开始和结束对于每个玩家的每次航行都不一样

1天文日=3航海日=3分钟实际时间      ——仅指在时间长度上,1天文日的开始并不一定就是(事实上往往不是)1航海日的开始

上面提到了一个跟地球自转有关的问题:全世界太阳在游戏里同时升起了。其实太阳只是一颗普通的恒星,先除开公转因素不提的话,地球自转导致了太阳升起落下,也同样会导致满天的其他恒星升起落下。我们可以想象一下,太阳以及其他的恒星都画在一个半球形的屋顶上,你站在半球下的中心点,然后一边抬头看着星星一边自己转一圈,会发生什么?——扑通,转晕了摔一跤…………那你是重心不稳缺乏锻炼!当然是会看到所有的星星都按一样的角速度在旋转,太阳只不过是其中画得最大的一个星星而已。

如果想要在现实里验证呢,就晚上打开窗户,找一颗在北极星附近的星星,记录下它相对北极星的方向。此后可以每隔一小时观测一次,你会发现这颗星星每隔一小时都绕北极星转过大约15度的角度。因为地球每昼夜自西向东自转一周360度,即每小时 360/24=15度,你也跟着地球每小时转过15度。所以你会看到北极星周围的星座每小时向相反的方向转过15度,24小时后它们又回到了第一次记录的位置。

但是在游戏里,就没有这样的现象了。在每个晚上(1.5个航海日、0.5个天文日),星空几乎没有任何转动或者位移,就像一面墙一样固定在某个方位上。如果它真的有在旋转或者移动的话,那也是目测无法辨别出的极其微小的程度,而不是动辄就是十几度、几十度地划圈转动。

以上谈的仅仅是地球自转,如果再加上公转,按情况又要复杂一些了。所谓地球公转的影响,就是地球每年绕太阳自西向东公转一周即360度,平均每天大约转过1 度。这样我们每天在同一时间观察一颗星星的话,就会看到它绕北极星每天向相反的方向转过1度,一年后这颗星星又会回到了第一次观察时候的位置。实际上,自转的影响和公转的影响同时在发生,所以一颗星星在一小时内转动的角度应该是: 自转(360/24)+公转(360/(365.24*24))=15.041度 当然我们不用观察地那么精确,只要知道实际上自转和公转同时在对星辰的转动造成影响就好了。

公转在游戏中如何观察呢?只有在每个天文日的晚上,对着同一个角度拍一张照,然后把若干天的照片放在一起比较。根据之前对于游戏中时间的推算(1天文日=3航海日),1天文年约=365天文日约=1095航海日约=1095实际分钟约=18.25实际小时。也就是说,如果公转对游戏中的星空有类似于真实情况那样的影响的话,要将近18个小时才能完成旋转一周天360度的过程。说实话,如果要我坐在电脑前18个小时一动不动也未免太枯燥了。是的,科学有时候就是这样的枯燥,虽然我也是理科出身,做一个实验动辄十多个小时的经历也不少了,但是我还是不得不用按键精灵来帮我完成这个实验。以下就是我在里斯本附近海域的小号,对准北极星后,用按键精灵每隔3分钟后记录的图片做成的动画。图片非常大,有6.52M,请耐心等待一下,因为我做这张图片所用的时间足够你把它下载成千上万遍了。

大家应该可以看清楚,图片上的星座绕着北极星完整地转完了一圈。在这18个小时中,不幸或者说万幸地只遇到了一场暴风雨,把我的观测小船吹得移动了一点位置,也改变了视角,所以动画的后半部分,北极星的位置变得稍微低了一点,还好这并不影响最终的结论。我一共用了361张截图,包括过程中的下雨、多云等等不利于观测的图片都算上了,这是为了保持时间轴的稳定。而第361张是为了强化首尾的连贯,其实只用360张就可以再现整个过程了。什么?你问我为什么不是365张?一年不是365天么?其实也没有什么特别原因,因为如果多放上后续5张的话,星辰就要多转5度,而不是现在看上去正好的 360度了,观测的结果就是如此。一年只有360天的历法古以有之,而且360天这个整数更利于后面的计算。

也就是说,我们的最终结论是,游戏中:1天文年=360天文日=1080航海日=1080实际分钟=18实际小时

这个结论还可以进一步推广应用出去。大家非常关系的一个关于航海的问题就是季风,以及季节到底以什么时间周期来变化?现在我可以告诉你了,如果假设游戏中只设置夏冬两季的话,每180天文日=540航海日=540实际分钟=9实际小时,就是每个季节的时间周期。这跟很多其他玩家关于季风的测试结果基本吻合。

把以上的几个实验结果串起来,大家可以发现,凡是跟地球自转(经度变化)有关的现象,游戏中都不怎么表现。而跟公转(纬度变化)有关的现象,却表现得很到位。为什么游戏要设计成这样呢?我的猜测是:游戏中,根本就没有把地球作为一个能够自转的球体来处理!

大家应该都知道,我们的游戏世界其实不是一个球体,而是把经过变形后的海洋和陆地,平铺在了一个矩形的平面上。矩形的上下(就是南北)有边界,而东西(左右)是贯通的,这有点类似我们以前玩的大嘴吃豆PACMAN那种场景。这样的平面似乎能卷成一个竖直的圆柱体,但是即便是圆柱体,它也应该具有两个特征:一、在东西方向上地面具有弧度,远处的来船应该先看到帆,然后才是船体;二、圆柱体也有自转,或者说圆柱体也是可以根据经度不同而产生各地不同的星空的。事实上这两点我们在游戏里还是观察不到,基于这样的情况,我做出如下的假设:

本游戏以玩家所处的位置为原点,从矩形的世界地图中截取此原点周围一定距离内的地形生成一个伪平面,伪平面的边界大致是圆形,半径长度是玩家的电脑所能处理的极限或者说屏幕可视距离的极限。另以此原点为球心,套上一个全服共用的大型球状天幕,此天球的南北天极连线始终贯穿玩家所处的原点。这样的结构有点类似古代的“天如斗笠,地如覆盘”。嗯,这是一种比“ 天圆地方”要稍微强一点的理论。

大胆的假设过后,又是小心而枯燥的求证。求证是思路就是在全世界不同的经度和纬度上布置很多观测点,同时观察星空有什么样的变化。是不是符合“忽略经度变化,着重纬度变化”这个命题。

我把需要观察比较的星空还是取在北天球,因为:一、北天球附近容易辨认的星座比较多;二、北天球更符合大部分欧亚人的观察习惯。

顺便也给大家科普一下吧,因为截那张游戏图片很不容易,游戏中我们不能抬头看头顶,所以最重要的几个星座都同时出现在了窄小的屏幕里还是很可贵的。北极星是天空中最重要的指示方向的星星,顾名思义它一直是落在了正北方向,事实上它所在的位置与北天极点之间的距离微乎其微。而找到北极星也有两种方法,一种是大家都知道的北斗七星,斗口的延长线约5倍距离的地方就是北极星的所在。另一种方法是找北斗星对面的仙后座,把仙后座略成W形状的两侧延长,其交汇点再与W 的中间那一点连线并延长,大约4倍半的地方,也就是北极星。

我按照纬平经直取了5个观测点,形成十字型。

在距离上:AO= OB,CO=OD (经度计算中取0=16384)

拍照时候,按照A-O-B和C-O-D分为两组进行组内比较。每组内的三张照片拍摄间隔时间不超过5秒。

先看比较经度影响的C-O-D

用肉眼也能判断出了,这三张图上的星辰几乎没有差别。证明了游戏制作果然无视了自转和经度的变化导致对星空的影响。

再看比较纬度影响的A-O-B

差别太大了点,所以我不得不把星座轮廓都勾勒出来了。

比如要对照前面的北天常见星座图才可以判断出,三个地点的星空,按照由北向南的顺序,北天极(北极星)的位置依次降低。我把每张图的屏幕上边中点的位置,在星图上大致标出来,如下图。

三个点分别对应的赤纬(天球的纬度)大约是:A=69.5度  O=70度  B=30度

那么三者之间的纬度差是:

AO=(90-69.5)+(90-70)=40.5度

OB=70-30=40度

虽然结果的数字并不是完全一致,但是因为我仅仅用眼睛来判断和标记位置,所以得到这样的结果已经很满意了。这样的结果已经可以说明,游戏中的星空会随着所处的纬度位置不同而发生相应的变化,并且变化幅度与纬度差成线形关系。本来我还打算把AOB三点在地球仪上取真实的纬度再进行换算比较,但是后来发现游戏地图的变形实在太大,真实的纬度无法求得,只好作罢。

实验至此,大致告一段落。我所得出的结论,并不一定就是游戏里真实的设置,也许以上的叙述有很多漏洞,或者我的推理太过卤莽。但是我只是希望以我的一些研究,拙劣地模仿着航海家前辈们的足迹,探求世界上各种无止尽的奥秘。亦或者引起你对天文学、对航海的某种小小的兴趣,我的目的就达到了。

2-2  葡萄牙探险家  七濑


不仅仅影响了我的游戏,也影响了我人生的家伙。正如AD姐姐所说,尼个变态- -!

星空的秘密——大航海时代Online里的天文学初探》上有2个想法

  1. 很小的时候看过一本书叫自然什么的教科书,翻开后的第一第二页就是星空上的星座,那时就点燃了我对星空的激情。不过长大后渐渐被遗忘。。因为污染遮掩了天空。。

    很多人说这城市太无聊,没激情,没什么/很少东西供他们打发无聊的时间,我却很喜欢这城市,白天可以看到很宽广的蓝天,夜晚可以看到星辰or明月。

发表评论

邮箱地址不会被公开。 必填项已用*标注