分类
赏析与学习

《底特律》通关感想

SPOILER ALERT!本文涉及《底特律》剧透,一次都没通关的玩家请打住哦!

本文分三部分,先说一下叙事主题,再说一下三个主角的故事线,最后说一下玩法设计。Let’s Go!

我原本以为《底特律》是一个类似《银翼杀手》借由仿生人探讨人性或者人类的本质的主题,但后来发现并不是。一开始的故事集中在了地球环境不断恶化导致的美俄新冷战阴霾的背景下,美国社会由于大量工作被仿生人代替,蓝领阶层普遍扑街,失业率飙升至35%,贫民满地都是,民众对仿生人的态度越来越不满这一矛盾上,看起来有着一个十分赛博朋克、很high tech low life的主题,但令人遗憾的是,这只是一开始而已。随着剧情冒险成分的不断增多以及节奏的加快,剧情越往后越通俗,随着三条角色线的发展以及最终交织,全片的核心在最高潮的地方被偷换成了替被牵扯进仿生人革命中的主角的下场牵肠挂肚的情感体验,整个后半段人类只不过是被推到了暴徒的位置上被批判的对象而已,前半段high tech low life的赛博朋克主题早就被都被抛诸脑后了,这不得不说是《底特律》虽然说不上是败笔,但也让人想起来就咋舌的一个叙事弱点。

但这样也不失为一部优秀的作品,因为这三个角色的完成度都很高,故事的长度也是给的相当足,都快赶上印度电影了。马库斯的弧光是所有角色中最成功的,康纳是所有角色中玩法最丰富因此最受喜爱的,这两个角色的塑造及其叙事我个人是很满意的,尤其是马库斯有好几段戏都打动了我,所以比起普遍更被玩家所喜爱的康纳,我更喜欢马库斯这个角色,直面自己内心的困顿,在自己和同胞都受到残酷迫害的情况下依然选择和平起义,他完美的诠释了那句话—— “世界上只有一种真正的英雄主义,那就是在认清生活的真相后依然热爱生活。”(顺带一提,我上一次看马库斯的演员杰西·威廉姆斯是在2012年恐怖片《林中小屋》中,他演了个没啥存在感的配角,所以在《底特律》中可以说是进步了很多。)

我很不满意的是卡拉线,卡拉线比较独立,迟迟没有并到主线中来,但最终结局却又受到马库斯线的致命影响,这很难令人服气,卡拉好结局达成率只有5%,利用这对“女人+小孩”这种好莱坞中常见的、更容易让观众移情的绝对弱势组合来赚眼泪,我感受到了制作组的鸡贼以及刁难,必须指出的是,虽然在故事中对“女人+小孩”组合进行阻挠与迫害的都是男白人,而帮助他们的是两个半男黑人加一个女黑人(马库斯的演员杰斯威廉姆斯有一半黑人血统一半瑞典血统),这一设定看起来政治正确的不要不要的,但从结果而言,《底特律》是一个“女人+小孩”靠她们自己再努力也没法达成好结局的游戏,而卡拉又是三个主角中付出了最多、最为拼命、自始至终孤军奋战的角色,马库斯有精神导师、有爱人、有同伴,康纳有上司、副探长以及高端型号加持的各种挂逼能力,只有卡拉什么都没有,因此我对这条线非常不满,“女人和小孩的命运依然由男人来决定”这一毫不政治正确的叙事主题是值得批判的,索尼你要不要出门左转问一下迪士尼?

三个主角说完了再说下玩法,操作虽然很像《暴雨》但挺蹩脚的,尤其是刚玩完了《战神》这种流畅的动作游戏后这一感觉更为突出,瞎TM转的摄像机更是让人难受,右摇杆又要控制镜头又要和场景互动而这俩操作是矛盾的本不应该都由同一个摇杆承担……但这些对《底特律》来说都不是重点,重点是剧情树。由于《底特律》把剧情分支树做到了一般玩家能接受的大众游戏中的较高水平,因此虽然叙事立意不咋高,叙事主题又被偷换,但很高的完成度弥补了这一点。单纯考量剧情分支树和多线叙事的技巧的话,2003年《死魂曲》的故事完整度、涉及角色数、剧情自由度、叙事复杂度都完爆《底特律》,但玩法难度和叙事理解成本都太TM高,一般玩家根本玩不了,导致整个系列后来又把自己这一最大的卖点给不断简化又被那一小撮铁粉骂,里外不是人,最终整个系列都凉了,所以说搞得这么先锋或者说硬核是不讨好的,相比之下《底特律》则明确的知道自己应该复杂到什么程度。《底特律》的成功再次证明了通俗商业作品并不需要什么高深莫测的主题,也不需要过多的奇技淫巧,重要的依然是故事是怎么讲的,讲的好不好——这一结论起码在依然由好莱坞/美国主导娱乐业的可见的未来内是不会改变的。

