弹簧钢厂家
免费服务热线

Free service

hotline

010-00000000
弹簧钢厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

【消息】开发者谈如何以实际行动构建高质量游戏

发布时间:2020-12-25 21:39:00 阅读: 来源:弹簧钢厂家

在该文章中我将对我所认为作为构建高质量游戏以及一般软件所应具备的良好基础进行探索。我会讲到很多不同的主题,这些主题的共同点是——我相信它们都为构建高质量游戏的目标做出了贡献。我不会细讲每一个主题,但是适当的时候我会提供补充阅读材料。这不会是一个详尽的清单列表,肯定还有其他一些重要的因素我没有覆盖到,但是从我的角度看来我所提到的那些都是最关键的部分,所以为了重申其重要性我要把这些字眼粗体让它们更清晰:

“我相信下面的内容都是构建高质量游戏的关键基石。”

理解什么是质量

为了构建高质量游戏我们首先不得不先要有对“高质量”的一个确切概念。我认为Gerald Weinberg说得最好了:

“质量就是对一些人来说存在的价值。”

IndieDevDiary1-GameDevelopment(from gamasutra)

如果你要向你的顾客推荐一款游戏,那么这款游戏就应该具备高质量。一款没事就崩溃的软件通常对用户是没有什么高质量可言的,所以我们可以认为这种软件是低质量产品。我们要懂得从对人类价值的方面来考虑产品——只要产品价值高,漏洞多、或者任何其他的指标什么的都没多大关系,反之则相反。一款没有任何漏洞的产品,也可能质量低到无法提供人们以任何价值。

理解什么是复杂性

我们在构建的是复杂性产品,而复杂性问题被定义为:需要根据追溯回忆推理而得出因果关系的问题,所以这里的含义是非常广泛的。一项共产党管理国家的五年计划,这种复杂性可以说是没什么意义的,因为这里的复杂程度让你根本不知道怎么解决这个问题,而这对于一份详尽的研究与开发项目计划来说也是如此。研究与开发是复杂的,任何想要对这些项目进行预先规划的努力都是徒劳的——你只有先观察,然后做出调整去适应:工作开始时,先观察工作成果,然后调整适应新形势。如果你所创的规划概述了一个开发项目的范围,然后你设定了项目完成的日期,这时为了弥补形势改变,你唯一可以修改的变量因素就是质量。

信任与授权

永远也别对复杂的事物进行微观化管理。复杂问题的处理不仅要求对问题能深度了解,而且要有应变能力。一名管理者如果跟每天的工作脱节,那他既无法了解工作内容,也无法做出解决复杂问题的正确决策。管理需要建立应有的信任,然后让专家来解决问题,而这就需要授权让他们去做出调整来应对随时变化的情势。如果你想要构建一个高质量复杂性产品,你就要说明你需要解决的问题,而不是告诉专家怎么解决这些问题,因为没有人能提前知道问题是什么样的。

所有权

但是为了建立信任,开发团队要拥有产品的所有权。也就是说你所为之工作的产品,其价值归你所有。因此你也就有责任要交付其价值,你需要担负起产品的所有责任。无论你的角色作用是什么,或者你有什么样的能力——只要你看到什么是有损产品价值的,那你就有责任去处理它。

多功能且真诚的团队

为了创建这种基于信任的所有权文化,你可能需要成立一支相对久远、多功能型、真诚的团队。对于一支有能力拥有问题或产品的团队来说,他们得要有所需的完整技能组来解决这些问题或开发这件产品。一旦你开始在团队之间划分工作,并且在团队之间有太多的依赖关系,你就会破坏产品所有权并造成瓶颈。因为这会让成员有一种事情出错不是自己的问题,是别的团队成员的问题,造成团队成员之间责任的推卸。所以你还要建立一支高效的团队,他们要能够交付高价值产品,当然这需要时间。如果你经常性地在团队之间把人员像资源一样调动,这样很难建设一种基于信任的产品所有权文化,并且团队将很难发挥出他们真正的潜能。

Monument Valley(from gamesindustry.biz)

信息多样化

信息多样性在团队中是很重要的,比如说,你会需要不同的产品背景、整套技能组、丰富经验以及对问题的看法。调查发现,信息多样化可以激发大家对手头上的任务的建设性冲突与辩论。也就是说,人们进行的是对最佳化行动的思考——这就是解决复杂性问题和提高高价值产品的关键。

重视团队能力,忘记自己的角色

当你凑齐了一支多功能型的队伍时,你要思考的是解决复杂问题需要哪些能力,而不是你要扮演什么样的角色。你扮演的角色并不重要,解决问题才是重点。团队的每个人都应该尽自己所能地去解决问题。无论是谁,只要有能力就应该去做为了达到目标必要做的事,而不应该工作角色描述里的人为概念所局限。有一些任务也许需要编程专家来完成,然而有一些则只需要基本的编程技巧就好。第二种任务就可以由那些平常不怎么写代码的人来完成。总之就是说如果你有解决问题的能力,你就应该去解决这些问题。所以说团队的每一个成员都是产品的一个开发者,有些编程很厉害,而有些则在产品测试、美工、UI、UX、设计等方面很厉害——但每个人都应该努力去让自己具备各个领域的基本技能。

反馈和社会契约

为了能有一个功能性较高的团队,那不仅需要股东们适当的产品反馈,还需要在团队内部的反馈演示。股东们应该要参与到生产的过程中来,这是非常有价值的一件事,还有团队需要能持续地重新审视他们的工作原理以及对形势变化的应变方式。

所以需要签订一份社会契约。每个成员都需要知道所有的反馈都是为了以可能性最大的方式去开发出最有价值产品。要去帮助人们成长和发展,而不要去评判表现、批评或袒护权利。

合理的测试外包

总有某些能力或者设备是团队没能具备的。比如本地化测试就是个很好的例子。测试会很繁琐,昂贵的设备也是另一个因素。不同类型的认证测试会需要外部方的加入。总的来说你需要找到方法让测试尽可能地在团队内而完成,并能够对何时应该将测试外包给公司其他部门或者第三方做出明智的决策。

为什么不把所有的测试都外包给别人,让团队专注于开发呢?这里有很多原因,但是最重要的是这个:所有权(归属感)。团队存在问题,就要解决问题,如果你把所有的测试都外包了从某种意义上来说你不经意地把这个产品的所有权也转移了。

但是还有非常多的原因:反馈循环和交流问题;以详尽的程序测试、不必要的漏洞报告以及额外的需求规格说明所这些形式所产生的浪费;更长的周转时间等等。

探索性测试

昆明治疗皮炎医院

长沙中科白癜风专科医院好不好

中医治疗节段型白癜风的医院

相关阅读