【转】Braid - 一个发人深思的游戏
Braid - 一个发人深思的游戏
我已经很久很久没有打游戏了(如果不算 Angry Birds 之类用来打发时间的游戏的话)。我的最后一个真正意义上的游戏机,是 PlayStation 1。在那上面,我真正欣赏的最后一个游戏,是 [Metal Gear Solid (1)]。
我曾经是一个游戏迷,可是进入了计算机专业的学习之后,我就开始失去对游戏的兴趣,基本上每玩一个都让我失望一次,不管别人把它吹的多么“经典”。不知道为什么,别人玩得津津有味的游戏,我玩一会儿就把它里面的“公式”都看透了。我清楚地知道这游戏的设计者是怎么在“耍我”,在如何想方设法浪费我的时间。同样的,别人看得津津有味的小说和电影,我经常一看开头就能猜到它要怎么发展,以至于一路猜到结局,索然无味。所以我基本上不去影院看最新的电影。我宁愿在网上看一些几十年前的老电影。我貌似只喜欢那些能让我“猜不透”的东西。
Braid,就是这样一个让我没猜得透的游戏。
这是一个同事推荐的。本来已经对电玩完全失望的我,破例的从 App Store 买了来。玩过之后觉得真的很不错,有一种所谓的“mind blowing”的感觉。以至于我花了两整天时间,废寝忘食,把它给打通关了。
Braid 的主体结构,和最古老的“超级玛丽”没什么两样。一个小人,可以跑,可以跳。一些小怪物,跑来跑去的。你可以跳起来踩它们。
最终的目标,是收集到所有的拼图,然后把它们组合成图片。组合图片是很容易的事情。游戏的难度其实在于如何拿到这些拼图。它们有可能被挂在很高的地方,或者被门挡住。
可是这有什么值得一提的呢?这游戏很不一样的地方是,它给你提供了几种绝无仅有的“超能力”,而且把它们与谜题结合得几乎天衣无缝。
你有三种超能力:
- 逆转时间的能力
在任何时候按下 Shift 键,游戏的时间就会逆转,“undo”之前的所有动作。即使你死了,都是可以复活的。死去的小怪物们也会复活。可是就算这样,有些拼图还是很难拿到。
值得一提的是,时间逆转的时候,画面是流畅无缺损的,连爆炸场面都会“收缩”。更令人赞叹的是,游戏的背景音乐也会同步逆转。如果在时间逆转的时候按“上”,“下”键,就可以调整时间“快退”和“快进”的速度。当然,此时的场景就像录像机在快退或者快进。
- 产生“多重现实”的能力
在某些章节,你可以实现“多重现实”。做一个动作,然后按 Shift 键让时间逆转,当你停止逆转的时候,你的影子就会开始“redo”刚才的那段“历史”。而这个时候你可以做一些不同于以前的事情。这就好像有两个世界,一新一旧,从“历史的分叉点”开始,同步交汇。
你必须掌握好时间才能跟影子合作,因为影子的行动速度是不受你的“现场控制”的,它只是按部就班的重演你 undo 掉的历史。
- 扭曲时间的指环
在某些章节,你会有机会使用一个魔法指环。把这个指环放在地上之后,它会在附近的球状空间中形成时间的“扭曲”。这有点像黑洞的原理。越是靠近指环的位置,时间流动越慢。而当你远离指环,时间就逐渐恢复正常。指环的巧妙使用,是解决这些章节谜题的关键。
同样的,音乐与指环的特异功能是完美配合的。当你靠近指环的时候,背景音乐就会出现相应程度的扭曲。有点像录音机卡带的感觉 :)
在解决了所有的谜题之后,我回味了一下,自己为什么欣赏 Braid。这也许是因为它符合一个优秀的,非低级趣味的游戏设计:屈指可数的简单规则,却可以组合起来,制造出许许多多的变化。
你只有3种超能力,但是如何利用和“组合”这些超能力,却形成了解决谜题的关键。有些题目很有点难度,以至于你会希望有第4种超能力出现,或者希望捡到别的什么“法宝”。可是它们是不存在的。你必须使用那仅有的3种能力,加上巧妙的思索,细心的观察,才能达到目的。在解决了一个很难的谜题之后,你往往会一拍脑袋:哇,我怎么一开头没想到!
【转】Braid - 一个发人深思的游戏的更多相关文章
- 如何建立一个完整的游戏AI
http://blog.friskit.me/2012/04/how-to-build-a-perfect-game-ai/ 人工智能(Artificial Intelligence)在游戏中使用已经 ...
- 在code.org上自己写一个flappy bird游戏
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在code.org上自己写一个flappy bird游戏.
- [译]终极塔防——运用HTML5从头创建一个塔防游戏
翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...
- Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状)
Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状) 本篇博客来给大家介绍怎样使用Lua这门语言来开发一个简单的小游戏-记数字踩白块. 游戏的流程是这种:在界面上生成5个数1~5字并显 ...
- 用Python设计一个经典小游戏
这是关于Python的第9篇文章,介绍如何用Python设计一个经典小游戏:猜大小. 在这个游戏中,将用到前面我介绍过的所有内容:变量的使用.参数传递.函数设计.条件控制和循环等,做个整体的总结和复习 ...
- JavaScript一个猜数字游戏
效果图: 代码: <body> <script type="text/javascript"> window.onload = newgame; //页面载 ...
- 如何在CentOS上安装一个2048小游戏
如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...
- 5、使用Libgdx设计一个简单的游戏------雨滴
(原文:http://www.libgdx.cn/topic/49/5-%E4%BD%BF%E7%94%A8libgdx%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E7% ...
- 一个js小游戏----总结
花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...
随机推荐
- Android Studio中关于9-patch格式图片的编译错误
最近在编译Android Studio开发的项目中在使用了9宫图后出现了编译错误,尝试了多种方法未能解决,最后仔细查看出错的日志发现,居然是图片的原因,图片中包含有alpah通道所以在执行app:me ...
- Java 判断Windows下某个进程是否运行
public static void main(String[] args) { String keyWord = "chrome.exe"; Runtime runtime = ...
- Windows操作系统下的MySQL主从复制及读写分离[转]
mysql主从复制配置 保证主库和从库数据库数据一致 mysql主库MASTER配置(在my.cnf中加入以下配置):log-bin=master-binbinlog-do-db=test #需要 ...
- claim概念图示
- jmap 命令
1. jmap -heap pid 查看java 堆(heap)使用情况 using thread-local object allocation. ...
- Valid Number 验证数字
Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...
- ps 如何将视频转换成gif?
1.情景展示 视频转gif如何实现? 2.解决方案 通过ps可以实现. 打开ps-->打开视频文件: 功能介绍: 选中图层--> 修改持续时间,可以控制显示的内容: 修改播放速度,可以 ...
- V-rep学习笔记:Reflexxes Motion Library 3
路径规划 VS 轨迹规划 轨迹规划的目的是将输入的简单任务描述变为详细的运动轨迹描述.注意轨迹和路径的区别:Trajectory refers to a time history of positio ...
- PHP 反射 初步测试
<?php //php反射机制 /* //用途 1 该扩展分析php程序,导出或提取出关于类,方法,属性,参数等详细信息,包括注释 //Reflection可以说是对php库函数: /class ...
- Redis持久化之RDB与AOF
1. Redis的持久化方式 Redis作为高效的缓存件,它的数据存放在内存中,如果没有配置持久化,那么数据会在重启后丢失,因此如果不是仅用Redis做缓存的话,需要开启Redis的持久化功能,将数据 ...