梦想中的游戏 – 下

《梦想中的游戏 – 上》中讲了一大堆关于游戏机制和玩法的内容,这篇文章则主要打算讲一下游戏的主题、角色、文化或者说是IP方面的东西。

从上面这段文字能够看到我是典型的以“玩法vs叙事”的二元论来拆解一个游戏的设计的,这种做法是简单粗暴的,因此我更加推荐以下文章的理论框架:

《详析游戏制作和游戏设计的5个视角》

我多年前在游戏邦上读到了这篇文章,感觉收益匪浅,它使我的视野突破了传统的“玩法vs叙事”的二元论,并且让我意识到了自己的倾向性——即文中所提到的“模拟主义”。对于我来说,“模拟主义”的游戏可以粗略的理解为“玩法vs叙事”的二元论中达到了较高平衡的游戏,并且两个维度不是割裂的,而是能够有机的耦合——即叙事性会影响游戏机制(如《DNF》中的瞎子致盲抗性是100%),反过来也可以用游戏机制来叙事(如RPG中自己的行为会影响NPC对你的好感)。

因此,我个人依然以“模拟主义”这个分类中的种种优秀游戏为标杆,所以这篇文章依然没有脱离“玩法vs叙事”的二元论框架,主要讨论符合我个人审美的文化或者世界观是什么样的,即我想要实现的是什么样的表达。

我最近一直在思考这个问题,如果用一个词来概括我所想表达的世界观的哲学理念,是哪个词呢?最终思考出来的结果就是:

虚无主义

用百度百科的说法就是“认为世界,特别是人类的存在没有意义、目的以及可理解的真相及最本质价值。”

之前我还搞不太清楚虚无主义和犬儒主义的区别,目前的理解是,虚无主义的核心就是“相信世界没有意义”,而犬儒主义的核心是“什么都不相信”。进一步来说,犬儒主义认为“所有的表达都没意义”,而虚无主义则认为“表达什么东西都没有意义本身就是意义”。我对哲学的理解有限,因此在此就不深入展开探讨了,但可以以这个理解来引出我所中意的游戏的剧情。

我讨厌的游戏的剧情是什么呢?《暗黑破坏神3》,这是一个比童话还要幼稚的故事,主角总是会赢,不管所处的环境多么不合理,不管你付出的努力有多么微不足道,你总是能赢,总是能拯救世界,总是能成为英雄。

这太无聊了。

我们总能看到通过各种努力实现自我价值最终成为成功人士的那些新闻或者内容,但这种人只有1%,而我更关注的则是其他的99%——不管怎么努力依然无法成功的那些人,以及压根不想努力的人,他们是什么状态。毕竟这些才是绝大多数。

比如我高中时期有个同学,学习非常刻苦,但特别的笨,很多很简单的题目都答不出来,考试分数很低,老师也很犯愁,而她情商又不高,在同学中处于鄙视链的末端。毕业后没有任何联系了,但我不禁想这样的人后来会活成什么样?她在社会上的地位如何?她内心深处的渴望是什么样的?她周围的圈子又是什么样的?

正所谓——

真朋克,源自生活

朋克作品关注的都是社会底层的人的生活状态,这些人我们很容易把他们划分到“Loser”这个阵营中。

我个人是一个非常在意“Winner”和“Loser”概念的人,并且相信大部分人心中都有变得牛逼的渴望,但为了这个愿意牺牲多少东西就不知道了,而什么都愿意牺牲的人,我称其为“牛逼主义”,即“不牛逼毋宁死”。

这听起来和虚无主义很矛盾,因为牛逼主义听起来是热血的,偏执的,《爆裂鼓手》的,《乔布斯》的。而当牛逼主义遇到了虚无主义,产生出来的是什么呢?可能是周星驰的喜剧,在嬉笑怒骂之下的底色是悲凉,或者说塞万提斯的《堂吉诃德》,在癫狂之下的底色是讽刺。

不论《爆裂鼓手》还是《乔布斯》还是《堂吉诃德》还是周星驰,本质还是悲剧的,是情感基线以下的,是一种类似于“焦油坑”的状态——即人生充满了苦难、不公、无奈,宛如一个焦油坑,多么庞大的巨兽陷入其中也是无法自拔,但在它们的必有一死来临前,依然是在拼命的生活——虽然从更宏观的角度来看,这一切都没有意义。

