时空幻境(zippo时空幻境)

佚名 2023-04-25

本文目录一览:

时空幻境|如何实现时间倒流的魔法

时空幻境是一款很有趣的独立游戏,游戏最大的一个特点是可以让时间倒流,回到前面的位置,灵活运用时间倒退的功能,触发各种机关,完成关卡。

如何让游戏内的时间倒退,这是一个有趣的问题,在第一次这个游戏的时候,还是蛮震惊的,或许是第一次遇到这种类型的游戏,时间倒退的机制让人眼前一亮,当时并没有多想,现在从程序的角度思考,如何实现这一机制呢?

使用命令模式来实现是一种可能的 *** 。

定义看起来有些晦涩,其实并不难理解。在做游戏的时候,我们会将玩家的输入操作转换为游戏内的一个动作。比如按↑跳跃之类的。命令模式定义了一个Comand基类,而其他操作都会继承这个基类,并实现execute()和undo(),大概是这样的:

这样我们就把游戏内对象的动作封装到了Command类中,控制一个角色就相当于执行一系列Command命令。这样做的好处是,我们可以记录用户的操作,把命令保存在一个stack中,当时间倒退的时候,只需要取出一个个Command命令,然后执行undo操作就可以了。

命令模式的好处是实现完各种命令以后,实现时间倒退,前进,加速减速就很简单了,只要不断执行execute或者undo就好了。缺点也很明显,这些命令并不好实现……

在时空幻境中,主角的动作其实比较少,只有跑跑跳跳,还是比较好实现的,但是也有很多其他的物体,这些物体也在运动,并可能与主角进行交互,所以如果用命令模式,实现起来还是相当复杂的。

另一种方式比较暴力,就是备忘录模式,也就是保存游戏状态。

这个模式不用多说,就是每一帧将当前世界的状态做一个快照保存下来,然后当时间倒退的时候直接读取状态就好了。这种 *** 的好处就是:很好写,速度快。缺点当然就是比较耗费内存。

究竟有多么消耗内存呢?其实可以大概计算一下,假设一个关卡中有20个需要记录状态的游戏对象,每个对象大概需要6~7个属性(位置,移动速度和其他属性等,这里不太确定,不过我觉得需要的属性应该不多),出了位置以外,其他属性应该并不需要很高的精度,可以进行优化,不过这里还是先按照8个字节来算。那么游戏运行1个小时大概需要的内存就是:

一帧需要的内存 = 20 68 = 960(byte)**

一秒如果设定为60帧,那么内存消耗 = 960 * 60 = 57600 (byte)

时空幻境(zippo时空幻境)  第1张

** 一个小时的内存消耗 = 57600 * 3600 / 1024 / 1024 = 197 (MB)**

接近200MB的消耗!这确实非常多,但是也并非不可行。还是有很多优化方案的,比如减少保存属性的字节。或者采用增量的保存方式,不是没帧都去保存所有值,而是保存改变值,这样会节省大量无效的内存,因为大部分时间,玩家可能是站在某个地方傻傻不动的。

利用上面的 *** 应该可以剩下一大半内存,另外,应该很少有人在一个章节玩一个小时,大概10~20分钟基本都可以完成了。实际上这个数字还算比较理想的了。

本来到这里差不多结束了,不过我搜到了一个帖子:

这个,大概是作者对于游戏机制实现的一些回答(从语气上看应该是吧),虽然英语很渣,不过大概可以看懂一些。

大概是说,作者大部分情况下记录了世界的状态,而不是记录事件(除了第五章)。实际上作者上述两个模式都有使用,并且表示使用命令模式非常令人烦躁,而且编写相反状态也非常复杂。

作者还表示,和与内存的消耗相比,CPU的消耗是更大的问题,所以他选择了使用保存状态的 *** ,在Xbox 360上,实际上在内存缓冲区消耗完之前,大概可以运行30-45分钟的样子。CPU消耗大应该是命令模式在需要执行命令很多的情况下可能会进行大量的计算,并且如果玩家进行加速操作,可能就更伤了。

另外,如果缓冲区被消耗完,那么就抛弃掉最开始的状态,这样虽然你并不能回到最初的状态,但是作者表示,好像并没有什么注意到这一点。

不知道有没有更好的实现 *** ,感觉其实都挺暴力的……

[img]

《时空幻境》(Braid)堪称「神作」的原因有哪些?

《时空幻境》迷人之处在于其引人深思的叙事能力,初玩可能很难理解这个游戏所要传递的内容,但是就是这种似是而非的感觉,会更加让你着迷,你会从游戏中读到自己想要的内容,而游戏又不会直接告诉你,讽刺跟赞扬在这种表现手法中尤为清晰突出。

游戏内核足够新颖,时至今日,依然很难有一款游戏能够像《时空幻境》一样将操纵时间的设定如此完美地运用到游戏中。

在《时空幻境》中,玩家在关卡中通过操纵时间,以此来隐喻和暗喻一些游戏内容,然后遵循了时间发展的客观规律,着重放大绝大部分物体受时间操纵后的变化跟少数物体不受时间影响的对立性,让人们游戏的同时,开始思考时间的真正含义。