(最近一阵子一直在研究一些叙事方面的作品,再加上听戴锦华老师的课受影响导致语言风格又向之前的复杂长句转变了,我还真是个容易受影响的人啊!/笑着哭)

分类
赏析与学习 游戏设计

《Dungeon Maker》的BUFF机制

这两天在玩《Dungeon Maker》,这游戏的BUFF机制设计的非常巧妙,值得学习。

BUFF分两种,一种是计入一个“池”,然后每次生效的时候从“池”里扣除一半,直到“池”里面的存量用光;另一种是计次的,生效n次后就失效了。

以吸血为例,假如一个技能为英雄提供了100点吸血,那么英雄在下次攻击的时候就会回复50点生命值,然后吸血池里面还剩下50点。再下次攻击的时候,回复25点生命值,然后池里面就只剩下12或者13点。

另外一种则以闪避为例,如一个英雄的闪避池有3点,则接下来3次的攻击都会闪避开,但每次都会扣除1点闪避池中的资源。

在传统的RPG中,吸血和闪避都会被当做属性来处理,而属性的问题就是它们是固定的、静态的、很难随着战况变化的。这样一来属性的效用就太强了,尤其是像吸血这种会依赖于某个属性来发挥效果的属性,它会随着你攻击力的提高来提升你的生存能力,因此玩家往往只需要堆攻击力就可以大幅提高生存能力了,这也是为《魔兽3》的各种MOD图中吸血面具都是个热门道具的原因。

《POE》对吸血的处理方法稍微有一些优化,就是吸来的血每秒钟回复是有上限的。比如你的攻击力是1000,吸血10%,打了一下会先给你的吸血池中注入100点资源,然后在几秒内慢慢把这个血给你加上。这一定程度上限制了吸血的威力,但这也使得吸血成为一个非常容易溢出的资源,同时决定了POE中的“瓦尔契约”总是一个IMBA的天赋点。

而《Dungeon Maker》中的吸血机制就明显比《POE》和《War3》都要优秀了。实际上,《Dungeon Maker》中的吸血机制更类似于后面两个游戏都有的“护盾”机制(参考《魔兽世界》牧师的盾),也是把一个资源积攒在一个池中,然后再从这个池中不断消耗。《POE》更是把护盾做成了一个常驻的机制,似的游戏除了血条和蓝条之外还存在一个护盾条。

《Dungeon Maker》这种设计使得这些在一般的RPG中都被视为“属性”的机制,都可以变化为“技能”。这游戏里面有相当多的这种BUFF,除了上面提过的吸血和闪避,还要衰弱、集中、激怒、恐惧、魅惑等等各种效果,这些效果在其他的游戏中有的是属性有的是技能,而在《Dungeon Maker》中都成了通过技能来获取的BUFF,这样一来降低了数值的复杂程度,不至于像《暗黑3》一样所有这些数值乘到一起最后搞出来一个天文数字,另外也由于这些BUFF都是消耗性的而不是永久性的而大大提高了游戏策略上的乐趣,减少了无脑堆数值养成的无聊体验,使其更符合一个有BUILD感的Rogue-like体验。

当然,这也一定程度上限制了它的数值架构的上限,但由于我还玩得不够深入,因此需要再玩到游戏的末期后,再看看这些BUFF的数值变化范围有多大,来验证一下这方面是否存在问题。

分类
读书笔记 赏析与学习

《软件研发之道》第一遍读后感

昨天在飞机上基本上算是第一遍读完了《软件研发之道》,这书第一版是1995年的,我买的是2006年再版,2011年人民邮电出版社出版,由于书太老买不到新的因此是在孔夫子买到的,可以点击这里在豆瓣上看这本书的详细信息。

看的时候跳过了不少内容,因为有很多以我目前水平看起来一知半解的东西,距离完全掌握这本书中的知识还差的比较远,但依然感觉书中有很多地方是值得我学习的,因此特意摘录这些内容出来。这些内容有一些是对我个人有益处的,有一些则是对团队有益处的。有一些是工作流程上应该优化的地方,有一些则是个人素质上应该强调的优点。


经验法则9:做权威,而非掌权者

分类:个人-个人素质

人们倾向于认为主管拥有父母式的权威,由于相信权威,团队成员认为权威人物的指挥就代表了最好的做法。明智的领导应把握一切机会,深入了解每一位团队成员的内心对于权威有什么期望。权威的目的是使每一个团队成员都成为他们各自领域的专家。记住,我们的目的是尽可能赋予每一名团队成员最大的权威,而不是将权力集中于一人。随着团队逐渐走向成熟,会有一名或数名真正的技术和产品专家涌现出来,同时提出适当的产品前景。主管必须完全信任这个前景,并将其有效传达给整个团队。

