精华内容
下载资源
问答
  • 软件完整的开发流程介绍

    万次阅读 多人点赞 2018-03-29 19:11:28
    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的个项目来说吧,写的不好的,请多多见谅...

    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。

    开发流程百度的解释是:


    不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念...但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是些什么玩意).


    进入正题

    我们分公司性质来说一个软件的开发流程,

    软件公司和非软件公司

    非软件公司

    需求分析-概要设计-程序编码-程序测试-软件交付-客户验收-码农维护

    软件公司

    需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护

    我们一步一步的说:

    需求分析

    一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计

    概要设计

    这个功能主要是干嘛的呢?很多的公司觉得没必要,其实是很有必要的,这个就是相当于先规划一下怎么平安度过怀孕期,对于软件来说就是软件的处理逻辑,大概的一个流程是怎么走的,大概需要哪些模块,怎么运行,需要大概多少接口,后期怎么维护等问题,做这些干呢吗?为了下一步-详细设计

    详细设计

    有人说,详细设计是很麻烦的一步,其实不是很麻烦的一步,我觉得是最难的一步,详细设计主要是用来确认细节的,接口的名字啊,控制器的名字啊,多少个控制器,谁来调用谁,这个不可以有错,因为后期码农是需要看这个开发的,你怎么起名字,他们就怎么写,所以这里出错也就意味着编码的时候也会错,最后会有一份详细设计书出现,这个就是告诉孕妇具体吃什么,怎么吃,多少量。

    码农编码

    很多人觉得这个就是搬砖,看着设计书就直接写就可以了,理论是这样的,但是为什么还有很多的bug出现呢?很大一部分原因并不是设计的原因(当然也有可能),很大原因是不规范造成的,还有就是是不是一个项目组的人可以协作处理代码,怎么做可可以提高编码的效率,这些问题都是在编码的时候出现的问题。这个是相当于孕妇实施那一套套餐的时候具体是不是按规范来吃的。

    程序测试

    这一步是里面很重要的一步,测试,我们不可能说写好直接就给用户用了,这个是不现实的,我们需要做的是先给测试部门进行系统的测试,当然这个测试不是按照用户的想法来的,他们会很暴力,举个栗子,一个按钮,正常的用户使用的时候会直接点击一次,看到效果就可以了,但是测试的时候不是,他们会疯狂的点击,知道他们觉得这个世界上不会有人比他们暴力的时候他们会停止,当然这是一个好的测试人员,很多的测试不会是这样的,他们觉得正常使用没问题就是没事的,其实一个软件好不好,很大一部分在于测试人员的测试力度。最后写一份测试报告就可以了。

    软件交付

    测试结束以后没有任何的问题的话,就可以写安装手册了,这个其实就是用户使用指南。

    客户验收

    交付后客户简单的测试以后觉得是和自己想的一样的,就收货,交钱.

    码农维护

    是不是验收以后就没事了呢?当然不是,一个软件很多时候是在用一段时间以后才会出问题的,所以会一直需要人来维护他们,当然不是说只是出问题才会维护的,主要的原因是软件会根据不同的需要更改功能,这样的过程也是维护的过程,QQ已经更新多少代了,是不是,这也是一个维护的过程。

    项目重构

    这个是一个项目如果出现了新的技术,功能没有改变的时候,为了用户体验,例如之前是SSH写的,但是运行的速度很低,用SpringBoot,大家都在用,用户反映很好,那么这个时候就需要项目重构了,用新的技术将之前的功能重新实现。

    基本那就是这些了,另外细心的人也看到了非软件公司是没有详细设计的,这个解释一下,为什么呢?很简单,其实详细设计是和耗费时间的,非软件公司的人不会花费这个时间在设计上,他们就是直接告诉你需求,码农只需要直接编码就可以了,一般这样的对你用什么技术,什么框架是没有要求的。




    展开全文
  • 个完整的软件项目开发流程

    万次阅读 2018-06-02 15:34:50
    苏州免费报名:http://www.hdb.com/party/b8an2.html?hdb_pos=manager_info在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道软件是怎么开发出来的。直面客户,扛着压力,...

    https://blog.csdn.net/s_king_/article/details/78612905


    《IT项目管理与职业生涯规划大型论坛》中国.苏州

    免费报名:http://www.hdb.com/party/b8an2.html?hdb_pos=manager_info

    在我转产品之前,虽然我混迹IT行业,做过实施和售前,也跟研发打过交道,但我一直都不知道一个软件是怎么开发出来的。直面客户,扛着压力,在对程序一无所知的情况下,很容易产生一些想法:为什么产品的结果是这样?为什么产品开发的速度不能再快一点?为什么程序员经常加班?他们都在忙些什么?测试是不是就是每天忙着点点程序看会不会报错?

    所以本文面向的对象是,适合和我当初一样对软件开发一无所知的IT从业者(或者有兴趣者),另外也欢迎我的程序员小伙伴和测试小伙伴,因为你们也懂这个过程,所以我们可以作更多探讨,这个过程中我们可能会发现大家对同一件事的理解并不一致,也许经过碰撞,我们能共创智慧的果实。

    一、开发流程图

    为使流程更清晰,本图省略了各环节的评审,如有更好的表现形式,欢迎提出建议。

    二、过程产物及要求

    本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。

    项目启动阶段

    产物名称成果描述负责人

    调研文档了解项目背景,了解项目干系人目标方向产品经理

    团队组建确认团队人员及配置产品总监

    业务梳理明确项目的目标、角色、各端口及模块产品经理

    需求阶段

    产品原型产品的线框图产品经理

    需求概要基于线框图,作技术评估,达成业务理解的一致性研发工程师

    项目里程碑确认项目重大时间节点研发项目 经理

    项目开发计划梳理各阶段、各端口的开发计划研发项目经理

    项目任务分解表将计划分配到团队研发项目经理

    设计阶段

    界面效果图及标注基于线框图,作效果图,须适量考虑交互内容UI设计师

    UI设计规范在UI界面基础上,输出主要界面的设计规范UI设计师

    需求规格基于效果图,明确业务实现细节,消除对最终成果理解的不一致研发工程师

    概要设计功能实现的可视化,有助于理清思路,减少技术盲区和低级缺陷,实现并行开发,提高效率研发工程师

    通讯协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定研发工程师

    表结构设计确认要建的数据库表及其表结构研发工程师

    开发阶段

    产品代码代码

    测试阶段

    测试用例明确测试方案,包括测试模块、步骤、预期测试工程师

    测试结果报告输出测试结果测试工程师

    用户手册系统操作手册测试工程师

    常规文档

    项目周报每周开发内容及下周开发计划研发项目经理

    测试周报每周测试内容及下周测试计划测试工程师

    评审会议纪要评审的过程文档整体团队

    三、过程说明

    项目启动

    产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。

    公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。

    明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。

    产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。

    产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。

    需求阶段

    进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。

    产品经理面向整个团队,进行需求的讲解。

    研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。

    研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。

    设计阶段

    UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。

    研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。

    研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。

    开发阶段

    研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。

    编码过程一般还需进行服务端和移动端的联调等。

    完成编码后需要进行功能评审。

    测试阶段

    测试工程师按阶段设计《测试实例》,未通过的流程测试提交至Jira,分配给相应的开发人员调整。

    研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。

    测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。

    测试工程师编写系统各端口的《操作手册》、维护手册等。

    系统上线

    与客户或者上级达成一致后,系统进行试运行,稳定后上线。

    最后,以上内容仅限于我所在公司,不代表绝对专业意见,不知道其他行业的IT小伙伴和我们是否一样呢,欢迎与我交流

    本文转自:人生如轻尘栖弱草

    以上内容为原创,转载请标明来源,谢谢。

    展开全文
  • Scrum ...   ...敏捷软件开发模型--SCRUM...Scrum是种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和

    Scrum

    求助编辑百科名片:http://baike.baidu.com/view/1528674.htm


    敏捷软件开发模型--SCRUM


    Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。

    编辑本段简介

      Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。
      虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.

    编辑本段Scrum创始人简介

    Jeff Sutherland

      Jeff Sutherland的第一份工作居然是美国空军战斗机飞行员,还曾于1967年获得了“壮志凌云”称号,完成过100次飞越北部越南的作战任务。服役后期,他到斯坦福大学拿下统计学硕士学位,并在美国空军学院教授数学统计
      Jeff Sutherland

    Jeff Sutherland

    学和概率学。11年军旅生涯结束后,他成为了科罗拉多医学院的教师并获得了博士学位。在诺贝尔化学奖得主莱纳斯·鲍林的赞助下,他以放射学、生物学及预防医学助理教授的身份参与了维生素与癌症研究中心的创立,担任八年国家癌症中心的主要研究员,负责科罗拉多地区所有癌症患者的数据统计和IT方案与研究,整合了国家注册、临床试验、流行病学研究和癌变的超级计算机数学模型。1983年,他进入了一家遍及北美、经营着150家银行的公司,职务为先进系统副总裁及ATM业务部总经理。此后,Sutherland先后担任了11家软件公司的CEO、CTO或者工程副总裁,积累了丰富的软件开发经验。[1]

    Ken Schwaber

      Ken Schwaber最初的职业也很特别——商船经理。在随后40多年开发生涯的前10年中,他曾经编写过操作系统,搞过嵌入式,为IBM大型机开发系统软件;先后在芝加哥大学、伊利诺伊理工学院、王安公司实验室工作,
      Ken Schwaber

    Ken Schwaber

    并逐渐展现出在软件开发方法上的天赋。在CASE工具和结构化方法热门的时候,他自己创办了ADM公司,从事软件开发方法培训服务。期间,公司开发了软件方法自动化工具MATE,用来生成各种软件流程所需的模板、计划等,生意很好。[2]

    合作经历

      Sutherland和Schwaber相识于1980年代早期。1987年,两人开始合作。一天,Sutherland问Schwaber:“你们开发MATE工具都用了现在流行的哪一种方法?”“当然什么都没用,”Schwaber回答,“要不然公司早就完蛋了。”他们意识到问题的严重性,开始与开发者交谈,研究新方法。
      1993年,Sutherland读到了两位日本管理教授竹内弘高和野中郁次郎介绍制造业里出现的新的产品开发方法Rugby(橄榄球)的文章。这种方法的特点是整个流程都由一个高性能、跨功能的团队执行到底。他受到启发,结合自己多年的经验,与Easel公司的John Scumniotales和Jeff McKenna一起开发了一套方法,取名为Scrum(来源于橄榄球术语,不是缩写)。
      而Schwaber则从杜邦公司一位化工过程控制专家那里取经,意识到项目分为两种:确定性项目,一切都已经确定,可以自动化生产流程;实验性项目,充满不确定性,哪怕一点微小的变化也会牵一发而动全身,因此只能用各种仪表不断监控,随时做出调整——这就是每日站会的由来。
      两人在一个IBM项目合作,并做了更详尽的研究,Scrum诞生了。1995年OOPSLA大会上他们第一次向世人介绍了Scrum。可当时,两个人的公司都还在做千年虫和各种重型开发方法咨询方面的业务呢。
      进入新世纪,互联网带来的巨变使敏捷方法受到了更多开发团队的青睐,而其中Scrum以其扩展性、门槛低、名字和术语更容易被项目经理接受等因素,逐渐成为最受欢迎的敏捷流派。而推出CSM等系列认证,虽然争议颇大,但客观上对Scrum扩大影响力起到了重要作用。
      今天,Scrum的影响已经远远超出软件开发,成为零售、军事、风险投资甚至学校里完成各种任务的创新方法,正在改变着世界。

    编辑本段历史

      1986年,竹内弘高和 野中郁次郎阐述了一种新的整体性的方法 ,该方法能够提高商业新产品开发的速度和灵活性:他们将这种新的'整体性方法橄榄球相比较,前者各阶段相互重叠,并且由一个跨职能团队在不同的阶段完成整个过程,而后者整个团队"tries to go to the distance as a unit, passing the ball back and forth"。他们对来自汽车,照片机器,计算机和打印机等产业的案例进行了研究。1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》一书中将这种方法称为 Scrum,在竹内弘高和 野中郁次郎的文章中提到的橄榄球术语。1990年代初,肯·施瓦伯在其公司使用了一种方法Advanced Development Methods(先进开发方法),这种方法后来发展为Scrum。同时,杰夫·萨瑟兰在Easel公司开发了一种类似的方法,并首次称之为Scrum。1995年,在奥斯汀举办的OOPSLA '95上,萨瑟兰和施瓦伯联合发表了论文首次提出了Scrum概念。施瓦伯和萨瑟兰在接下的几年里合作,将上述的文章,他们的经验,以及业界的最佳实践融合起来,形成我们现在所知的Scrum。2001年,施瓦伯与 麦克·比窦(Mike Beedle)合著了《敏捷软件开发-使用Scrum过程》一书,介绍了Scrum方法。

    编辑本段Scrum的特性

      Scrum过程


      Scrum是一个包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。
      在每一次冲刺(一个15到30 天周期 ,长度由开发团队决定),开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的特性来自产品订单(product backlog), 产品订单是按照优先级排列的要完成的工作的概要的需求。哪些订单项会被加入一次冲刺由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。 在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。
      管理Scrum过程有很多实施方法,从白板上的即时贴到软件包。Scrum最大的好处是它非常容易学习,而且应用Scrum不需要太多的投入。

    编辑本段Scrum中的角色

      Scrum定义了许多角色,根据猪和鸡的笑话分为两组,
      一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆卖什么呢?”,鸡想了想说“餐馆卖火腿和鸡蛋怎么样?”,“我不这么认为”,猪说,“我全身投入,而你只是参与而已”

    "猪"角色

       是全身投入项目和Scrum过程的人; they are the ones with "their bacon on the line."
      产品负责人代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。产品负责人编写 用户故事,排出优先级,并放入产品订单。Scrum主管(或促进者)Scrum主管促进 Scrum过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(由于他们是自我组织的),而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。开发团队负责交付产品的团队。由5至9名具有跨职能技能的人(设计者,开发者等)组成的小团队完成实际的开发工作。。

    "鸡"角色

      鸡角色并不是实际Scrum过程的一部分,但是必须考虑他们。 敏捷 方法的一个重要方面是使得用户和利益相关者参与到过程中的时间。参与每一个冲刺的评审和计划,并提供反馈对于这些人来说是非常重要的。
      用户软件是为了某些人而创建!就像“假如森林里有一棵树倒下了,但没有人听到,那么它算发出了声音吗”,“假如软件没有被使用,那么它算是被开发出来了么?”利益所有者(客户,提供商)影响项目成功的人,但只直接参与冲刺评审过程。经理为产品开发团体架起环境的那个人。

    编辑本段Scrum会议

      在冲刺中,每一天都会举行项目状况会议,被称为“scrum”或“每日站立会议”。每日站立会议有一些具体的指导原则:
      会议准时开始。对于迟到者团队常常会制定惩罚措施(例如罚款,做俯卧撑,在脖子上挂橡胶鸡玩具)欢迎所有人参加,但只有"猪"可以发言。不论团队规模大小,会议被限制在15分钟。所有出席者都应站立。(有助于保持会议简短)会议应在固定地点和每天的同一时间举行。在会议上,每个团队成员需要回答三个问题:
      今天你完成了哪些工作?明天你打算做什么?完成你的目标是否存在什么障碍?(Scrum主管需要记下这些障碍)
      每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。
      Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。
      Scrum的一个关键原则是承认客户可以在项目过程中改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样,Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。

    编辑本段文档

    产品订单

      产品订单(product backlog)是整个项目的概要文档。产品订单包括所有所需特性的粗略的描述。产品订单是关于将要创建的什么产品。产品订单是开放的,每个人都可以编辑。产品订单包括粗略的估算,通常以天为单位。估算将帮助产品负责人衡量时间表和优先级(例如,如果"增加拼写检查"特性的估计需要花3天或3个月,将影响产品负责人对该特性的渴望).

    冲刺订单

      冲刺订单(sprint backlog)是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。

    燃尽图

      燃尽图(burn down chart)是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目。不要把燃尽图与挣值图相混淆。燃尽图可以使'冲刺(sprint)'平稳的覆盖大部分的迭代周期,且使项目仍然在计划周期内。

    编辑本段自适应的项目管理

      以下是一些Scrum的通用实践:
      客户成为开发团队中的一部分。(例如客户肯定对开发的结果真正感兴趣。)和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。频繁的风险和缓解计划是由开发团队自己制定。– 在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。计划和模块开发的透明 – 让每一个人知道谁负责什么,以及什么时候完成。频繁的利益所有人会议,以跟踪项目进展 – 平衡的(发布,客户,员工,过程)仪表板更新 – 利益所有者更新 – 你必须拥有预警机制,例如提前了解可能的延迟或偏差。没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。在工作场所和工作时间内必须全身心投入。– 完成更多的工作并不意味着需要工作更长时间。

    编辑本段Scrum术语

      下面是Scrum用到的术语:

    角色

      产品负责人 Product Owner: 负责维护产品订单的人,代表利益相关者的利益。
      Scrum主管 Scrum Master: 为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。一般不翻译。
      开发团队 Team: 由负责自我管理开发产品的人组成的跨职能团队。

    工件

      产品订单 Product Backlog:按照优先级排序的高层需求。
      冲刺订单 Sprint Backlog:要在冲刺中完成的任务的清单。
      冲刺燃尽图 Burndown Chart:在冲刺长度上显示所有剩余工作时间逐日递减的图,因整体上总是递减而得名。

    活动

      计划会 Sprint Planning Meeting:在每个冲刺之初,由产品负责人讲解需求,并由开发团队进行估算的计划会议。
      每日立会 Daily Standup Meeting:团队每天进行沟通的内部短会,因一般只有15分钟且站立进行而得名。
      评审会 Review Meeting:在冲刺结束前给产品负责人演示并接受评价的会议。
      反思会/回顾会 Retrospective Meeting:在冲刺结束后召开的关于自我持续改进的会议。

    其他

      冲刺 Sprint: 一个时间周期(通常在2周到1个月之间),开发团队会在此期间内完成所承诺的一组订单项的开发。

    编辑本段Scrum其他领域的应用

      虽然Scrum最初只应用于软件开发,它也可以被成功地应用于其他产业。现在Scrum通常被认为是一种用于开发任何产品或管理人和工作的迭代式的,增量的过程。

    Scrum用于产品开发

      将Scrum应用于产品开发是在《"T新新产品开发游戏"》(哈佛商业评论 86116:137-146, 1986年)第一次提出,之后野中郁次郎和竹内弘高合著的《"创造知识的企业"》(牛津大学出版社,1995年)进行了详细的阐述。今天Scrum被用于开发金融产品,互联网产品,以及医药产品。

    Scrum营销项目管理方法

      由于市场营销通常以项目的方式运作,许多一般项目管理的原则应用在市场营销上。市场营销也可以像项目管理技术那样进行优化。 以Scrum方法进行市场营销被认为有助于克服市场营销经理们所遇到的问题。短时和固定的会议对于小的市场营销团队来说很重要,这是因为团队的每一个成员都可以了解其他人在做些什么,以及整个团队在朝着什么方向前进。Scrum在市场营销中应用可以:
      在早期发现可能的问题,可以更快地,最小损失地应对问题。 根据Scrum的主要原则 “没有问题被扫入地毯下”,Scrum鼓励每一个团队成员描述他所遇到的困难,而这个困难可能会对整个团队的工作造成影响。降低财务风险。 在每一个冲刺周期的开始,企业所有者可以不付出任何代价的改变任何市场营销的因素:包括增加投资以夸大顾客数量,减少投资直至未知风险被减轻,或用于支持其他活动。使得市场营销计划更灵活。采用冲刺的短期市场营销计划可以更加有效。如果一种促销方法在冲刺过程中显示无效,市场营销经理有机会将其换成另一种促销方法。向每一个团队成员说明每一个小的,但重要的任务的交付时间也变得更容易。使得客户以不同的方式参与。

    基于Scrum的项目管理软件

      禅道项目管理软件,也称ZenTaoPMS,是为了解决众多企业在管理过程中出现的混乱,无序的现象,开发出来的一套项目管理软件。它集产品管理、项目管理、测试管理于一身,同时包含事务管理、组织管理等诸多功能,是中小型企业项目管理的最佳选择!
      ZenTaoPMS基于国际流行的敏捷项目管理方式——Scrum,同时也融合了PMP中的很多概念,完美地体现了Scrum中迭代开发的精髓,很好地融合了燃尽图的概念。ZenTaoPMS基于LGPL协议,企业或者个人都可以免费获取禅道项目管理软件的源代码并安装使用,并可以结合自己的实际需要进行修改。禅道在遵循SCRUM管理方式基础上,又融入了国内研发现状的很多需求,比如bug管理,测试用例管理,发布管理,文档管理等。因此禅道不仅仅是一款scrum敏捷项目管理工具,更是一款完备的项目管理软件。基于scrum,又不局限于scrum。


    展开全文
  • 一个游戏是如何被设计和开发出来的 窦月汐 游戏设计师,游戏理论,全能开发者 ​关注他 1,804 人赞了该文章 本专栏是着重于讨论“开发一款游戏需要怎样的能力”,以及“如何学习开发游戏所需的所有技能”。...

    一个游戏是如何被设计和开发出来的

    一个游戏是如何被设计和开发出来的

    窦月汐

    窦月汐

    游戏设计师,游戏理论,全能开发者

    ​关注他

    1,804 人赞了该文章

    本专栏是着重于讨论“开发一款游戏需要怎样的能力”,以及“如何学习开发游戏所需的所有技能”。欢迎来到知乎专栏《自学游戏开发》的第二篇文章。在开始讨论我们的两个主题之前,我认为非常有必要让初学者了解一下:一个游戏是如何被设计和开发完成的。

    温馨提示:本文共28900字,包括50张配图,40段视频,建议先收藏再阅读。为了保证阅读体验,建议在桌面浏览器环境下阅读。

     

    我在知乎回答“想要自己做一款游戏,需要学习哪些知识”下面简单列举了四个能力,分别是:程序、设计、美术、音乐。但是碍于篇幅限制,我并没有详细展开来说明每一项能力具体是如何发挥作用,以及发挥作用的形式和功效。如果在学习之前,我们对即将学习的东西一无所知的话,会导致学习中产生不小的迷茫感:不知道为何而学,不知道学了有什么作用,不知道该学习到什么程度。带着这样的迷茫去学习,会导致学习效率低下,容易受挫,甚至会在达到一定程度后动摇自己理想,怀疑自己的学习能力是否有问题。作为以“引导自学游戏开发”为使命的一个专栏,我认为非常有必要解除初学者对于游戏开发的朦胧认识。这也是自学游戏开发专栏第二篇文章的意义之所在,让初学者了解:

    • 一个常规的游戏开发团队有哪些人,每个人具备怎样的能力
    • 一个游戏从最初构想到最终完成开发,会经过一个怎样的过程
    • 团队中的每个人在游戏开发过程中的什么时间,发挥了怎样的作用

     

    在了解完以上三个问题以后,我们会对自己的情况做一个判断,根据自己的情况,再对未来的方向做一个规划。比如说,你是一个喜欢画画的人,想从事游戏相关的美术工作,那么你就应该知道不同的美术工作在游戏开发流程的哪一步需要画什么样的东西 做什么样的美术资源,设计师和技术人员拿到你做的美术资源又会加以怎样的修改和使用,你在后面的学习中应该着重练习哪方面的技术和能力;再比如说,你想成为像我一样技能覆盖面比较广,各个方面都知道一点的开发者,那么你应该如何去组织你的技能,在众多的技能中考虑到你的性格和你的特长,你更喜欢亲自做哪一项工作内容,应该选取哪个作为核心能力,如果今后不做独立开发而是进游戏公司工作,你会站在哪个位置工作?在阅读完本篇的正文后,你会开始思考这些问题,并尽快找到一个大致的答案。

    预先了解我们即将从事的工作,预先概览我们即将学习的知识,这件事对于引导我们前进有重大的意义。为了完成这个环节,我从第一篇文章发布后到现在一直都在筹备此事(边看春晚边做配图)。要让任何一个从没接触过游戏开发的人,在一篇文章的篇幅内了解整个游戏开发的全过程,这件事情真的是非常难。我认为真正要做好这件事情,需要一个纪录片的工作量。要完整地记录下一个游戏从设计师的头脑中 转换到电脑中的过程,然后展现给别人。我本人的搜索能力有限,到目前为止并没有找到一个非常理想的此类纪录片,但是在知乎问题 “有哪些介绍游戏开发过程的纪录片或视频?” 下面,

    @windleavez

     的回答中有非常多零零散散的相关纪录片(在此也感谢他为这些视频做的字幕)。在后文中,我会适当地引用其中一些视频片段以及YouTube上的相关视频来辅助讲解。下面正文开始。

    一、游戏开发团队的人员配置

    一个常规的游戏开发团队有哪些人?我们先过目几张图:

    下图是一个国内很常规的 MMORPG开发&运营 人员配置图。

     

    ↓是几个国外游戏开发团队的人员配置图。

     

     

     

     

    大家把每个头衔看一遍就行了,不用去记忆。从名字当中,或许大家都能猜到某些岗位是干什么的,有些猜不到也没关系,我正要去一一讲解。为了方便阐述,我自己做了一张人员配置图,融合了以上的实战配置和我自己对于游戏开发的理解。(注:为了方便查看,建议另存到本地)下图:

     

    阅读指南:

    • 矩形代表“岗位”、平行四边形代表“工作内容”。
    • 红色:代表设计能力;蓝色:代表计算机编程能力;绿色:代表美术能力;
    • 颜色明度:代表专业性要求;颜色灰度:代表综合能力要求。(非严格遵循)

     

    因为我非常反感国内把Game Designer叫作“游戏策划”的翻译,还有一些其他岗位翻译不准确或是在中文语境中遭到了贬低,所以这张表我特地全部使用了英文名词。每个名词旁边有小小的中文注解,放大到100%即可看清。

    首先一个标配游戏团队中有三大Director:Creative Director(创意总监)、Technical Director(技术总监)、Art Director(艺术总监)。说土鳖点就是:主策、主程、主美。很多新人以为Creative Director(主策划)就是游戏团队中最大的BOSS,可以拍板说话。但其实三大Director上面还有Producer,在公司里Producer上面还有CEO,CEO上面还有Board of Directors。

    在国外的话,Creative Director享有更高的权利,他来决定游戏往哪个方向设计和制作,对于设计上的分歧进行最终决断。Technical Director决定采用的技术方案,制定游戏特需的功能和系统,保证技术组的步调一致。Art Director负责领导制作游戏所需的美术资源,保证游戏画面的美观性和统一性。 Producer更多的是提供三大Director需要的资源和帮助,并保证游戏项目的正常推进和最终发售。当然了,有的制作人本身也担任创意总监的职责,比如说小岛秀夫、席德梅尔。

    (讲个段子)在国内的话,基本情况就是一层压一层,逐级给压力。最上面的投资人想赚快钱,给CEO压力,要求其多长时间内实现多少盈利;CEO把压力分担给制作人,要求其多长时间内必须完工,上线后的ARPPU最好要达到多少;制作人菊花一紧,从身体下面拿出棒子去敲主策的头:“上头要求又提高了,你这个武器合成的系统,把坑给我开到要玩家花20W人民币才能填满。” 主策老王顶着一头包跟跑腿刚回来的执行策划小王说:“你去把升级武器用的所有材料的价格乘个2。” “好。”小王把软中华和剩下的35块钱放到主策桌上,然后跑到主程电脑椅旁蹲下扒着他肩膀:“张哥,上次拜托你们优先查的那个武器合成系统的BUG怎么样了,我现在要改数值能不能起作用?” 老张pia一下把小王打翻在地:“别来烦我,今天美术老赵那边给的模型放进引擎里法线一个都不对,我正在愁这事儿呢!” 小王懂事地爬起来地回到座位,一只手指在屏幕的EXCEL表上游走,另一只手在键盘托里握着手机,继续开心消消乐的第652关。差不多到吃中饭的时候,小王跑到主策位置上:“老大,我去跟程序那边搞了一上午,武器系统那BUG他们还没修好,我现在还改不了数值啊~” “要你有什么用!给我去买份羊杂汤回来!劳资亲自去找他们说去!…………对了加个蛋!”(大误)

     

    段子讲得很有讽刺意味,可能有点过了头,大家看个开心就好。下面我将把人员配置图的每一个角色/工作 带到游戏开发流程中去讲解。

    游戏开发流程

    在人员配置图中还有很多其他的角色,我将在游戏开发流程中逐个说明他们的作用。现在建议大家把 人员配置图 打开放在屏幕的一边,然后把下面这张 开发流程图 打开放在另一边,下图:

     

    这是一个游戏开发流程理想模型。我将按阶段来逐一讲解。

    1、立项阶段:

    一个游戏项目是如何开始的?一般有三种打开方式:

    1.1、始于市场

     

    一般一个大点的公司都会有市场部,也有专门的市场调查公司,他们的日常就包括收集市场数据、分析数据。市场部的人在完成一次调查之后,会得出一些结论。他们把这些结论交至项目部,Producer拿到数据分析,会决定下一个项目应该做什么样的游戏。然后Producer再把决策告诉游戏设计师,让他们来着手开始设计相应的游戏产品。

    比如说:经市场部研究分析,今年三国题材的游戏,不论游戏玩法类型如何,都比相同类型的游戏拥有更多的下载量,预测明年三国题材将会保持这项优势;今年传统TOP-DOWN类型的MOBA游戏,总活跃玩家数比去年有轻微下降,但是FPS和TPS类型的MOBA游戏有明显的增量,预测后面几年MOBA游戏市场大流将会从细分类型TOP-DOWN转向FPS。公司里正闲着想做下一个项目的制作人老李拿到这些数据:“噢!那我们就来做一个三国题材的FPS+MOBA游戏吧!稳赚不赔,就这么定了!” 然后老李就找到御用主策老王:“你看我们之前那个项目能不能换个皮变成一个三国题材的FPS+MOBA游戏,或者说你重新设计一个?” 这是Market->Producer->Creative Director模式。

    1.2、始于大佬

    我这里说的大佬一般指那些煤老板啊,房地产老板啊,搞赌博网站的老板啊,做互联网其他领域搞得比较风生水起的各种老板啊,反正就是从来没有接触过游戏行业有钱有人的老板。他们看到游戏行业赚钱快,忍不住也插一脚进来,扔一笔钱招个团队组个公司,做个游戏吧,什么都行,赚钱多的那种。

    事情是这样的,有一天他关掉37玩大天使之剑的网页,抽着闷烟突发奇想:马勒割鸡,那些搞游戏的做这么个辣鸡玩意儿动不动月流水上亿?劳资怎么不去搞一个呢?雾草,就是了,我也搞他妈一个,就不信在自己的游戏里还干不过排行榜第一名那个“熊爸傲哥”。于是他就打电话给二把手:“强子,给我他妈的招个游戏开发团队,对,劳资要做个游戏,就做个37玩大天使之剑那样的!” 后来?后来策划老王、程序老张、美术老赵把这个煤老板的钱分摊拿去交各自的房子首付了,项目糊弄几下,上线前几天一起离职,组队去了另一家公司,老李的手下。

     

    1.3、始于游戏设计师

    曾经有一个少年,他从小学时就一直玩游戏,一直玩到高考玩脱。考了个三本。在大二的某一天,他突发奇想:“诶!如果把这个想法做成一个游戏,简直太绝了!前无古人啊,一定敲好玩!估计小赚个一两亿没问题,嗯~” 于是他找到下铺商学院的小李,跟他激动地分享了一下这个想法。小李一脸凝重地点着头:“好像还行,不如这样吧,先去网上搜搜看到底有没有这个类型的游戏嘛?或者说看看会玩这种游戏的玩家大概有多少他们会花钱买嘛?……” 时光荏苒,十年过去了,在落地窗前站了许久的老王,突然浮现出异样的笑容,屁颠屁颠地跑到老李的办公室:“老李我跟你说,我刚刚想到一个绝妙点子,是这样的……&*%&……¥……&” 老李一脸凝重的点了点头:“好像还行,不如这样吧,我让市场部那边做个调查,看看你说的这个创意有大市场要达到收支平衡最多能投入多少资金。”

    我写这个段子并没有半点讽刺的意思,只是反映了一下大多数人的情况。实际上,我们少年都是这么过来的。这个叫做Creative Director-> Producer->Market。

    1.4、补充

    以上三种呢,只是游戏行业比较常见的开启项目的方式。一般来说,大的公司更喜欢炒冷饭,把他们现有的IP拿来立项开发续作,这样能保证游戏的销量相对稳定,降低风险。这种方式可以归类于1.1,因为他们是在确定市场的基础上来立项开发的。至于1.2,前几年在国内可谓遍地都是,有钱人都想进来赚个快钱,捞一把是一把。后来做游戏的人中出现了Bad Guy,不靠游戏销量赚钱,而是想赚投资人的热钱,游戏都不好好做了。一堆一堆的垃圾出现在市场上,垃圾中的战斗机没有玩家买单,于是投资人的热钱尽数打水漂,全都变成的那些开发者的个人工资,一分都收不回。中套的投资人多了,知道游戏这个行业已经捞不到好了,于是现在1.2的情况越来越少。相应的是,国内游戏行业的资本寒冬来临,越来越少的投资人愿意来投游戏开发团队了。1.3的情况应该是最理想的,无论是在小型团队还是大公司,我都倾向于一个创新游戏的立项之初是来自设计师的想法。因为玩法是一个游戏的核心,是游戏与电影以及其他艺术形式得以区分的关键因素。 对了,1.3中的少年即小王。相信许多正在看这篇文章的少年都有过小王相似的想法,这是好事。但是我鼓励每一个想自称游戏设计师的少年,在有一个想法后,把它置放一年,期间去读一读游戏设计相关的书,反复构思、打磨、验证你的那个想法。关于一个游戏创意的想法又能从何而来,我在我自己的设计方法论中有系统的理论分析,但现在不是和盘托出的时候。在此我们就假设我们通过某种思考已经得到了一个游戏创意的想法。老王:“我有一个想法,老李,给我几个人让我们来验证它吧!”

    2、原型阶段

    当一个游戏项目成立之后,并不是就会顺水推舟地做下去,一直到上线发售。事实上很多游戏项目会在开发中的各个阶段遭到关闭。关闭的原因很多种,包括资金断裂、成员分歧、发现这个游戏并不好玩。我们知道一个游戏立项之初,基本都有一个想法。但是除了设计师本人,其他人都不知道这个想法到底好不好玩,值不值得做,可能设计师本人也并不知道。虽然设计师可以写出洋洋洒洒的几万字的设计文档,但是从文字上我们也很难能透彻理解其中的精妙之处,就像我们难以用文字来真正了解一份佳肴吃起来是什么味道。但是当厨师把一堆食材塞到我们嘴里的时候我们就知道了。原型阶段就是一个检验 游戏玩法 和 开发可行性 的阶段。在这个阶段,设计师要向技术负责人阐释清楚游戏的玩法框架,游戏中存在的各个系统。技术总监会仔细聆听并斟酌设计师想法,在聆听的时候他的心理活动大概是这样的:他说的这个资源系统,我们上一个游戏的应该可以搬过来套用;这个建造系统,好像和《模拟人生》比较像,回头找找看有没有开源的方案;等等,国界线可以让玩家来的动态划分?这个设定似乎要求地图的无缝切换功能,这会导致开发难度和服务器性能要求上升,等会儿要提出来看看能不能避免这个设计;乳摇是什么鬼?劳资没接触过这种技术,又要研究新东西了……

    图中Creative Director就是游戏的首席设计师。最初,他带着Technical Designer(技术策划)跟Technical Director开会,大致讲解游戏的玩法框架,让技术总监心里有个数,下去要研究下哪些新的技术方案。其中Tech Designer的作用就是负责协调设计和技术的矛盾之处:帮助技术总监处理掉那些技术上根本不可能实现的设计,优化那些会带来技术压力的设计;帮助创意总监在删减掉一些设计后,补充其他廉价的设计来保障游戏系统的完整性。所以想要成为设计师的人,必须要了解到掌握编程能力的重要性。一个不懂程序的设计师,往往会天马行空设计出那些根本不能实现的东西,或是坚持要实现一些对计算机性能消耗很高的设定。《最后的守护者》在立项之初,还没决定采用什么作为玩家的同伴时,本来想过用人(一个女孩),但是设计师们考虑到人的行为十分复杂,要用AI做到逼近自然很难,于是才把目光移到了动物身上。他们观察了猫猫狗狗等各种动物,最后设计出Trico这么个生物。

    这是一个很好的例子,他们避免了一个研发的上大坑,但是当时他们不知道一堆羽毛的拟真表现对计算机性能消耗很大(其实开发难度也不简单),就算是在现在的PS4 PRO 上也只有30FPS的表现。如果说十年前上田文人就知道这些的话,我相信现在的Trico可能就不会有这么多毛了。

    在Creative Director和Tech Director会晤之后。Creative Director会带着其他的Game Designers把经过修剪的玩法框架填充完整,把每一个系统细节设计出来,编写成案。在这个过程中,Designers的思考过程可以大致参考下面这个视频。不过要注意这是游戏已经开发完成后设计们说的话,大家可以自行脑补成 他们正在游戏设计的前期 讨论如何设计:

     

     

    《魔兽世界:经典旧世》幕后传奇

    视频

    这时这群设计师已经知道这个游戏怎么玩了。为了检验他们的想法是否好玩,之后的一段时间内他们会和Programmers一起把这个游戏做出来。是的,整个游戏做出来,就在原型阶段。只不过哈哈哈,他们做出来的游戏原型差不多长成这个样子:

     

    (第一张图是《战地:叛逆连队》的原型截图,第二张是《美国末日》的原型截图,最后一张是玩家自制的《战地》模拟器:Ravenfield)

    这些设计师和技术人员坐在一起开发出来的东西确实一个个都是ugly baby。Designers和Programmers会创建一堆Box来替代游戏中的任何物体,或者用游戏引擎自带的预设物体来充数。画面中仅有的一点特殊美术资源,也许是Technical Artist顺手做的。这是Tech Artist参与原型阶段的附赠作用,他在此阶段更主要的任务是预先制定美术资源的输出规范,做好美术与技术之间的接口。 一个配备了Designers、Programmers、Tech Artist的小组,在几个月或者一两年的时间里一翻折腾,基本上实现了游戏所有的玩法、系统和功能,甚至技术细节,做出上面那种玩意儿。终于可以邀请一堆人坐在一起来玩这个游戏了,但是得忽略掉画面因素,纯粹地体验游戏性带来的乐趣。这是检验设计师创意的重要环节。现在,我代表Ravenfield的制作者SteelRaven7邀请你,来试玩这款Prototype级别的游戏:Ravenfield (如果你当前不便试玩,也可以通过“Ravenfield宣传视频”来了解它) 没有华丽的画面,没有精致的音效,被剥得赤身裸体的玩法能否给电脑前的试玩者带来乐趣?还是休息室茶几上的可乐和薯片更吸引他?如果这个丑陋的游戏能够让每一个试验者玩得放不下手,那么它毫无疑问通过了原型测试。但是,往往来试玩的大胖子们会点着头认真地说:“嗯……我喜欢你们这个游戏,如果它完成得更好的话。对了我能把零食带走吗?”

     

    Again,本篇文章着重于讨论开发流程,故在此不深入探究设计与迭代的话题。假设大胖子真的被我们的游戏原型所吸引,让我们来吃掉他的可乐和薯片,然后愉快地进入下一个阶段:Alpha阶段。

    3、Alpha阶段

    我们的玩法已经得到了验证,我们的功能已经得到了实现。但是之前的这些,只能算是pre-production。 现在,真正的游戏开发,才刚刚开始。在Alpha阶段,我们最重要的工作就是给有趣的核心玩法,包装上一层美丽的外表。不仅仅是视觉上的,还有很多其他东西。所有的这些事情,从High Level Design开始。

     

     

    3.1、High Level Design

    我翻译为:宏观设计。这项工作,主要是为游戏架构一个可信的世界。我们喜欢把负责这项工作的游戏设计师称作:世界架构师。世界架构师会考虑到游戏的特性、需求,以此为基础设计一个虚拟世界。完全的世界架构,以我的经验为参考,会从“世界法则”开始,然后设计出时间、空间,再之后是自然(以现实为模板就包括:星系、星球、地质、地理、动植物……),最后是文明和历史。当然,我们往往不会从零开始架构(即使是小说家们也不会),而是借鉴一个现成的世界,从中间的某一层切断,保留高层,自行设计低层。就像《魔兽世界》的世界观,改造于D&D与《魔戒》的魔幻架构;《阿凡达》从现实世界中的行星这一层进行了切断,自行设计了其下一层的卫星“潘多拉” 及之后的内容。《使命召唤:现代战争》从现实世界的历史层进行了切断,设计了从2011年之后发生的势力冲突。《俄罗斯方块》从……对不起这个游戏没有进行这项设计工作。在进行世界架构的时候,设计师会充分地考虑游戏的需要,然后才是调动他们对于世界的经验认识和丰富的想象力。在完成设计工作后,他们能回答像下面这样的问题:

    • 这个世界的最高法则是什么?这个法则如何运行?
    • 龙族是在什么时间,什么地点,以什么样的方式诞生的?他们有什么特点?红龙和黑龙分化的原因是什么?
    • 如果自然界中的树木隐藏着比人类更高的智慧,这个世界将会怎样?什么树木是森林的中枢神经?人类是在什么时间,如何发现这一事实的?在那之后人类文明和森林文明是如何相处的?
    • 如果美索不达米亚人在赫剃人进攻之前就掌握了冶铁技术,历史将会怎样?假设古巴比伦王国中有三大势力,他们是怎样形成的?
    • 如果在一个双星系统的星球中存在文明,他们会是什么样子?如果人类和他们接触会发生什么?(请参考《三体》)

     

    看到这些问题的时候,你是什么感觉?欢迎在评论中发言。一个合格的世界架构师,拿到上面任何一个问题,都能够在1秒之内开始回答,并且能够保持叙述20分钟不停口。中间你问他任何问题,他都能够响应你的引导把细节阐述得厘厘入微,并且,在即将完成回答之时,他能够在逻辑上把之前叙述的离散的内容全部联结在一起。世界架构师熟悉天文、地理、政治、哲学、历史、文明、生物、社会,他最重要的技能是:能够一本正经地具有逻辑地胡说八道。(很多人都知道,想要成为游戏设计师,最好上知天文,下知地理,中晓人和,尽可能多地去了解世间万物万事,这,说的就是对世界架构师的要求。)

    在High Level Design进到中后期,Art Director会进入到世界架构师的团队,他会搞清楚那些人的脑子现在都装了些什么。然后会用速涂的方式,来尝试着用画面表现那些人想出来的世界,并与他们确认。随后,Art Director就会开始初次设定游戏世界的画面风格,制定绘画规范。

    来看看《魔兽世界》的世界架构师在工作时想了些什么,视频中也可以看到艺术家为他所画的部分东西:

     

    《魔兽世界:经典旧世》幕后传奇

    视频

     

    与此同时,技术组会开始着手游戏代码优化或重构的工作。在原型阶段,为了快速实现功能,程序上可能会存在大量的不合理和BUG。好一点的情况是对代码行进优化,补足残缺的功能,修复BUG(这一工作会一直持续到游戏下架的那一天)。差一点的情况就是重新编写整个游戏、使用一个新的引擎或者重新开发一个适合的引擎(很少有专门为一款游戏而单独开发引擎的案例,成本太大了)。技术人员们也会开发一些能够提高工作效率的小工具,向开发组中任何需要人提供服务。

    3.2、Story Design & Concept Design

    经过High Level Design的工作,我们有了一个世界。现在,我们要向这个世界中添加一点有趣的东西:故事。故事的核心:某人,在某时某地,做了某事。剧作家们,非常擅长塑造一个角色形象,也能够描绘出精彩的故事场景,制造出具有张力的故事情节。因此往往由职业编剧来负责此事。相对于世界架构师,编剧们在完成工作后会知道更具体的一些事情(任何鸡毛蒜皮的小事):

    • 猎空的父母分别叫什么?来自哪里?什么血型?如何相识?生猎空的那天是哪个医生负责接生?他在猎空的手臂上注入了什么?这与她后来加入守望先锋组织有什么联系?
    • 伊利丹和玛法里奥在幼年时关系如何?他们第一次发生矛盾是什么情况?伊利丹在被囚禁的时候对他的哥哥怒吼了什么?伊利丹所心爱的人与玛法里奥又是什么关系?
    • 维京人把过冬的粮食储藏在了什么地方?他们又把从日本商船上劫掠来的货物堆在哪里?黑石军团从什么地方入侵了他们的家园?黑石军团战盾上的纹理是什么样?有什么意义?

     

    为游戏设计故事不是写小说。在Stroy Telling类型的游戏中,玩家们要控制故事中的角色,和其他具有性格的人物互动,要走进编剧们想象中的街道和战场,改变故事发展的进度或顺序。玩家会从任何角度观察游戏中的人和场景,因此我们必须在视觉上还原编剧们的创作。我们要确切地知道艾米长什么样,她窗外的花园是什么样,她父亲送给她的飞行滑板又长什么样。因此我们需要Concept Artist,来为每一个人,每一个物品,每个一场景设计概念原型。这个概念原型不一定是一张很完整的美术作品,但是任何一个看到它的人,都能够拍着设计师的肩膀说:“我get到了这个感觉。”为了完成这项工作,为了得到一个合适的人物形象或道具模型,Concept Artist可能会绘制几十份概念稿,最后从中挑选出一个。现在,我们来欣赏一下概念设计师的创作过程:
    来自艺术家Cam Sykes的“霍比特人-索恩橡木盾战士”概念设计过程
    来自艺术家Sycra的 飞船概念设计过程
    来自教育网站http://GameSchoolOnline.com的 场景概念设计过程
    为了把握感觉,概念设计师们会大量地创造原型。最后大部分都会舍弃掉,只筛选出最好的一两个,然后为其绘制出线稿。过程请参考下面(大家可能会比较熟悉的):
    来自国内漫画家黄嘉伟的 阴阳师-酒吞童子的创作过程

    也许大家观看后会比较激动,“原来游戏角色是特么这么设计出来的!?教练,我想去学做游戏。”但是我必须在此适时地泼上一盆冷水:游戏领域中任何表面上看起来优雅而轻松有趣的工作,背后都需要大量繁重地练习和学习。就比如设计一个酒吞童子,表面上只是画几根线,但背后至少需要知道的东西有:线稿的绘画技巧、形式美法则、透视原理、人体结构、服装设计、日本传统文化等等。这几样最基础的东西,必须像血一样流淌在你的身体里,才能够进行畅快的设计。下文中每一个岗位和工作,都同样需要掌握庞杂的知识和技能,有的是制作上的技术细节,有的是艺术上的原理法则。在此指出,后文不再赘述。

    工作提交:故事设计完成后会得到一个剧本,其中包含了许多故事发展线,人物介绍,战役介绍;概念设计完成后,会得到一些概念线稿,如下:

     

     

     


    3.3 Stroyboard Design & Evironment Design

    当我们的世界有了故事以后,我们并不是要把剧本寄给玩家,让他们知道这个世界中的每一件事。我们要有选择性地,把一些故事,展现给玩家。如果是硬Gameplay类型的游戏,设计师们会选择用非常隐弊的方式,把故事藏在游戏中。比如说《Dota2》、《守望先锋》,如果我们只玩游戏而不看周边,那么我们只能从游戏中 角色的对话听出一些往事。那些被精心设计的对话,让玩家知道 他们生活在一个真实可信的世界中;而像《英雄联盟》、《梦三国》那样泛泛之谈的人物语音,便让人有一种虚假的戏剧感。如果你的游戏是Story Telling类型的游戏,那么向玩家交代故事剧情就是游戏设计中的重要工作。预先制作一个Storyboard(故事板,本质是“游戏流程”)是值得推荐的做法。在电影和动画中,Stroyboard的设计是一个核心工作,它几乎决定了整个影片80%的内容,观众将严格按照故事板的顺序,把每一个画面看完。在游戏设计领域,故事板是众多元素中的一个。它在Stroy Telling类型的游戏中,对于剧情的发展做一个预览作用。Storyboard会交代:玩家在不同进度时,必然会经过的场景和必然会经历的事件。由于玩家的视角,受控于玩家自己,所以我们不再逐一考虑取景构图、镜头运动和蒙太奇,只需要记录场景、行动路线与必然事件(过场动画另当别论)。

    当我们考虑场景时,需要艺术家把相应的场景画出来。这就是做Enviroment Design工作的第一个目的。在创作场景时,艺术家会听编剧们描述场景(包括地形、道路、建筑布置等),同时也会参考概念设计师确定的视觉风格,然后快速绘画。 其绘画过程可以参考,如下:
    来自艺术家Cam Sykes的 戈壁城场景绘画过程
    当场景图得到确定之后,艺术家会对它进行下一步刻画,使其中的物件明确,以指导将来Level Design的工作。一个细致的游戏场景是如何绘制的,请参考(让你们感受一下最强P图能力-二次绘画):
    来自艺术家Titus Lunter的 游戏场景设计过程

    工作提交:艺术家们会提交游戏场景原画,如下:

     

     

    游戏设计师会提交故事板,其中包含了行动路线和事件。用我过去的工作来做例子吧,要献丑了,这张图是我给执行策划交代任务时随手做的:

     

    我当时为这张新手村地图(场景/关卡)设计Stroyboard。包括单个任务设计、任务流程、剧情安排、行动路线设计、NPC/怪物分布设计。需要考虑的东西也很多,比如:玩家进入场景后看到的第一屏是怎样的,第一个任务如何预热玩家/调动兴趣,怎么安排基础操作教学,第几分钟大概到什么地点什么任务,什么时间安排具有挑战性的事件,用什么物品来为大的奖励做铺垫,如何行动即不重复又能游览全部场景等等。

    3.4 Character Design

    在经过概念设计的工作之后,我们会拿到一些概念设计线稿,其中包含许多角色。Character Design这项工作就是在那些角色线稿的基础上继续设计,完成服装配色、材质表现等其他工作。其工作过程请参考:
    来自艺术家Alex Gp的 角色绘画过程
    有时,一些重要的角色,为了在后面的建模时得到更好的比例和结构表现,艺术家们会为他们绘制三视图,如下:
    来自网站http://CGCookie.com的 角色三视图绘制过程

    这些工作一般会交给美术组中的junior artist去完成,因为相对于概念设计,这一步要求更多的体力劳动,较少的设计能力。而那些才华横溢的senior artist,他们会去画一些美术宣传画,像这样的:
    来自艺术家WLOP的 Saber Lily绘画过程

    工作提交:这一步工作,最重要的是得到 人物/道具 设定图,包括各个角度(三视图),如下:

     

     

     

     

     

     

     

     

    美术组再有富余力量的话,会绘制角色宣传图:

    这样的图,对于游戏开发的工作,没有实质的作用,但是It's cool.

    3.5 Modelling

     

    当我们的Character Design工作完成以后,会得到准确的角色、道具设定,但是那些资源都无法在我们的游戏里使用(我们不讨论2D游戏)。真正的游戏资源制作,是从建模开始。首先,为重要物体建模,需要用到前面制作的三视图,来锚定外形和结构,设计师是这么用的:
    来自模型师Soepanto Kurniawan的 汽车 Shelby GT500 建模过程
    来自模型师Antic的 Q版房子建模过程
    有时,有些不重要的物体是没有三视图的,这就要求模型师能够仅根据一张图就制作出模型:
    来自团队DrunkenLizardGames的 枪械M4A1建模过程

    我也做过这样的建模练习,当时拿到这样一张图:

     

    只有这样一张图,别无参考,结构不明确或不合理的地方需要自己进行二次设计,所以,这要求模型师也需要具备结构设计的能力。当时懒懒散散地做 用了三个工作日完成了这个模型:

     

     

    刚刚在三个演示中,使用的软件分别是Zbrush、3Ds Max、Blender。在此我想指出一个新手误区:不要纠结于软件的选择,我们什么都会用。值得一提的是,如果做生物角色的话,一般我们会喜欢从Zbrush开始:
    来自艺术家Maksym Haydar的 女性角色雕刻过程
    来自艺术家Wandah K的 龙-雕刻过程

    工作提交:(上面的“龙-雕刻过程”,Wandah K已经为其简单的绘制了贴图,这是下一步的工作。)一般来说,我们的Modelling工作结束后,会得到干净的素模,如下:

     

     

    3.6 Texture & Material

     

    模型,是一个游戏物体的血肉躯体。贴图,是一个游戏物体的表皮肌肤。得到模型后,我们紧接着就为其绘制表面的纹理/材质贴图。过程请参考:
    来自艺术家Sedat Aciklar的 角色兰戈 雕刻绘画过程(包括了雕刻和贴图绘制)
    来自艺术家Josh Robinson的 忍者神龟贴图绘制过程
    下面展示另一种我们常用的贴图制作方法-映射:
    来自艺术家UArtsy的 面部贴图映射制作过程
    下面展示器械的材质制作过程:
    来自Quixel官方的 枪械贴图制作过程
    来自艺术家Aldi的 Jeep汽车 贴图绘制过程

    工作提交:在经过贴图&材质制作的工作后,我们会得到如下的模型资源:

    前几天我也做了的小练习,可以在左臂上看到我女朋友的名字。

     

    除了为特定的模型制作材质贴图外,我们还需要制作许多通用的材质,包括但不限于:自然(土地、草地、泥沼、石头、树皮…)建筑(路面、墙面、木纹、钢材、玻璃…)等等,可以参考如下:Substance材质库。这些通用材质将在游戏场景搭建时发挥重要作用。

    3.7 Skeleton & Rig

    经过Modelling,我们能够得到“静态”的游戏模型。有些像斧头、铁桶这样的小东西贴上材质贴图就能够直接放到游戏里用了。但是人物、怪兽这样会动的物体,我们还需要为其制作动作动画。Skeleton(骨骼)、Rig(绑定),是制作动作动画的前置工作,仅和模型有关,和材质贴图没关系,所以可以一边做材质一边做骨骼绑定。我们知道现实中生物体的运动,基本上就是骨骼的运动。在CG领域,我们借鉴了大自然的设计。我们也有骨骼,用来驱使模型运动。我们要为人物模型创建人体骨骼、为恐龙创建恐龙骨骼,然后把骨骼绑定到模型上。

    动作师在为角色设计动作的时候,是直接在骨骼的层面上设计动作。

    一个绑定师对于他所操作对象,如果是脊椎动物的话,那么他会熟悉这种动物的真实骨骼。并且他会知道的肌肉与骨骼的附着关系、运动中肌肉的伸缩扭转状态等。前段时间美国梦工厂的艺术总监魏照平老先生路过我们这儿,我问到他,现在动画界最缺的人才是哪些。他的回答中就掷地有声地指出了“骨骼绑定”(当然世界范围内最缺的还是优秀的故事)。

    由于绑定骨骼这个过程并不具备什么观赏性,就不用视频展示了。

    3.8 Animate

     

    我们拿到一个绑定好骨骼的模型,会为它设计动作片段(注意,是为骨骼设计动作片段)。这时可能材质贴图也已经制作好了,这样的话可以边做动作边观察最终效果。过程可以参考如下:
    来自IKinema Action的骨骼动画制作过程
    除了上面展示的技术,在一些常规写实类游戏中,我们还喜欢用运动捕捉系统来设计动作:
    来自Tomas liu的 光学运动捕捉系统
    上面这个是一个国内团队在12年做的展示,虽然看起来比较low,但是展示很直观。我目测他们这套设备价格在四五万元左右。(商业光学运动捕捉系统 最便宜也差不多是这个价,因为需要多台红外摄像机)下面来看看另一种小团队比较能承受的廉价系统:
    来自Snappers的 惯性运动捕捉系统
    在视频中大家能看出来,这个动作动画比上面那个要自然多了。但是理论上,光学运动捕捉系统的精确度要比惯性运动捕捉系统高一些,这也是为什么在影视领域大家都用光学运动捕捉系统。不过一个模型动作的自然度也需要考虑到骨骼、绑定等因素,比如Tomas Liu他们的模型,很明显只是简单绑定了一下骨骼,手部都没有绑定(也许是控制点没有绑定);但是Snappers的模型由于有标准的骨骼绑定,即使用的惯性运动捕捉系统,看起来依旧很自然。所以在3.7节中,我们说到绑定非常重要,大家可以直观感受到。这套惯性运动捕捉设备只需要一万元左右就能拿下,并且使用也很方便。
    刚刚展示了两个肢体运动捕捉的案例,下面来看一下 面部表情捕捉。这是很早很早以前的光学运动捕捉系统,可以看出对于表情的还原非常精确,惯性运动捕捉系统是做不到这一点的。还需要展示的是,动作动画的重定向。前面说过了,动作师在是骨骼的层面上工作,而不是模型。因此,我们做出的动作动画,可以使用在不同的模型上(只要它们使用了相同的骨骼):面部表情捕捉-重定向。这能够大大减少我们的工作量。

    工作提交:作动师完成工作以后会得到大量的动作动画片段,包括但不限于:走、跑、蹲、跳、攻击、防御、受伤、死亡……动作动画片段展示-剑盾战士。配上材质贴图,大概是这个样子:动作动画片段展示_士兵;再看一个《刺客信条》的动作吧:刺客信条动作动画展示

    3.9 GUI Design & Other Art Work

    实际上我将略过这一环节。因为我认为游戏中最好的UI,就是没有UI。但这将是游戏发展的一个趋势,我看到许多大厂小厂都在加入这条道路,去UI化:只在最必要的地方,用干扰力最小的方式,给予玩家最需要提示。把屏幕空间,还给游戏世界,我们不需要那么多文字与图标。讲到这里,Alpha阶段的美术工作已经走过一遍。我们可以把必要的GUI,和前面做的所有3D美术资源(模型、材质、动作)提交给游戏设计师。在这个过程中,Technical Artist将发挥一个重要的作用:他将编写Shader脚本,来决定这些美术资源最终将如何显示。Shader也是一种美术资源——一种顶层的美术资源。Shader(着色器)告诉电脑如何用特有的一种方法去绘制物体。

     

    比如在上面这幅对比图中,整个场景使用了完全相同的模型、材质贴图,并且处于同一个时间状态,但是因为使用了不同的Shader,最后得到的效果也完全不同。通过Shader,我们可以让一个非常写实的物体,变成卡通风格、水墨风格、像素风格,可以让它变成半透明,或是只有一个剪影。可以大致参考:
    来自Gareth Stockwell的 Shader效果对比

    Shader的制作,属于编程工作,并且需要具有计算机图形学知识背景(学习计算机图形学,需要具备 线性代数 知识)。那个以为做美术工作就是画画的少年,你有什么想法吗?

    如果没有,那我们就进入声音制作的环节咯。(你怎么沉默低头不说话了……)

    3.10 Audio & Music

     

    制作游戏不仅需要画面,还需要声音。声音包括:音效、音乐、配音。

    3.10.1、音效制作。包括开枪的声音、汽车的声音、脚踩在木板阁楼上的声音、释放技能的声音、点击游戏菜单的声音。最基本的制作方法是实录,比如《武装突袭》为了制作真实的枪声,去军营里实录了所有武器的声音。还有一种方法是拟音,这是更为经济实用的方案,用这两个视频来了解一下拟音艺术吧:拟音师忽悠女盆友奇妙的工作:拟音师。我们做游戏的其实很少有成立专门的拟音组,去制作专门的音效,这在AAA级的Stroy Telling游戏制作组中可能会有。我们更喜欢的是使用商业音效库,里面包含了许多现成的音效,像这样:

    另外,我们还会用声音合成器去制作一些现实中并不存在的声音,比如说传送门的开启声。

    3.10.2、音乐制作。专业术语是:编曲。编曲过程可以参考下面的视频,考虑到没接触过编曲的人可能看不懂,稍作解释:视频中音乐家Carol Kay一个人用MID键盘,先后编写了:大镲、大鼓、日本太鼓、小鼓、小号、长号、大号、吊镲、小提琴、大提琴、贝低提琴、贝斯、竖琴、铜钹、格洛克、吟唱、长笛、定音鼓、钢琴、法国号等乐器的音轨:游戏配乐编曲过程。现在的游戏音乐,甚至其他流行乐、交响乐什么的都是这么编写出来的。一般是先在软件里编好,然后为了追求音质后期再找交响乐团实录。想要编写优秀的音乐,乐理是基础知识,然后需要去熟悉了解不同的乐器不同的音色。编曲和乐器演奏是两回事,但是具备多种乐器演奏能力是最好的。 补一句,在传统的音乐编曲上,制作游戏音乐往往还需要考虑超长时间的loop循环,让人听一天也不会腻的单曲循环。还有需要程序控制的动态地音乐节奏切换、和弦进行切换、混响效果器切换,以适应游戏中的事件状态。所以游戏配乐会有一些不同。

    3.10.3、配音。为NPC配音,为过场动画配音,为游戏角色的语音包配音。这个工作很好理解,现在不仅在Stroy Telling游戏中很重要,在Gameplay游戏中也越来越重要,想一想《守望先锋》、《Dota2》,打着打着莱因哈特会来一句:“护盾快撑不住啦!”;小美会说:“嗨呀~好气呀~”。但是做这份工作的人群,在国内的生存状态并不理想。我认为需要给予他们更多的关注,看这两个视频了解一吧:“替”声世界之生存现状走进“替”声世界:夏磊_演讲

    声音资源制作美术资源制作就到这里,这些资源统统都会交回到游戏设计师的手里。他们在游戏引擎中把这些资源整合到一起,来完成真正的游戏制作工作。

    3.11 Level Design

     

    在Game Design方面,我们刚刚讲到了Stroyboard Design。经过这项工作,我们设计了玩家的游戏流程。在这之后,我们需要进行进一步的设计:在游戏流程中的具体细节。就像我展示出的我曾经的工作内容一样,我们会去考虑玩家在流程中的每一步的感受,会去设计我们想要给他带去的体验。这就是Storyboard之后的Gameplay Design的工作意义。与原型阶段的Gameplay Design有一些区别。这更像是做 Pre-Experience Design。

    经过二次Gameplay Design,经过美术和声音资源制作工作,我们已经得到了 制作一个世界所需的所有资源。在这个基础上,我们可以开始进行Level Design。Level Design我认为可以分成两层:1、关卡(qiǎ)设计;2、场景搭建。在我的语境中,关卡设计是一种游戏性设计,会去考虑玩家的行动路径、决策方案,会考虑战斗掩体的布置、地势高低的布置等元素。这项设计工作与它前置的Gameplay Design密不可分。

    场景搭建呢,是一份艺术工作,目的是在游戏引擎中还原场景原画师所设计的游戏场景。其过程可以参考如下:
    来自Level Designer-Maverick的 快速游戏场景搭建-森林铁路 以及 快速游戏场景搭建-村庄
    来自Level Designer-Kaan Öztüzün的 快速游戏场景搭建-城市
    上面三个是Unreal4的场景搭建,下面放一个Unity的:
    来自Level Designer-Maverick的 快速游戏场景搭建-入海口

    这些都是自由的游戏场景搭建,实际工作中,房屋的位置、街道的转折、物体的摆放,都已经由关卡制作的过程预先制定了。在关卡制作中,设计师们用各种简陋的方体来代替物品,定制关卡中所有碰撞体积的位置(就跟原型阶段所做的事情一样):

     

    左图是艾兴瓦尔德的关卡设计示意图,右图是完成场景搭建后的效果。完成场景搭建后,我们的游戏基本就拥有了华丽的外表。还记得原型阶段给大家展示的截图吗,来看一下它们对应Alpha阶段的截图对比:

     

    真是激动人心的时刻啊,我们的游戏完成了脱茧蜕变,完成了华丽丽的升级!但是我们要知道,这背后是许多艺术家、设计师挥汗如雨的辛勤工作。他们可能经历过灵感的匮乏,经历过方向的迷失,经历过未曾预知的错误,经历过拍桌叫板的争吵,经历过委屈与绝望,经历过一年又一年纷飞的雪。看着这些伟大的游戏的画面,鬼知道在这背后我们经历了什么。

    3.12 Experience Design

     

     

    游戏还没有结束。我们要做最后一次设计工作。我称之为体验设计。体验设计,需要去考虑玩家从点开游戏的桌面图标开始,进入游戏看到的第一个画面,第一个菜单,听到的第一个声音,一直到玩家正式进入游戏场景,开始的第一个事件,收到的一个奖励,一直到玩家第一次保存并关闭游戏,下一次再进入游戏,遇到的最大的挑战,最紧张的时刻,最刻骨铭心的体验,一直到玩家人生中最后一次关闭游戏,把它永久地留在硬盘的某个角落,在这之中会经历的一切。这项工作会整合所有的游戏资源(美术上的、声音上的、故事背景上的),去整体设计玩家的游戏体验。就像旅行体验设计师会做的那样。

    在许多游戏的制作成员名单中,可能并不会看到Experience Designer这个词。因为体验设计,是一个团队的工作,整个团队的工作。每一个环节都会为最终的体验负责。当然,我建议由熟知产品设计的游戏设计师来领导完成此事。

    到此,游戏已经完成了Alpha阶段,也意味着游戏完成了全部的开发工作。

    4、Beta阶段

     

    Beta阶段的主要工作,就是对游戏进行测试与迭代。Quality Assurance团队会进入制作组,对游戏进行全方位的验收。他们会去测试游戏中的每一个按键,每一个功能,找出任何出现异常的地方,然后报告给Directors,让他们去修复和完善。同时他们也会再一次检验游戏的玩法。但愿他们不会在这时提出否定的意见。否则制作人会崩溃的。暴雪曾因为QA测试无法通过,最后放弃了已经开发了7年之久的《泰坦》,Chris Metzen,曾主持过《魔兽争霸》、《星际争霸》、《暗黑破坏神》、《魔兽世界》开发工作的暴雪副总裁,崩溃了。在顶着巨大的心理压力,收拾残局,制作完《守望先锋》后,他选择了离开暴雪,离开游戏界。这是为什么,我们需要有原型阶段,我们要在原型阶段检验游戏的玩法,对待复杂玩法的游戏,我们都小心翼翼。同时我也致敬暴雪,他们宁愿割掉自身的血肉,也不愿给玩家一个无聊的游戏。

    好了,我致敬的方式是放两个EA的游戏视频……pia!

    还记你在原型阶段下载下来玩的那个Ravenfield吗?想知道它在完成Alpha和Beta阶段之后是什么样子吗?请参照:《战地4》联机对战实录《战地4》官方联机演示

     

    结语

    到这里,整个游戏开发流程已经讲完了。谢谢你能够耐心地一直看到这里。最后我还需要补充一些。Again,这个流程是我根据古今中外的实际项目和自己的理解总结出来的理想模型。它可能并不匹配任何一个市面上游戏的开发流程,也可能不匹配小团队独立游戏的开发流程。但我尽可能的把各类游戏开发中需要的工作都整合了进来,让大家看到一个全面的工作介绍。有些工作,在你们的游戏中可能不需要出现,比如《球球大作战》就不需要High Level Design,或者你们开发2D游戏就不需要Modelling及之后的工作。甚至有的开发团队不采用这样的瀑布流开发模式,而是采用敏捷开发模式(会一边制作一边设计,根据玩家的反响实时调整设计方向),这都没有问题。只是我个人倾向于采用完整的这套开发流程 来制作游戏。

    希望在阅读完本篇文章后,你已经对游戏开发的流程有了一个大致的了解。至少在设计和美术上,你已经心里有数。在分享美术部分的时候,因为这是看得见的部分,所以我高兴能够用视频和图片的形式来辅助讲解。虽然收集和筛选这些素材花费了我巨大的时间,但是能起到一定的帮助 那我便觉得值得。设计部分能够展示的相对较少一点,程序部分就更少了,几乎没有。这也是因为程序部分即便是用视频图片还是用文字,都无法充分地展现其精髓。如果直接拿程序代码出来,绝大部分人又根本无法看懂。但是不用过于担心对于程序知识的欠缺,因为在本专栏正式引导新人自学游戏开发的第一部分,我们就会从编程开始。然后逐个地,把每一个工作内容,文中和视频中展示的每一项技术,每一个知识模块都学一遍。只要你学有余力,就可以跟着我把游戏开发的所需的所有技能都学一遍,成为一个全能游戏设计师。在了解所有流程的基础上,如果你仍旧只是对某一部分感兴趣,那么你大可规划好你自己的职业定位,就像开篇所述的那样,然后针对性地学习,并深入钻研。

     

    https://zhuanlan.zhihu.com/p/25292463

    展开全文
  • 软件开发软件开发注意事项

    千次阅读 2016-12-15 11:27:45
    软件开发注意事项     开发APP 80%的人都容易犯一些致命的错误: ◆以为做个软件很简单,所以描述需求的时候及其模糊。 ◆ 急着想要报价,在自己对需求不确定的时候就要报价。然后就按这个报价开始做。 ...
  • 软件开发过程的个实例

    千次阅读 2017-03-30 09:13:14
    软件开发过程的个实例 需求阶段 在接到任务后,先与业务员(商务)进行需求沟通,多提出业务员当时未向客户提出的关键问题,详细了解需求并试图想到解决需求的方法,与业务员沟通解决方法是否可行,以及成本...
  • 这两者之间的区别就是侧重点不同,一个游戏开发出来实际上也是一款软件,如果你认为软件开发跟游戏开发是两种,那么我的观点是是前端的不同,后端都是实现一些逻辑的功能。软件开发无论是桌面应用程序、Web应用、...
  • 软件开发基本流程概述

    千次阅读 2019-05-13 10:12:40
    在很多人看来,计算机软件开发主要就是开发人员的工作,只要把想法告诉他们,他们就能把软件开发出来,这种情况是存在的,要不这个软件非常简单,要不有这样能力的开发人员综合能力是非常强的,但这种认知也是片面的...
  • 开发计算机软件的基本流程

    千次阅读 2019-05-09 17:12:52
    在很多人看来,计算机软件开发主要就是开发人员的工作,只要把想法告诉他们,他们就能把软件开发出来,这种情况是存在的,要不这个软件非常简单,要不有这样能力的开发人员综合能力是非常强的,但这种认知也是片面的...
  • 体验环境 体验方式:PC端 系统:Windows 64位 ...了解华为软件开发云的项目管理服务功能,分析...瀑布化开发到敏捷开发的转型分析,以及未来软件开发模式的发展方向; 产品简介 产品名称:华为软件开发
  • 如何开发一款游戏:游戏开发流程及所需工具

    万次阅读 多人点赞 2018-01-03 00:00:00
    本文来自作者goto先生在GitChat上分享 「如何开发一款游戏:游戏开发流程及所需工具」,「阅读原文」查看交流实录。「文末高能」编辑 | 哈比游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分参与其中的...
  • 译者注:作者以视频通话、屏幕共享与远程控制、共享代码片段、在线IDE与代码托管环境为例介绍远程软件开发和结对编程工具的优劣。有时我希望可以方便的与同事交流个严重的错误或着讨论技术方案。但异步通信并不...
  • 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 种开发环境在软件项目开发中所起到的开发及管理作用。CASE工具实际上是把原先由手工完成的开发过程转变为以自动化工具和...
  • 软件开发中的需求种类

    千次阅读 2018-01-10 17:32:13
     软件开发中都会有哪些种类的需求:  1、功能性需求  这是最主要也是最常见的需求。这类需求是要求实现某项实际功能的,这个功能一般都会通过某种形式展现出来个软件最基本的就是功能性需求。在...
  • 但是App开发的技术门槛高,很多人询问:开发一款App流程是什么?我想开发一款App,要从何入手呢?本人曾参与多个项目的开发,今天和大家详细介绍一下App软件开发流程。 App软件的开发流程目前分为两个路线,编程开发...
  • 软件项目开发基本流程详解

    万次阅读 2018-03-15 09:30:29
    那么,一款软件从研发到发布到底要经过哪些流程呢?软件项目开发流程图设计的过程中又该注意些什么呢?亿图软件项目开发流程图软件项目开发过程的几个基本流程介绍:1、可行性分析:从市场、政策、经济、技术、人员等...
  •  很多软件的操作人员在对一款软件用的时间长了之后,经常找到方便自己的简洁的操作,有些简洁的操作是设计软件的时候本身就设计出来的,但是有的一些简洁操作则是因为软件本身的复杂逻辑关系,导致
  • 开发一软件,到底需要花多少钱?下面给大家讲讲 对于很多互联网的创业者来说,评估前期的创业成本是很重要的。在这几年的创业大潮中,伴随着“互联网+”和“互联网思维”的普及,很多创业项目选择了开发app作为...
  • 那么我们其实是要麻烦UI小姐姐的,这难道不是是个前端开发该有的基本技能吗?还需要麻烦UI小哥哥小姐姐们吗? 当然,目前简单的吸色方法,大家基本上都能说出来几个,比方:QQ截图吸色,PS吸色,MarkMan等等。这些...
  • 软件项目开发的一点思考

    千次阅读 2014-03-12 09:18:44
    软件开发过程的思考。
  • 28Python GUI开发框架开源软件

    万次阅读 2016-04-22 12:00:19
    Python 的 UI 开发工具包 Kivy Kivy是个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用程序。Kivy还提供个多点触摸鼠标模拟器。 Kivy基于...
  • “构建技术系统所要做的工作是非常繁重的,同时还需要专业知识:语言和协议,编码与调试,测试与重构。”——James Garrett 概述 ...在接受评估之前,机智的员工都会要个评估单——但是在开
  • 股票软件开发

    千次阅读 2011-11-12 10:08:03
    股票软件开发 求助编辑百科名片 股票软件开发顾名思义就是股票软件开发公司为公司或个人开发制作自已个性化的股票分析软件,从此彻底告别依赖别人的技术平台支持,从股票软件名称,公司LOGO,启动界面,...
  • 软件开发与软件研发的区别

    千次阅读 2012-08-21 09:05:12
    按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至 于越写越长,文章结构也变得混乱,...程序开发大概可以划分成两类...
  • c++软件开发心得

    千次阅读 2019-06-22 00:46:19
    作为计算机科学与技术专业的学生,开发软件是项基本能力,软件开发的好坏最关键的是对项目实际的思考,其次才是熟练的语法知识,只有思考清楚来龙去脉甚至是框架才能游刃有余的写出好的代码。本学期学习了c++的...
  • 而微信小程序中也会带着许多的微信抽奖的营销方式,微信大转盘,微信九宫格,微信摇一摇,微信刮刮乐等等,今天我们便来说一说微信大转盘抽奖的开发方式,我们以一款已经很完善的微信抽奖制作工作——趣推邦小程序为...
  • 今天要介绍的力软JAVA快速开发平台运用了当前的主流开发技术(java+vue),做到软件开发的“快”、“易”、“省”。 .它到底有多“快”  快速开发平台的目的就是让使用者更快的开发出所需要的软件,所以,能...
  • 今天让我们起来看看小编为您推荐的6Python IDE吧!自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程。Python已经成为最受欢迎的程序设计语言之,无论是初学者还是资深专家...
  • 一款APP开发背景

    千次阅读 2019-05-18 17:52:21
    本篇文章介绍我在开发app时候的背景,主要讲用到的一些具体的软件技术和经验...我主要代码使用vscode编写的,关于vscode,我真的特别喜欢它,它是一款让你尝试以后就无法忘记的编译器。顺便给大家推荐一些主题 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,739
精华内容 41,095
关键字:

一款软件是怎么开发出来的