游戏设计的敏捷方法学8页
- 格式:doc
- 大小:28.50 KB
- 文档页数:8
敏捷方法培训
摘要:
1.敏捷方法培训的概述
2.敏捷方法培训的好处
3.敏捷方法培训的内容
4.敏捷方法培训的方式
5.敏捷方法培训的实践案例
6.总结
正文:
敏捷方法培训是一种针对敏捷开发方法的培训,旨在帮助开发团队提高工作效率,提升软件开发质量。
在我国,越来越多的企业和软件开发团队开始采用敏捷方法进行项目开发,这也使得敏捷方法培训的需求逐渐增加。
敏捷方法培训具有以下好处:
1.提高团队协作效率
2.缩短项目开发周期
3.提高软件质量
4.提升团队适应变化的能力
敏捷方法培训的内容通常包括:
1.敏捷方法的基本理念和原则
2.敏捷方法的主要流程和实践
3.敏捷方法的工具和技巧
4.敏捷方法在实际项目中的应用和案例分析
敏捷方法培训的方式有多种,如线上课程、线下课程、实战演练等。
线上课程方便学员随时随地进行学习,但互动性较弱;线下课程能够提供更好的互动和学习氛围,但时间和地点相对固定。
实战演练则让学员在实际操作中学习敏捷方法,更能巩固所学内容。
在敏捷方法培训实践中,一些企业和团队已经取得了显著的成果。
例如,通过敏捷方法培训,某软件开发团队的项目开发周期缩短了30%,团队协作效率提高了40%,软件质量也得到了明显提升。
总之,敏捷方法培训对于提升团队开发效率、缩短项目周期、提高软件质量等方面具有重要意义。
幼儿敏捷圈的教案教案标题:幼儿敏捷圈的教案教案目标:1. 帮助幼儿发展身体协调性和敏捷性。
2. 培养幼儿团队合作和社交技能。
3. 提供有趣的学习环境,激发幼儿的学习兴趣。
教案步骤:引入活动:1. 创造一个欢乐的氛围,例如播放快节奏的音乐,让孩子们跟着音乐舞动身体。
2. 向幼儿们介绍今天的活动主题——敏捷圈,并简要解释活动的目标和规则。
活动一:敏捷圈游戏1. 在教室或操场上画出几个不同颜色的圆圈,每个圆圈的直径约为1米。
2. 将幼儿分成小组,每个小组站在一个圆圈内。
3. 通过教师的指令,要求幼儿们按照指定的顺序从一个圆圈跳到另一个圆圈,例如“从红色圆圈跳到蓝色圆圈”。
4. 逐渐增加指令的复杂度和速度,让幼儿们挑战自己的反应能力和敏捷性。
活动二:合作传球1. 将幼儿分成小组,每个小组站在一个圆圈内,圆圈之间的距离适当调整。
2. 给每个小组一只球,要求小组成员在圆圈内传球,目标是尽快将球传到指定的圆圈内。
3. 强调团队合作和沟通,鼓励幼儿们互相帮助和协作,以完成任务。
活动三:敏捷圈比赛1. 将幼儿分成两个或更多的小组,每个小组站在一个圆圈内。
2. 设计一个敏捷圈比赛,例如通过不同颜色的圆圈完成指定的动作,或者在圆圈内进行特定的跳跃动作。
3. 比赛开始后,每个小组尽量快速地完成任务,第一个完成的小组获胜。
4. 鼓励幼儿们积极参与比赛,强调比赛的友好竞争和团队合作。
总结:1. 结束活动后,与幼儿们一起回顾整个敏捷圈活动的过程和收获。
2. 强调幼儿们在活动中展示的身体协调性、敏捷性和团队合作能力。
3. 鼓励幼儿们将这些技能应用到日常生活中,并提供一些简单的练习方法,例如在家中画一个小型的敏捷圈进行练习。
教案评估:1. 观察幼儿在活动中的参与度和表现,包括身体协调性、敏捷性和团队合作能力。
2. 和幼儿进行简短的反馈交流,了解他们对活动的感受和理解程度。
注意事项:1. 活动前确保场地安全,并清除可能导致幼儿摔倒的障碍物。
掌握并应用敏捷开发方法论敏捷开发是一种快速、灵活适应变化的软件开发方法论,它倡导小团队、迭代开发和持续交付。
通过敏捷开发的实践,开发团队可以更好地应对需求的变化,提高软件交付的质量和效率。
本文将介绍敏捷开发的核心理念,以及如何正确地运用敏捷开发方法论来实现项目的成功。
一、敏捷开发的核心理念敏捷开发有四个核心价值观:个体和互动高于流程和工具、可工作软件高于详尽的文档、客户合作高于合同谈判、响应变化高于遵循计划。
这些价值观的核心体现了团队协作、灵活性和持续反馈的重要性。
1. 个体和互动高于流程和工具敏捷开发注重团队成员之间的交流和协作。
团队成员应该积极参与项目开发过程,相互之间保持密切的沟通。
这种个体和互动的方式比严格的流程和工具更能够推动项目的进展。
2. 可工作软件高于详尽的文档敏捷开发鼓励团队尽早交付可工作的软件,以便客户能够快速获得实际的价值。
与传统开发方法不同,敏捷开发更加注重软件的实际功能,而非过多的文档和规范。
3. 客户合作高于合同谈判在敏捷开发中,客户被视为团队的一员,其参与和反馈对项目的成功至关重要。
与客户紧密合作,能够更好地理解客户的需求,并及时调整开发计划以适应需求的变化。
4. 响应变化高于遵循计划敏捷开发鼓励面对需求的变化,并能迅速做出相应的调整。
团队应该具备灵活性和适应性,能够快速响应变化的需求,从而提供更好的解决方案。
二、敏捷开发的实践方法敏捷开发中有几种常用的实践方法,包括Scrum、极限编程(XP)和看板方法。
这些方法都有自己的特点和适用范围,可以根据项目的需求选择合适的方法。
1. ScrumScrum是一种广泛使用的敏捷开发方法,强调团队协作和迭代开发。
Scrum通过迭代的方式进行开发,每个迭代称为一个Sprint,通常为2~4周。
在每个Sprint中,团队根据产品需求制定目标,并在限定的时间内完成这些目标。
Scrum鼓励团队成员密切合作,及时反馈和调整。
2. 极限编程(XP)极限编程是一种注重代码质量和团队合作的敏捷开发方法。
一个成功游戏UI设计的方法作为一个成功的游戏UI设计师,必须经过深思熟虑和有条不紊的过程来创建一个出色的用户界面。
以下是一个成功游戏UI设计的方法:1.定义目标受众:首要任务是明确游戏的目标受众是谁。
不同的游戏可能针对各种不同的玩家群体,如儿童、青少年、成年人等。
了解受众的年龄、性别、技能水平和兴趣爱好等方面的信息,可以帮助确定设计的风格和元素。
2.研究竞争对手:进行对竞争对手游戏的深入研究,了解他们的UI 设计风格和用户体验。
了解竞争对手的成功和失败之处,并将这些洞察力融入自己的设计中,以保持竞争优势。
3.设计信息架构:在创建游戏UI之前,建立一个明确的信息架构是至关重要的。
这可以帮助您规划和组织界面上的各种信息元素,并确保用户可以轻松地找到他们需要的信息。
创建一个层次结构和流程图,以定义不同功能的优先级和关系,并定义导航和菜单系统。
4.强调易用性:游戏UI设计应该注重易用性,以确保用户可以轻松操作游戏。
简化和直观的菜单选项、清晰的图标和可点击的按钮等,都是增强易用性的关键因素。
同时,确保UI的反应速度快,不会有延迟或卡顿现象,以提升用户体验。
5.选择适当的配色方案:游戏的配色方案应该与其题材和玩家期望相一致。
选择适当的颜色可以帮助创造出积极的情绪和吸引力,进而提升用户体验。
了解色彩心理学和不同颜色的意义,可以帮助您选择适合的配色方案。
6.突出重要信息:在游戏中,一些信息可能比其他信息更重要。
通过使用各种视觉元素(如颜色、形状和大小)来突出显示这些信息,可以帮助玩家迅速识别和理解。
例如,使用醒目的颜色或放大字体来强调任务目标或重要提示。
7.考虑UI的渐进式披露:过度的信息和功能会令用户感到困惑和不知所措。
采用渐进式披露的方法,逐步引导用户了解和使用UI的各个部分。
最初只显示必要的信息和功能,然后在用户逐渐熟悉之后,逐渐展示额外的功能和细节。
8.进行用户测试:在正式上线之前,进行用户测试是非常重要的。
敏捷开发:5种主流开发⽅法介绍⽂章较为系统地分享了关于敏捷开发的5种⽅法,希望能够给你带来⼀些帮助。
⼀、极限编程极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的。
极限编程是⼀个轻量级的、灵巧的软件开发⽅法;同时它也是⼀个⾮常严谨和周密的⽅法。
XP是⼀种近螺旋式的开发⽅法,它将复杂的开发过程分解为⼀个个相对⽐较简单的⼩周期;通过积极的交流、反馈以及其它⼀系列的⽅法,开发⼈员和客户可以⾮常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
1.1、XP的核⼼价值XP的核⼼价值观是沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇⽓(Courage)、谦逊(Modesty)。
XP⽤“沟通、简单、反馈、勇⽓和谦逊”来减轻开发压⼒和包袱;⽆论是术语命名、专著叙述内容和⽅式、过程要求,都可以从中感受到轻松愉快和主动奋发的态度和⽓氛。
这是⼀种帮助理解和更容易激发⼈的潜⼒的⼿段。
XP⽤⾃⼰的实践,在⼀定范围内成功地打破了软件⼯程“必须重量”才能成功的传统观念。
XP精神可以启发我们如何学习和对待快速变化、多样的开发技术。
成功学习XP的关键,是⽤“沟通、简单、反馈、勇⽓和谦逊”的态度来对待XP;轻松愉快地来感受XP的实践思想;⾃⼰认真实践后,通过对真实反馈的分析,来决定XP对⾃⼰的价值;有勇⽓接受它,或改进它。
1.2、为什么称为“Extreme”(极限)“Extreme”(极限)是指,对⽐传统的项⽬开发⽅式,XP强调把它列出的每个⽅法和思想做到极限、做到最好;其它所不提倡的,XP则⼀概忽略(如开发前期的整体设计等)。
⼀个严格实施XP的项⽬,其开发过程应该是平稳的、⾼效的和快速的,能够做到⼀周40⼩时⼯作制⽽不拖延项⽬进度。
1.3、XP核⼼实践基于敏捷的核⼼思想和价值⽬标,XP要求项⽬团队遵循13个核⼼实践•团队协作:通过客户、开发团队、项⽬经理三⽅共同参加的会议来确定开发计划。
游戏设计的基本原理与技巧游戏设计是一门技艺,是通过各种设计元素来实现玩家的体验和互动的过程。
在设计游戏时,需要考虑众多因素,涉及到美学、心理学、互动设计等多个领域。
本文将探讨游戏设计的一些基本原理和技巧,帮助游戏设计师提高他们的设计技能。
一、游戏设计的核心原则1. 循序渐进循序渐进是设计游戏时的一个核心原则。
它指的是在整个游戏设计过程中,将游戏任务和目标进行拆分,逐步引导玩家完成任务,同时提供足够的挑战和乐趣。
循序渐进的主要好处是它能够帮助玩家适应游戏,帮助他们更好地了解游戏规则和操作方式。
当玩家逐步进入游戏,渐渐形成对游戏的深入理解和掌握,他们将更加容易完成任务,从而享受到游戏带来的乐趣。
2. 自由度自由度是指玩家可以在游戏中自由选择自己的行动方式。
游戏中应该提供一个开放的环境,让玩家可以按照自己的意愿进行游戏。
自由度可以提高玩家的游戏体验,因为他们可以用自己的方式来探索游戏世界和完成任务。
自由度的好处在于它可以增加游戏的可玩性。
如果游戏太过于限制玩家的行动,玩家就会感到无聊和没有趣味性,从而失去对游戏的兴趣。
开放性的游戏环境可以帮助玩家更好地体验游戏,因为他们可以选择自己感兴趣的任务和方式。
3. 反馈机制游戏中的反馈机制是保持玩家参与的重要因素。
游戏将玩家的行动进行反馈,让他们知道他们的决策和行动将会带来什么影响。
这不仅增加了游戏的趣味性,还能帮助玩家更好地了解游戏规则和操作方式,从而提高他们的玩法技能。
反馈机制的主要好处是它可以让玩家感受到自己在游戏中的进步。
当玩家可以看到自己的成果和影响,他们会感到更加有动力和成就感。
提供反馈机制也可以帮助玩家理解游戏,从而更好地参与到游戏中去。
二、游戏设计的技巧1. 设计吸引人的角色游戏中的角色是游戏体验的关键部分,他们是玩家的代理人,通过玩家与游戏世界进行交互。
为了设计吸引人的角色,游戏设计师需要考虑角色的性格、外貌、行为等方面。
特别是一些受众比较年轻的游戏,角色的可爱和卡通风格往往是重要的元素。
敏捷开发模式的理论和实践方法敏捷开发是一种软件开发的方法论,强调团队合作、迭代开发、快速交付和灵活适应需求变化。
这种开发模式于2001年提出,并由一些软件开发专家组成的敏捷联盟制定了敏捷宣言和原则。
以下将介绍敏捷开发的理论和实践方法。
一、敏捷开发的理论敏捷开发的理论基础是敏捷宣言和原则。
敏捷宣言强调价值优先、快速响应变化、灵活合作和持续交付。
其原则包括个体和互动高于流程和工具、工作软件高于详尽的文档、客户合作优于合同谈判、响应变化优于遵循计划等。
二、敏捷开发的实践方法1. Scrum: Scrum是敏捷开发中最常见的方法之一,强调团队合作、迭代开发和持续交付。
Scrum将开发过程划分为短的时间周期,称为“Sprint”,每个Sprint通常持续2到4周。
Scrum团队由产品负责人、Scrum Master和开发团队组成,通过每天的短会议(Daily Scrum)来跟踪进展并解决问题。
2. K anban: Kanban是一种流程管理方法,通过可视化工作流程和限制在制品数量来优化交付效率。
Kanban面板通常包含待办、进行中和已完成的列,每个列中有限定数量的任务卡。
当一个任务被完成时,新的任务可以加入到待办列中。
3.迭代和增量开发:敏捷开发强调迭代和增量开发的方式。
项目被分成多个短期的迭代周期,在每个迭代周期结束时交付部分功能的增量。
这种方式能够让开发团队更快地获得反馈并响应变化。
4.用户故事:用户故事是一种以用户角色为中心的需求描述。
它描述了用户的需求和期望,以及满足这些需求的功能和价值。
用户故事通常由用户角色、需要和理由组成,用简短的语句来描述,便于团队理解和实现。
5.自动化测试:敏捷开发鼓励团队在开发过程中实施自动化测试,以确保代码的质量和稳定性。
自动化测试可以帮助在每次开发迭代中快速检测问题,并提供更频繁的反馈。
6.值优先和持续交付:敏捷开发强调将高价值的功能先交付给用户,并持续地进行交付。
敏捷圈训练方法以下是 8 条关于敏捷圈训练方法:1. 想要提升敏捷度吗?那你得试试这个神奇的法子!就像学骑自行车,一开始摇摇晃晃,但练着练着就稳了呀。
比如,进行快速变向跑训练,一会儿往左冲,一会儿往右突,感受身体的灵活切换。
这绝对能让你的敏捷蹭蹭往上涨!2. 嘿,敏捷圈训练有个超棒的方法哦!和跳舞似的,有节奏地跳跃躲闪。
可以玩躲避球游戏呀,那球飞过来,你得迅速反应躲过去,这不就锻炼起来了嘛!这可不是一般的好玩和有用呢!3. 咱说说敏捷圈训练的绝招哈!就好比猴子在树林里穿梭,要敏捷得很呐!试试障碍跨越训练吧,摆上各种障碍物,像小跨栏似的,一个一个快速跳过。
哇塞,那感觉超刺激的,肯定能把你的敏捷练得杠杠的!4. 你知道吗?有个超厉害的敏捷圈训练法哟!像特种兵一样,反应超快。
比如做那种瞬间启动的练习,听到口令就像火箭发射似的冲出去。
不信你试试这个,不厉害来找我呀!5. 来了解一下这个超酷的敏捷圈训练方法呀!好比冲浪者在浪尖上舞动,要多敏捷有多敏捷。
进行敏捷梯训练呀,一格一格快速踩过去,感觉自己的脚步都在飞呢,这效果肯定牛啊!6. 哇哦,这里有个超有效的敏捷圈训练哟!和武侠高手过招一样,得迅速敏捷。
不妨试试反应球训练,那球丢过来,你得闪电般接住或躲开。
咋样,是不是迫不及待想去试试啦?7. 要想掌握厉害的敏捷圈训练法?那就像赛车在赛道上飞驰一样!来做折返跑训练呀,快速冲到那头再冲回来,感觉自己都要燃烧起来啦。
能不提升敏捷度吗?肯定能啊!8. 看看这个超棒的敏捷圈训练方法吧!如同猎豹追捕猎物,那速度和敏捷度。
可以多做做高抬腿穿梭练习,在一定空间里迅速抬腿穿梭,哇,真的会让你觉得自己敏捷无比呀!我的观点结论:敏捷圈训练方法多种多样,关键是要找到适合自己的并且坚持训练,肯定会有大收获!。
敏捷开发方法论敏捷开发是一种以实效为导向的软件开发方法论,旨在通过快速、灵活、协作的方式开发高质量的软件产品。
敏捷开发强调团队合作、寻求变化、持续交付和客户参与,以提高开发过程的效率和产品的质量。
本文将介绍敏捷开发的核心原则、基本流程和常用的敏捷开发方法。
敏捷开发的核心原则敏捷开发有一系列核心原则,其中包括:1. 个体和互动高于流程和工具:敏捷开发注重团队成员之间的沟通和协作,认为人与人之间的交流比流程和工具更重要。
2. 可以工作的软件高于详尽的文档:敏捷开发注重快速交付可用的软件,而不是过多地关注文档编写和规范。
3. 客户合作高于合同谈判:敏捷开发鼓励与客户的紧密合作,以适应变化的需求,并及时调整开发方向。
4. 响应变化高于遵循计划:敏捷开发意味着灵活适应变化的需求,而不是顽固地坚持原定计划。
敏捷开发的基本流程敏捷开发的基本流程通常包括以下几个阶段:1. 需求收集和分析:与客户密切合作,明确软件的需求和期望,将其整理成用户故事或需求清单。
2. 任务规划和分配:将需求转化为可执行的任务,并结合团队成员的技能和资源进行任务的规划和分配。
3. 迭代开发:采用短期迭代的方式进行开发,每个迭代周期通常为两到四周。
开发团队根据优先级和复杂度进行任务的分解和安排。
4. 迭代评审和反馈:每个迭代结束时,团队与客户和利益相关者进行评审,收集反馈并作出相应调整。
5. 总结和改进:通过团队内部的总结会议和回顾活动,不断改进开发过程和团队效能。
常用的敏捷开发方法敏捷开发有多种常用的方法和框架,例如:1. Scrum:Scrum是一种流行的敏捷开发框架,强调团队的自组织和高效沟通。
Scrum将开发分解为固定长度的迭代周期,每个迭代周期称为一个“Sprint”。
2. XP(极限编程):XP是一种注重迭代开发、测试驱动和持续集成的敏捷开发方法。
XP侧重于高效的开发实践和代码质量。
3. Kanban:Kanban是一种通过最大化可视化和限制工作流量来管理任务和进度的方法。
敏捷开发方法的概念
敏捷开发方法(Agile Development Methodology)是一种软件
开发方法论,它强调在整个开发过程中保持灵活性和适应性,以便更好地应对需求变化、技术挑战和其他不确定性。
敏捷方法的核心理念是通过跨功能团队的紧密协作、迭代开发和持续反馈来实现项目目标。
这种方法与传统的瀑布式开发模型相比,能够提高开发速度、提升软件质量和增强客户满意度。
敏捷开发方法的核心原则包括:
1. 优先满足客户需求:敏捷方法鼓励通过频繁交付可用的软件
来满足客户需求和提高客户满意度。
2. 欢迎需求变更:敏捷方法认为需求变更是不可避免的,因此
应该在整个开发过程中适应和管理需求变更,从而实现客户价值最大化。
3. 短周期迭代开发:敏捷方法采用短周期的迭代开发方式,每
个迭代周期内团队完成一部分功能的开发、测试和集成,从而保持开发过程的高速度和灵活性。
4. 跨功能团队合作:敏捷方法强调团队成员之间的紧密协作和
自组织能力,以便充分利用团队的智慧和技能实现高效开发。
5. 持续改进:敏捷方法鼓励通过定期的回顾和反馈来不断改进
团队的工作方法和开发效果,以实现持续改进。
6. 以人为本:敏捷方法认为开发过程中的人际交往和协作比严
格的计划和过程更为重要,因此应该关注团队成员的成长、沟通和合
作。
常见的敏捷开发框架和实践包括Scrum、极限编程(XP)、看板(Kanban)等。
这些框架和实践为团队提供了具体的实施方法和工具,以帮助实现敏捷开发的原则和目标。
敏捷开发的方法一、什么是敏捷开发敏捷开发是一种迭代、增量的软件开发方法,强调团队合作、用户反馈和快速响应变化。
与传统的瀑布模型相比,敏捷开发更注重灵活性和适应性,能够更好地适应需求变化和市场变化。
二、敏捷开发的优点1. 更好的适应性:敏捷开发强调快速响应变化,能够更好地适应需求变化和市场变化。
2. 更高的质量:敏捷开发注重团队合作和用户反馈,能够更早地发现和解决问题。
3. 更高的客户满意度:敏捷开发注重用户反馈和持续交付,能够更好地满足客户需求。
4. 更高的生产效率:敏捷开发强调自组织团队和持续集成,能够更快地交付产品。
三、敏捷开发的流程1. 计划阶段:确定项目范围、目标、需求等,并制定项目计划。
2. 分析阶段:分析需求并确定可行性。
3. 设计阶段:设计系统架构和详细设计方案。
4. 实现阶段:编写代码并进行单元测试。
5. 验收阶段:进行集成测试和系统测试,并进行用户验收。
6. 发布阶段:发布产品,并进行维护和更新。
四、敏捷开发的实践1. Scrum:Scrum是一种敏捷开发的框架,强调自组织团队、迭代增量和持续交付。
Scrum包括三个角色(产品负责人、Scrum Master、开发团队)、三个工件(产品待办项清单、Sprint 待办项清单、增量)和五个仪式(Sprint 计划会议、日常站会、Sprint 评审会议、Sprint 回顾会议、产品待办项清单更新)。
2. XP:XP是一种敏捷开发的方法,强调快速反馈和持续改进。
XP包括四个价值观(沟通、简单性、反馈和勇气)、十二个实践(包括测试驱动开发、持续集成等)和五个环节(规划游戏、迭代计划会议等)。
3. Lean:Lean是一种基于精益生产思想的敏捷开发方法,强调减少浪费和提高价值流。
Lean包括七种浪费(超生产、等待、运输、过度加工、库存、运动和修补)、五个价值流步骤(定义价值、价值流映射、创建流程、建立拉式系统和持续改进)和七个原则(精益思想、价值流优化等)。
【转载】游戏设计的敏捷方法学游戏设计的敏捷方法学作者:封烨来源:游戏创造02-23-2019目前,业界弥漫着一股对次世代游戏开发的恐惧空气,GDC上谈,Game Developer杂志也谈。
随着硬件能力的不断提升,开发更高自由度、更逼真的游戏成为业界追求的最新目标,为了实现这一目标,随之而来的一切也都在膨胀:团队人数、美术资源需求、人时投资,当然啦,对投资者的资金需求也随之膨胀了起来。
玩家的胃口越来越大。
他们希望有更先进的技术以支持更好的游戏机制、更细腻的建模、更高分辨率的纹理、更复杂的人工智能、更多的测试以及更好的质量保证,没完没了。
而这种恐惧不仅蔓延了业界,就连媒体和玩家也感觉到了。
游戏网站FiringSquad曾撰文:"游戏发行商和开发商,他们无一例外都在抱怨疯涨的开发费用,其中主要原因是美术团队的人数在呈几何级数增长。
"【注释01】据笔者分析,业界所面临的大量问题,都源于其使用的开发方法学。
目前人数超过100人的团队却仍在使用当年十个人搞定一切的方法学,而这些老的开发方法早就过时了。
传统的游戏开发所使用的方法学,需要在前期花费大量时间,定义功能,还经常需要在前期实现一些重要的元素,如游戏机制和关卡,一直延续到最后的疯狂赶工。
传统的方法学(通常称为瀑布模型)其实与一条生产装配线没有什么区别。
在生产线的前端开始把产品的各个部分拼凑在一起,而生产线的后端就在等待加工打磨,就是这等待的过程产生了问题。
游戏策划和发行商永远都无法获知游戏的真正感觉,比如他们早先制定的游戏机制是否正确,现行的实现是否完全遵循了早先的设计。
类似种种,最终造成了产品质量的下降…有另一种方法学正好可以解决传统游戏开发方法学带来的问题。
在产品研发流程和团队管理方式中,它被恰当地称为"敏捷方法学"。
敏捷开发注重于开发可供演示的游戏版本,并能很快地将其加入到产品中,以及在最重要的游戏元素和特性上按优先级创建垂直分片(vertical slice)。
敏捷也注重团队管理和处理其内部关系,以及团队完成项目目标的计划和周期。
游戏开发团队所面临的挑战可谓五花八门,而且由于职责有别,美术、程序和策划团队还要协同工作。
游戏项目的时间跨度也很长:短则一到两年,长则三年以上,甚至个别游戏需要五年乃至更长时间。
这篇文章讲述了如何运用敏捷方法学和其中的Scrum方法学以应对上述的挑战,它可能特别适合于游戏开发人员,尤其是进行次世代开发的策划。
方法学方法学在大多数游戏设计或游戏开发的书籍中鲜有提及。
他们都假设大部分开发人员都无一例外地使用同一种做法,这种做法常被称为瀑布模型。
在瀑布模型中,工作都按照先后顺序安排,例如从项目需求或设计阶段到生产和实现。
在项目的早期阶段中,几乎没有迭代,这样就很难提供评估的机会。
不仅如此,一旦项目运行起来,要想返工就必定面临着覆水难收的局面。
在瀑布模型的游戏开发中,首先由游戏策划或者策划部成员编写游戏设计文档,其中会定义很多游戏机制和特性。
接下来这份设计文档被分解为小块部分,由制作人拿去丰富其中需求的功能和资产,之后对于功能和资产的需求就被分派到所有项目成员的头上。
接着就开始瀑布模型的流程了,这些需求瀑布式地流向动画、程序、关卡美术、人物美术、测试、特效等人的手上。
一旦某人或者某团队完成了一项特性,就将其交给下一个人或下个团队。
例如一个人物,由开始时的设定文档,到制作人或项目主管的手上,从这里它被细分为多个部分:人物模型和纹理贴图、人物动画、人物被击或者攻击时播放的特效以及驱动人物行为的人工智能技术,然后每个部门专注于各自分到的部分,完成实现直到可以进行组装。
然后,东西回到策划手里做调整,交给测试员进行测试,再让关卡策划在关卡中重现,之后退回各个部门进行除错。
在制作这个人物的同时,其他人或其它团队也在实现他们负责的部分。
同一天中,一个制作人员会同时针对几个不同的机制工作。
这种方法学的实质是一种沉淀作用,需要对大量的游戏机制同时进行加工。
敏捷开发上世纪90年代末,一批新型的软件开发方法学开始显露头角。
它们来自于各种团队的开发实践,从网页小程序到装备到美国国家航天局的应用系统都有。
每种方法学都有自己的注意事项,当然也受到来自各方的褒扬和批评。
虽然它们各有千秋,但其中的大多数方法学都有几点共通的基础。
2019年,在犹他,几位新型方法学的实践先驱们组织了一次峰会,峰会就中心意识形态达成普遍共识,并发表了共同宣言:1、可以工作的软件胜过求全责备的文档。
2、客户合作胜过合同谈判。
3、人和交互胜过过程和工具。
4、随时应对变化胜过刻板遵循计划。
实现高于文档,随时和客户合作,解决问题的能力以及敏捷地应对变化。
敏捷的核心内容很简短,但它喻含了伟大的思想,使得敏捷适用于任意复杂的产品开发系统。
Scrum随着敏捷开发不断的成长,一些不同的方法学开始显山露水。
其中一些是从敏捷中演化而来,另一些则是从某些正在使用但从未有完整定义、或未有应用软件开发实践的系统中得来。
其中一种称为Scrum的方法,这是一种产品研发的手段,源于日本汽车和消费类电子产品制造业。
根据定义,Scrum是一种橄榄球战术,让所有在场的球员都参与球的争夺。
作为一种方法学,同样的参与思想被贯穿于产品开发的原则之中,项目团队被重新组织成若干个小团队,对于特定的项目组件进行紧密合作。
Scrum强调迭代开发,把项目分为若干可供提交的组件,对这些组件可以进行演示、测试和功能评估。
Scrum的一个重要核心是要求团队里的每个人都参与流程。
Scrum把产品细分为若干个较短周期,称为Sprint。
每个Sprint开始时,整个项目团队就制定目标并自愿划分为小团队。
Scrum团队是跨工种的,即美术、策划和程序在一起工作。
虽然每个团队的目标是由项目经理、制作人和发行商制定的,但团队有自主权制定如何实现Sprint的既定目标。
一旦进入了Sprint状态,团队就完全自主地进行日常计划并执行任务。
就像Scrum老手经常提到的,项目无时无刻都在延迟。
有鉴于此,Scrum的一项重要组成部分就是在Sprint过程中,独立的Scrum团队间需要进行每日例会。
会议长短控制在5至10分钟,目的是确认目标可行性,找出前进障碍,并让每天完成的部分通知所有团队成员知晓【注释02】。
这一流程帮助每一个团队成员树立主人翁意识,流程高度透明的设计也培养了团队成员的责任心,用以最终推动生产效率。
团队自主管理中,例行检讨提供了团队把握方向的能力,并让每个人可以以最清晰的形式评价产品:它看上去如何,它表现得如何。
在每个Sprint完成之时,团队通过检讨来演示他们的成果,并让产品管理者或者"客户",如工作室经理和发行商,来评估他们的进度。
然后客户根据评估来确定下一个Sprint周期中的优先级安排。
图01:Scrum的简单图示。
游戏特性被划分为独立的任务,分配给程序、美术和策划,然后他们开始以两周到一个月为周期进行迭代开发,在每日例会中总结自己的任务。
在每个迭代结束时有一个产品检讨,检讨迭代期间所有的工作,然后项目总监和发行商根据此次迭代的结果决定如何在下一个迭代中进行优先级安排。
让团队协同客户进行检讨的目标是为了演示游戏的"垂直分片",也就是游戏的一部分,例如一个单独的关卡或者一个完整可玩的游戏机制,抑或是一个调整过的特性。
虽然不是所有的机制都能在一次迭代中完成,但它的独立部分可以由团队作为垂直分片进行加工。
举例来说,若是一个拥有人工智能的人物难以在一次Sprint中完成,但人物的某一单一行为却可以进行编程,制作动画,加上音效,安放在某一关卡中等等。
最终它还是会成为一个可测试的单元。
遵循这两点,客户就能够确切看到产品中究竟实现到什么程度,它未来的走向以及它的开发速度的快慢等等。
客户就不必猜测,不必盲从,他们能看到的是一个直接的诊断报告,而且经常可以拿起手柄试验一把,而不是只能看到一堆表格或线框模式的画面。
Scrum还能在迭代和迭代之间给予客户灵活度,就像它能给予产品开发团队的那样。
如果创建和评估的游戏未能达到期望值,客户还可以在Sprints之间从容重定项目目标,而且由于Scrum的迭代流程和Sprint的短工作周期,对一个项目进行重定义很少会造成大量工作成果浪费。
瀑布VS.Scrum瀑布开发对游戏策划来说会产生问题,因为在某一对象的所有依赖对象都被创建出来并归入流程之前,它无法被称作真正完成。
例如,策划可能创建一个以AI为中心的关卡,但AI只存在于文档中,以设计文档为参考,策划只能尽最大可能臆测,让资深的策划帮忙评估,然后将这个关卡交给美术去建模。
策划及其主管都知道没人熟悉以人物为中心的关卡,但为了让开发进程继续下去,策划和关卡美术只能假设未来的AI将会拥有预期的行为。
虽然工作继续下去了,但问题也保留下来了。
万一写人物AI代码的程序员发现文档里描述的AI机制根本是不可行的话怎么办?万一AI可行,但动画师发现没法配合这套AI怎么办?万一负责这个的策划后来突然发现这个功能压根不好玩怎么办?如果没法正面回答这些问题,通常意味着舍弃功能、浪费人时、浪费部分项目经费,甚至可能滋生某种心理障碍,例如对项目失去信心。
无论对开发流程产生什么负面影响,把它们归纳起来基本上就是:产品品质的下降。
瀑布产生的另一个大问题,在于部门之间的进度不平均,造成了一种"赶进度和等进度"的现象。
只要工作所需的材料拿到手了,瀑布中的每个人都必须尽可能快地完成工作,然后到工作完成之后,只能等待下一份工作所需的材料。
就像装配生产线上,履带的速度时快时慢,有时甚至完全停滞,有时速度正好,有时却像飞一样快。
开发中如果长期存在不规则的速度会对制作人、财务以及所有相关的人都产生负面影响。
而对策划来说,这种影响是致命的。
对于策划需要不同元素进行整合的工作特性,不一致的开发进度会很大程度上影响他们设计的功能和质量。
举例来说,考虑一个游戏中的恐怖效果,比如玩家遭遇一个异常凶残的boss。
像这样的效果需要恰当的色调,需要策划的测试、评估,需要反复修正,需要完成的美术资源、音效和脚本。
如果上述元素配备不齐,那么策划对恐怖效果本身进行设计以及单独测试无疑是浪费时间。
瀑布总是让策划处于不利的位置。
因为游戏的尺度范围是在项目的开始时制定的,而游戏的可玩性,游戏最重要的动态特性,诸如镜头、操控、AI 等,则是在游戏项目接近尾声时才逐渐成型的。
图02中,我们观察一个示例项目,游戏机制被送交多个部门进行制作,每个部门负责独立的部分。
目标是在几个月后提交完成的产品。
图02:使用瀑布开发的项目,在八个月时的进度。
这是个典型的耗时8个月的项目。
团队开始于预制阶段,并把所有机制和资源所需的工作都逐一写入文档中。