不说了,这方面差远了,慢慢努力吧。

经验法则11:与竞争对手不相上下?进行功能竞赛

分类:团队-工作流程

就软件本身而言,可以通过两种方式展开功能竞赛。一种传统的方式是针对竞争产品开发出大量功能,从而在产品功能上占据绝对的优势。这是一种蛮力式的竞争方法。在采用这种蛮力竞争方法时,最好竞争对手也采用同样的方法与你竞争,如果你碰巧知道竞争对手将采用并坚持这种蛮力竞争方法,并自信能够开发出在数量上远超竞争对手的产品功能,那么蛮力竞争方法就值得一试。但是这并不是开展功能竞赛的最佳方法,而且采用这种方法也不可能开发出优秀的软件。

开展功能竞赛的第二种方法,是投入大量资金和精力开发革命性的功能。至少开发出3个革命性的功能,即可确保你在这方面的优势。一旦你在这一点上取得突破,即使竞争对手之前暂时在功能数量上占优势,他也将被迫退回起点,重新与你竞争。但是你必须确保开发的功能确实能够实现革命性变化,如果不是这样,那它们只不过又是一轮功能战罢了。

之后安排迭代计划时的核心思想。

经验法则25:拒绝错误指示

分类:团队-个人素质

工作进度工作人员自己制定,这应该是一个基本原则。

这一条指的是要避免外行领导内行。书中说在业内有30%~40%的团队在功能在、资源和进度方面接受着非专业人士的指导,如果在这种情况下管理层的控制欲和支配欲很强,那么基本就要闹出灾难了。

在我们的团队中这种情况不是很严重,但开发人员依然给我一种“好吧你说啥就做啥最后的锅是策划的”这种感觉,因为在为每个版本制定计划的时候确实是由策划来发起的,程序偏向于配合,我不知道这是意味着策划已经牛逼到了安排的东西都非常合理的地步了,还是程序有些消极,我个人更倾向于相信是后者。

经验法则29:不要不懂装懂

分类:个人-个人素质

对于不懂的事物,不要不懂装懂,也不要认同其他人不懂装懂。几乎无一例外,最终困扰你的事物,往往是那些你之前不懂装懂的事物。人类的本性决定了人们讨厌自己不知道与切身利益密切相关的重要事务。由于在软件项目中存在大量未知事物,因此软件开发人员和项目经理往往会掩饰甚至是完全否认他们无知的程度,这已经成为一种普遍趋势。对于那些一贯列出自己当前不确定的事物的团队成员,应给予表扬和奖励。我建议项目经理应竭尽全力确保团队成员认识到他们的无知,而不是天真地隐瞒这种无知。向团队成员施压,直到他们意识到自己没有全面评估那些不确定的事物。我们没有时间兜圈子,必须直言不讳。

现在就让我们把它当做一个准则:如果对某事一无所知,最好的方法是坦白承认这个事实,即使你不确定何时能够交付产品。没有人会未卜先知,顶替掉你的位置。

软件开发项目的目标并不是提前指定准确的计划,而是在不确定的事物变成已知时,每天做出正确的决策。

这一条写给自己看,引以为戒。

经验法则31 小心“闭门造车型”开发人员

分类:团队-个人素质

这种闭门造车、长期不交付中间产品的天才型开发人员,并不适合那些以如期交付伟大软件为目标的开发团队。无论这样的开发人员多么有才华,都不能赋予他关键的开发任务,除非他理解并认同你打算运作的开发计划。这名聪颖的开发人员必须能够与团队成员协作,并定期交付中间产品供质保人员审查。一些天才开发人员无法忍受这种繁琐的管理,虽然这类有个性的开发人员可以在软件领域找到一席之地,但致力于如期交付伟大软件的开发团队绝不能选用这样的开发人员。

这会成为之后重要的评估标准之一。如果团队里有这种人会很糟糕,而当这种人并不那么天才的时候就更是雪上加霜了。

经验法则32 经常、定期构建软件产品

分类:团队-工作流程
  • 频繁、公开的构建流程可以揭示真实的依赖关系,如果有任何关系没有处理好,产品就无法构建成功。
  • 构建可以揭示无法预料的设计缺陷,如性能或规模问题,以进行及时的修复。
  • 构建是使团队成员同时致力于相同目标的天然机制。
  • 构建中出现的问题迫使团队面对他们想要忽略的问题。
  • 这是了解项目真实进度的唯一方法。

