主题:救赎(盗梦空间,含剧透,慎入) -- 见证风的方向
这个片俺是这样解毒滴
======================================
Carrie同学的日志里提到这个片子,手里的票花不完,刚才就跑出去瞧了一眼。前几天看到有人在twitter上写了个有意思的评论
当时我还没看这个片,凭记忆立时回推了一下:“其实10年前的《The 13th Floor》早就有这个构思了。” 刚才一看果不其然,创意基本上是拷贝《The 13th Floor》,即便没看过《The 13th Floor》的,也总该看过《黑客帝国》三部曲吧?记得N年前珍妮芙洛佩斯还拍了个叫《入侵脑细胞》的,不过没看过,不好说是不是也是基于同一创意。摘一段jungleford去年在西西河发的老帖草稿的一部分:
所以我倒是觉得这个片子算是某种程度上的翻拍。不过编剧在旧酒之外又添加了两个新元素来裱这个新瓶:
1. 调用返回值:或者也可以称为“栈顶元素返回状态”。
在玩家需要从梦境中醒来时,他们要提前约定一个唤醒他们的信号,本片中第一段辅助剧情侵入斋藤(渡边谦)梦境,信号是“水”;在后面的主剧情中侵入菲舍尔的四层梦境,信号则是一段音乐和失重状态。(我们姑且称为的)“梦栈”中所有过程的返回值都必须匹配才行,一个程序员都知道的基本常识是,如果是强类型语言编写的程序,
int func1(a,b,c,d,e,f,g)
{
...
return func2(a,b,c,d,e,f,g);
}
int func2(a,b,c,d,e,f,g)
{
...
return func3(a,b,c,d,e,f,g);
}
int func3(a,b,c,d,e,f,g)
{
...
return func4(a,b,c,d,e,f,g);
}
int func4(a,b,c,d,e,f,g)
{
...
return value;
}
这段代码中,所有函数调用的返回值都必须是整型。那么我们可以把函数func1~func4看成是菲舍尔的四层梦境,参数a~g看成是参加游戏的七个玩家(被侵入者菲舍尔、盗梦者柯克、柯克的助手、伪装者、催眠者、造梦者小美眉、以及“老板”斋藤),从程序设计角度,这个梦境系统不能是值传递的,不然对菲舍尔的“洗脑”或“植入”都只能在一个梦境(术语叫“作用域”)当中生效,跳出任何一个梦境菲舍尔都又重新回到进入梦境之前的状态,所以梦境系统必然是地址传递或引用传递方式
2. 唤醒者:
这是该片创意元素中的另一个重要约定条件。即进入每一层梦境之前,外面必须要留一个人来守护和唤醒其他玩家,这样每进入一层梦境,玩家人数都应该减1才对,因此上面那个函数调用过程正确的行为应该是
------------------→func2(a,b)
进入第四层的是柯克、小美眉、菲舍尔,唤醒者是伪装者(俺对老外名字一向没记性);进入第三层的是柯克、小美眉、菲舍尔、伪装者、斋藤,唤醒者是柯克的助手;进入第二层的是柯克、小美眉、菲舍尔、伪装者、斋藤、柯克的助手,唤醒者是催眠师;进入第一层的是所有七个玩家,唤醒者是一个空姐。片子里还留下了一个倒叙开头的结局,斋藤死在了第三层梦境,出不来了,柯克为了把老板拉出来以便让其能够醒过来帮忙入境而不被条子抓起来,一直呆到了(我猜应该是第二层)梦境中斋藤变老(我认为这个表现还不如库布里克在《2001漫游太空》里那个男猪角最后的衰老来得震撼),这就是上面的“ func2(a,b)”。
片子继续延续老套的所谓“悬念结尾”——摩尔留下来的陀螺到底是一直转下去还是会停下来?柯克回家到底是梦还是真实?其实这还不如上面《第十三层楼》里最后系统断电来的更干脆呢。
- 相关回复 上下关系4
🙂救赎(盗梦空间,含剧透,慎入) 16 见证风的方向 字1973 2010-09-08 19:23:12
🙂梦中的梅尔,俺觉得是男主潜意识中分裂的人格 常挨揍 字0 2010-09-12 04:44:20
😄【原创】Inception:新瓶装旧酒(剧透,慎入)
🙂跑个题 jungleford 字188 2010-09-11 21:21:04