故事内容上的完美叙述也是这个游戏成功的关键,以常人的眼光来看,勇士救公主只是一个美丽的童话故事,是美好的,但是《时空幻境》明显赋予了它更多的含义,游戏中主人公映射了 *** 之父奥本海默,而公主则是 *** , *** 究竟该不该出现?

每个人的看法并不一样,而主人公每次利用时间其实清晰的知道自己双手沾满了鲜血,而公主的能够重见天日,绝非表面看上去的那么简单。

相关信息

时空幻境(zippo时空幻境)  第2张

游戏整体风格更偏向于一部寓言解谜小说,玩家作为主角,虽然一步步将公主救了出来,但是在了解完剧情之后,又会陷入某种自责当中,而这本身只是游戏而已,这仅仅是一种情感传递,而隐喻的 *** 之父所面临的可能比玩家更加无奈。

通过游戏传递情感,让玩家感同身受,或许这才是这个游戏真正的魅力所在。

什么是时空幻境?解释一下

1.时空就是时间与空间的简略 *** 名词(时间+空间,(时空是物质运动的方向和速度,比如光线经过引力场时,光子会改变其运动的方向和速度)。

是力学、物理学、天文学和哲学的基本概念。

2.幻境,fairyland∶虚幻神异的境况。 例句:在此,我们并不逃避现实而进入愉快的幻境。

dreamland∶仅仅在幻想中或梦境中出现的理想地方。

时空幻境的意思就是说,建立在时间里面与空间里面所形成的一种虚幻神异的情况。是一种超自然的形象。

时空幻境到底讲述了什么故事?

讲述了主人公Tim去拯救被魔王捉去的公主的故事。

但其实随着剧情的深入,不难发现其实“公主”并不是一个人,而是一个理想的世界,或者一种阴谋野心。而魔王正是Tim自己的内心,他心里面的黑暗迷惑了他的“公主”,他彷徨,不知所措。当Tim与公主来到终点,突然瞬间光亮(我觉得象征着核爆),接着一切静止了,这里游戏需要时间流逝,回到最初。也相当于Tim回到魔王出现前,从而到达最后的结局。

主旨是唤醒人们心中的关怀与温情,告诫人们莫到后悔时才懂得珍惜。

时空幻境的研发历程:

布洛在2004年12月的泰国之旅中获得了《时空幻境》的灵感,并在2005年4月着手展开游戏的 *** 工作。

最初,布洛的蓝图是将游戏分成若干的世界,而每个世界则以空间、时间、因果关系等为主题,各有不同的规则和内涵。在多次尝试后,布洛放弃了其他概念,选择了时光反转作为游戏理念进行深入开发,并开始为游戏加入谜题,在其中表达他对游戏设计见解的哲学观点。布洛力图让《时空幻境》的玩家体验时间倒流带来的难料后果,而不像在《波斯王子:时之沙》、《时空飞梭》等游戏中玩家仅仅将时间倒流作为机械的工具。

通过游戏艺术表达自然地达到游戏创新的目的,是《时空幻境》的设计理念之一。布洛表示,就如游戏《婚姻》在以 *** 人真实婚姻经历为蓝本的基础上,自然流露出游戏的概念一样,《时空幻境》避免了在剧情上的生拉硬套,因此游戏体验会和其他游戏有所区别。《时空幻境》的另一设计理念是重视玩家的游戏体验心理。布洛认识到,许多游戏提供给玩家极丰富的元素,但是还需要有直观的叙述解释游戏规则与概念,才能吸引玩家。因此在设计《时空幻境》时,布洛注重游戏与玩家的交流互动,在游戏每个世界的开端都先阐述了该世界的基本规律和特色,然后才让玩家进入该世界进行实践操作。

《时空幻境》的游戏故事受到了许多作品的影响,如伊塔罗·卡尔维诺的《看不见的城市》、阿兰·莱特曼的《爱因斯坦的梦》、罗伯特·海因莱因的《穿墙猫》、大卫·林区的《穆荷兰大道》等。布洛采用纯文字来展示游戏剧情,

游戏中谜题的难易程度不一,且某些谜题对特定的玩家要更难。因此,游戏允许玩家绕过暂时解决不了的谜题,先行体验后面的游戏内容(特定头目角色战斗无法绕过)。布洛希望玩家能通过完成后面的游戏而找到先前谜题的解决思路。布洛亦表示“不劳而获的奖励是虚假且没有意义的”,因此在游戏里的每个拼图都需要玩家发挥智慧,解决谜题后才能获取,且无论谜题有多难,一次也只能获取一个拼图。

布洛强烈建议玩家亲手解决难点问题,以在破解答案后获得充实的成就感。尽管布洛发布了所谓的“官方攻略”,然而该攻略实际上却不断在要求玩家自食其力解决谜题。《时空幻境》中的许多谜题是向其他游戏致敬;例如某关的卖点是受《大金刚》启发的谜题;而每一世界结束前主角到达城堡,总有一个小怪告知主角“公主在别座城堡”,则与《超级玛丽》类似。

评论: 阅读:
猜你喜欢