由于每个版本的迭代周期只有一到两周,没有什么长期作业,并且还要提交中间版本,再加上研发团队一共也没多少人,因此我们在这方面做的还算凑合。但原文中给出的意见是定期构建产品,在最理想的情况下甚至是每天构建,频繁的构建版本确实压力非常大,但书中认为一旦能够克服,带来的好处是非常巨大的,就是上面提到的五点。

我们做得不够好,1是从来就没有做到过定期构建,而是慌慌张张的把功能搞定后立刻出版本,这种情况下构建出来的版本的质量可想而知;2是QA没有稳定的测试版本,开发人员一直在从trunk上把通过自测的代码merge到最终提交的正式branch上,因此QA也不知道自己测过的问题再update之后是否还需要重新测试。这非常浪费时间。

如何能够提高这方面的能力,还需要进一步团队内讨论。

经验法则36 完成每个里程碑后进行事后总结,但不要指责

分类:团队-工作流程

完成一个里程碑后,应立刻进行一次事后总结,有一些百问不厌的问题,例如:“当我们认为一切尽在掌握时,究竟为什么还是整整逾期了一倍时间?”好的事后总结并不是严厉的指责,也不需要花费多贵的成本。突出强调做得好的地方是特别有用的。里程碑的事后总结是一种很好的机制,通过它可以形成加固的、制度化的学习过程。

在延误里程碑后,不论以何种方式惩罚人,都会适得其反。如果你促成团队对许多里程碑都做了足够的反省,而且团队成员从他们自己的错误中总结并吸取了经验教训,那么团队最后就会走向成熟,按时达到每个里程碑。

没啥可说的,照做吧!

经验法则41 寻找自然出现的里程碑

  1. 设计趋于稳定
  2. 可交付成果变得“干脆”
  3. 团队认识到真正需要完成的工作量,这通常会发生很多次,而且往往是在进度延迟之后才认识到的。
  4. 设计被删减,或是资源增加,或是进度落后——往往这三者会一起发生。
  5. 开发活动停止。
  6. 产品进入结束调试/定型阶段。

这六个“自然的”里程碑不仅在整个产品开发周期中出现,也会在每个里程碑中出现。项目经理应该重视和长期培养这种行为模式。

虽说作者表示这些阶段是必然会出现的,但我反思我们的做法,往往并没有第4阶段,而是采取死亡行军的方式拼死修正功能。我们的团队由于种种原因,天然有着往里加入过多功能的倾向。我们的程序团队个人能力比较出色因此第3步已经不怎么出现了,但4的问题还有不少。1和2阶段往往也在和3一起出现,这两个阶段应该尽快提前。

这6个过程中具体都要干些什么,我现在还不太清楚,之后需要带着这个意识在研发过程中不断关注,同时之后找机会重读这本书。希望积累更多经验之后重读此书能有醍醐灌顶的感觉。

经验法则42 虽落后,别趴下

分类:团队-个人素质

进度落后没什么,它并不是世界末日。就像头疼脑热一样,它会令人感觉难受,但也正是身体正在进行自我治疗的一个信号。我们不妨从另外一个角度来看落后。进度落后就像是从软件梦境中惊醒一样,你们开始认识到现实。你可以把这种不断的觉醒看做成长的过程。在任何项目中,这种周期性的觉醒通常伴随着进度落后,但很危险,但确实可能发生。以下是在发生进度落后时一些大有帮助的做法。

  1. 记住不能用道德的层面来度量落后。应该卸去所有与进度落后有关的道德上的包袱,并且坚决要求你的团队也采取这种态度。讨论进度落后时东拉西扯企图隐瞒漏洞而突出优点,逃避谴责而追求表扬,这种道德上的倾向是极度危险的,因此必须尽一切可能抑制它。
  2. 不要隐瞒事实。
  3. 利用落后来激发人们的有效行为。由于意识到落后是一种觉醒,因此团队成员会获得新的领悟、信息、观点和先前未想到的可能性。一定要集中你的所有注意力对落后做出最有效的反应。落后就是显示团队灵活性的时候,要充分利用它

1和2我们都做得很不错,我们直男癌风格的办公环境给了我们这方面的优势。但是3做得很差,因为我们已经习惯了每个版本都各种程度上延误,而失去了这种警醒,这是很可怕的事情,因为如果团队对此习以为常,团队就失去了成长的机会,而从个人角度上长期的加班浪费精力从而长远的削弱个人能力。


第一次读书下来觉得值得摘录的就是以上的内容了,我自己回顾了一下,发现大部分都是集中在沟通、团队成长方面的内容,说明我个人比较关心这方面的问题,所以之后会继续看怎么解决这些方面的问题,同时要注意观察其他方面是无懈可击了还是我没看到?我倾向于后者。