因此我很喜欢一些题材特别胡逼的游戏,如《坑人》,这种游戏完全颠覆了传统的“好好讲故事”的套路,它们的世界观充满了胡扯,角色充满了戏谑,而这些角色各有各的毛病,如果仔细来观察的话这些角色都在按照自己的方式犯着蠢,而一些疯子可能反而说出了一些真相。

由于自身的原发性的原因产生的悲剧也是很吸引我的故事,尤其是一些有自我毁灭倾向的角色,如金刚狼或者黄药师。

表达“堕落”和“残酷”主题的故事也很吸引我,比如《暗黑破坏神2》和《POE》,这种故事很符合虚无主义所要表达的精神,但其中有关表达信仰的部分,我不是很感冒。但最近《POE》的剧情玩家有点逆天的意味,这很危险,有点滑向《暗黑破坏神3》那种幼稚故事的倾向——虽然NPC的命运依然很残酷,但有些套路化,而玩家的命运总是那么顺利,似乎和环境中的残酷无关。

愤世嫉俗、玩世不恭的角色我也很喜欢,如康斯坦丁。

失败者之神

克苏鲁的世界观着重于刻画人类的无知,以及宇宙的神秘本质,即人类永远完全无法理解宇宙的奥秘,而且这种无知是一种福分,凡是试图去了解的人终将毁灭。这部分虽然是其最为人津津乐道的部分,但我个人对这部分到不是特别感冒,因为这部分有点犬儒。

我喜欢的部分是克苏鲁的世界观表现出来的虚无主义。宇宙中的诸神要么是以人类所无法理解的方式行动,要么是任性妄为,这些神象征了宇宙的混乱本质,人类的命运以及人类个体的命运在其面前显得毫无意义。

那么我们用什么标准来评价这些神是Winner还是Loser呢?从地位来说他们是Winner,但他们幸福吗?我不想探讨“幸福”这个概念是否对他们来说有意义因为这很犬儒,我们不妨假设……如果各种生活中不如意的人获得了宛如克苏鲁诸神中的能力,他们能变得幸福吗?

比如前面说的那个学习特别差的同学,如果他拥有了逢考必过的能力,她会怎么样呢?Loser会翻身成Winner吗?Winner幸福吗?Loser不幸嘛?

最后我终于意识到了,我所要探讨的主题并不是幸福,而是苦难。我们努力的原因是追求幸福,而追求幸福等同于逃避苦难,但宇宙中的苦难却又是永恒的、无法逃避的,并且整个宇宙对于你的苦难漠不关心,在这种前提下表现出的众生百态。

这时候再反思金刚狼,黄药师,康斯坦丁,就明白他们最根本的动人之处了——对苦难不自量力的还手。所谓的英雄,在虚无主义的面前也照样是Loser,就像《一拳超人》中的琦玉老师一样。

也许这就是我想表达的主题。

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

昨天在飞机上基本上算是第一遍读完了《软件研发之道》,这书第一版是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做得很差,因为我们已经习惯了每个版本都各种程度上延误,而失去了这种警醒,这是很可怕的事情,因为如果团队对此习以为常,团队就失去了成长的机会,而从个人角度上长期的加班浪费精力从而长远的削弱个人能力。


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

反思1

今天新开了一个分类目录为“反思”,之后打算把一些反思的内容都写在这里面。

今天要反思的还是自己在和老爹老妈聊天时,没有完全了解一件事情之前就发脾气了,然后发现我所能提出的问题老妈其实也都想过了。而且在此之前也是总在阐述自己的观点,但没考虑老爹和老妈对这件事的目的是否和我想的是一样的。

说白了这还是一种自恋,是认为自己比别人强的心理产生的。而在急脾气的催使下,表达出来的方式强硬,但事后又证明了是错误的。

我自己也意识到自己这两方面的缺点很久了,但怎么改变,一直没有头绪。

希望之后继续改善这方面的错误吧,至少每次都在反思中记录下来,姑且也能算是一种开始。