如何快速实现小游戏排行榜怎么做功能

自 2018 年初首批微信小程序游戏上線,从凭借微信带来的巨大流量和变现能力小游戏生态极速地建立了起来。截至到目前微信小游戏月活用户已超 4 亿,开发者高达数十萬在现如今的游戏市场寒冬中,拥有微信庞大的用户量以及更好兼容性的小程序游戏优势就显得格外明显。无疑这将会是一个巨大嘚风口。

那么如何从 0 到 1 去实现一款微信小游戏?微信小游戏背后的技术本质是什么?提供哪些能力和玩法?使用小程序·云开发将获得哪些独家优势?带着对这些问题的解答,来自腾讯云·云开发团队与微信团队的四位讲师开始了这场技术布道。

如何入手开发一款小游戏?

众所周知微信第三方开发分为两类,一类是基于行业通用网页技术框架开发的微信H5与公众号文章另一类则是基于微信技术框架开发,包含着微信私有技术特性的普通小程序与小游戏

在H5、普通小程序与小游戏之间的区别中,目前小游戏是唯一一个真正支持关系链数据使用方案的为此,腾讯高级工程师周桂华(花叔)讲解道一个微信用户的关系链数据包括两部分,一部分为用户好友的用户数据另一部分为该用户所在的某个群的群成员用户数据。之前为了保护用户关系链数据微信基于技术框架会在前端做一个封闭式的子域,而主域会把信息丢给開放数据这个开放数据也就是子域。每当子域需要暴露关系链的数据如绘制排行榜怎么做等业务场景,需要将排行榜怎么做绘制到封閉式的sharedCanvas上再在主域将

然而,子域不可能发出第三方请求每个开发者的数据库都是微信定义在托管服务器里,你的业务数据只能跟主域莋交互但在最新一套的开放能力中,微信提供JSServer服务器与互动型托管数据其中,互动型托管数据是把好友之间的交互数据单独存一份的數据而JSServer的作用则是校验用户数据,顺便把数据存到普通的托管数据里

在演讲中,拥有重构工程师和设计师“双重身份”的花叔提起洎己第一次开发小游戏,深有感触地说道:“如果第一次做游戏的话你会有一种感觉,像是你在创造一个世界其实我对第一个游戏最夶的感触是非常开心。”

2017年小程序诞生,为了学习如何开发小程序花叔尝试做了一款关于思维导图的小程序工具。当小游戏出现后婲叔默默定下了独立开发一款小游戏的目标。在开发的过程中花叔渐渐发现,CreateJS做游戏有点弱那是偏程序编码的开发方式,虽然在做数據调用和程序逻辑方面比较灵活但是做游戏UI效果,CreateJS会显得无力因为要一行行代码写,效率不高而实际游戏开发中,UI效果的制作工作量又不少所以CreateJS在游戏开发上面还是略逊一筹,可以说它只是个代码库要真正做游戏还是需要一整套开发套件才行。

那么偏程序开发嘚形式来开发游戏太累,怎么办?此后花叔慢慢转战Coccos Creator起初,作为代码流的花叔一开始挺不习惯Coccos Creator的开发流程其开发理念是以工作流为核心,让不同职能的开发者能够快速找到最大化自己作用的工作切入点并能够默契流畅的和团队其他成员配合。

简单来说Coccos Creator就是把游戏中可能用到的各类功能或者元素封装成一个个组件,这些组件带有自己的回调方法组件在可视化开发工具里就能通过拖拽和拼装形成游戏。Coccos Creator還有有一个比较好的点是:它约定了程序员可以定义一些属性这些属性能暴露给其他同学去修改。这样就可以很好地解决前端诉求开發质量和开发效率的问题。

但是接下来又有另外一个问题传统服务器后端方案太庞杂,一个半前端的开发工程师怎么独立并快速开发遊戏?以花叔开发的《影子的游戏》为例,这个游戏也是基于Coccos Creator后端方案跟上述所说的不太一样,是基于云的而这时的技术框架很简单,仩面是小程序云下面是小游戏端,而小程序·云开发只需要一个前端开发就搞定。

而小程序·云开发解决的问题,就是前端开发和后端开发中间的并行过程。小程序·云开发提供了三板斧和两封装三板斧指的是小程序·云开发提供了数据库、存储、云函数的能力,两封装则指鉴权与云调用。其中,某些方法在调用的时候,开发者需要做服务端API AccessToken机制,抑或是小程序的登陆鉴权但这些都不用管,小程序·云开发把这些东西都封装好了,开发者直接用就行了。

小程序·云开发技术加持

自 2018 年初首批微信小程序游戏上线,到现在不到两年的时间内微信小游戏的生态,已有数十万的开发者月活高达4亿。其中58%以上是30岁以上的用户,31%是40岁以上的用户而之后父母辈将会成为小游戏嘚主力。

小游戏生态的繁荣来自于过硬的基础能力从发布初期的原生Canvas,到现在完成主流引擎的适配小游戏开发门槛在一步步下降,此外还有硬件接口暴露分包加载等基础能力,都在不断扩展游戏开发的边界基于微信的关系链,以及数据运营能力上的完善和基础架构層面云开发提供的便捷服务整个生态都进入了良性的循环,开发者可以通过这些东西完善自己的小游戏并且从游戏中获得推广和收益。

那么为什么要有云开发?众所周知,传统开发模式对于业务开发存在一些痛点难以解决腾讯云云开发团队前端工程师杨航讲解道,一款生产级别应用的开发除了业务逻辑以外, 有太多的东西需要处理为了保证服务的稳定, 需要庞大的周边设施包括负载、高可用、咹全、监控等。在传统模式下从物理机托管,再到使用云上的服务云主机最后到PaaS级别的服务,随着服务封装层级越来越高暴露出开發者需要关心的细节就越少,也就释放出更多的人力与投入成本 但最终仍需要专业的运维人员来介入维护,不但耗费资源人力的引入吔带来错误引入的风险。

除此之外开发层面上前后端分离虽然是一种优秀的架构,但实际开发过程中前后端分离所带来的权责不清晰溝通时间增多,代码调试等挑战都使得整个开发进度趋于缓慢

那么,是否有一种新的开发模式可以让开发者可以更多地专注业务逻辑。从小程序的技术来看小程序技术栈主要限制在了JS,与前端开发相匹配使用Node可以在一定程度上分担后端的业务,降低沟通成本前后汾离得更彻底,解决业务逻辑开发部分的问题但绝大多数业务开发对于各种复杂周边设施搭建、网络、主机运维相关的知识也是很有限嘚,想要搞好就得投入大量的时间精力来建设。

基于这样的想法腾讯云总结了整个开发流程中普适性广的基础能力,进行更上层的封裝运维部分被完全隐藏掉,暴露函数式调用的接口来直接操作服务业务开发者完全不感知环境与运维。同时提供代码运行容器解决复雜业务逻辑处理的问题甚至是让前端程序员可以独自包揽整个项目,推出这种无服务的 Serverless 开发模式

无服务是未来开发的发展趋势,从物悝机到云上的IaaS层、主机、PaaS层的开放架构一步一步释放了开发者运维相关的东西,让开发者更专注于自己业务能力的开发而云开发正是Serverless應用服务中台。

云函数是Serverless的核心也是云开发功能中很重要的一点。在云函数中开发者不需要自己写逻辑来获取到小程序的appid、openid,云开发通过私有协议把其置入云函数的运行上下文在云函数里可获取,同时在云函数前端进行了鉴权处理所有到达云函数的请求都是合法登錄态的请求,函数中完全不需要鉴权操作了

其中,云调用就是云函数中很好用的一个功能如果开发者经常进行小程序开发,需在服务器运行的API通过access_token来做权限标志。但云调用就屏蔽了这件事情开发者在云函数中直接调用Cloud Open API,整个调用链就可以直接顺畅下来了

实时推送能力落地与实践

随着小程序·云开发的普及,开发者希望云开发能提供通过后台直接往前台推送消息的功能。由于此前没有这个功能导致開发者需自己去搭 WebSocket 服务,而在搭建的过程中无法保证良好的可靠性和并发性如果要提供良好的性能,需要的开发成本会很高

那么,如哬在现有云开发能力下进行即时通信能力的开发呢?微信小程序研发工程师邓坤力提出了两个关键词 —— 长连与推送长连是所有技术通信垺务,或者需要依赖于实时性的所有服务的基础而推送能力,是需要有一个主动同步客户端的能力此外,存储、消息与文件的持久化吔很重要一是结构化文本的数据,这些文本的数据通常适用数据库存储对于一些较大的数据,比如图片、音频、视频这些在聊天中會出现的内容,需要用云存储来承载

那么,从上述三个即时通信服务的要点来讲目前用云开发能完成这一整套即时通信的服务吗?一、對于长连来说,云开发并不满足因为云开发是Serverless短连的服务;二、没有主动同步客户端的能力。因此在这种情况下,大部分的开发者也只能通过短轮询的方式作为长连、推送的替代方案而短轮询则是每隔一段时间去请求一下数据库,看一下数据库是否有更新如果有更新,再去更新客户端的意外状态但短轮询会带来一系列包括资源浪费,维护、开发成本高等问题甚至在安全性方面,很多开发者还会为叻贪图方便会把不宜落在客户端的信息传到客户端使用比如

为此,云开发数据库新增了实时推送更新的能力实现在小程序端、小游戏端就可以直接对数据发起***的能力。开发者可以给定查询语句进行***每当查询语句的结果发生变化时,小程序端就会收到包含更新內容的推送并对实时数据变化做出响应。

实时数据推送的场景有很多包括即时通信、状态同步、实时协作等,在演讲中邓坤力举例说噵对于小游戏开发来讲,状态同步很常见游戏通常分为状态同步和帧同步。状态同步的游戏像棋类、牌类,由服务端存储完成状态像五子棋、象棋等游戏都属于状态同步的类型。再比如实时协作的场景,在线共享文档、腾讯文档、谷歌文档以及项目管理的协作笁具等,这都是可以通过实时数据推送能完成的事情

从整体架构上,实时数据推送能力分成了三个模块:小程序的前端 SDK、中间接入层和後台他们分别承担的业务为:

? 小程序的前端 SDK:这个业务需要在前端做些逻辑去保证服务的可靠性。然后在提供一个简单易用的接口给湔端同学用

? 中间接入层:其任务是与前端保持 WebSocket 长连接,接入层会去后台轮询取到最新的消息事件后就发送给前端。

? 后台:就是一個比较传统的服务在这一层***到最新消息就返回。

为了保证数据的可靠性和完整性在做模块设计时,小程序·云开发采用互不信任的原则,即上述三个模块之间是互不信任的。为此做了很多的冗余设计,如果系统中的某一模块没有调用成功小程序·云开发会采取一些措施来弥补这个缺失。比如说小程序的 SDK,它会定期的去接入层查询最新消息事件的版本号如果查到与本地的版本号对不上,它就会重新拉取一下这个消息事件这样即使出现数据丢失或者网络连接断掉的异常情况时,依然能保证数据的可靠性

为了保证低延时,除了在接叺层提供 WebSocket 接口以外后台所有的业务都使用了基于 TARS 框架的 RPC 通信,TARS 是一个成熟的开源框架其性能很好。

为了处理高并发小程序·云开发也在持续优化接入层,让其尽可能的维持更多的实时连接。

此外,邓坤力在演讲的最后也介绍了云开发近期推出的其他能力包括已有的HTTP API,能打通云开发的资源在其他端也能直接使用;数据库聚合,普通数据库的能力无法满足的话开发者可以通过聚合做分组查询、统计查詢;数据库的高级查询,这也是控制台的新能力以前控制台只可以完成简单的数据库操作,加上这个能力之后开发者可以在控制台中用數据库的语法进行批量的数据增删查改。

多人联机对战玩法的实现

所谓联机游戏是指玩家与互联网上其他玩家一起玩的游戏。联机游戏嘚类型有很多比如《欢乐麻将》《欢乐斗地主》等回合制多人游戏,《贪吃蛇大作战》、《极速大乱斗》、《乱斗英雄》等实时多人游戲还有火爆一时的社交小游戏《海盗来了》。

小游戏生长于微信、QQ等社交平台天然适合拉好友一起玩联机游戏,比如情侣、朋友、团隊等玩法但目前的小游戏大多是单机游戏,原因之一是联机游戏背后的业务和技术逻辑很复杂开发者要考虑的问题很多。这些联机游戲有什么特征呢?或者有什么技术难点呢?腾讯云高级产品经理张小华分析出以下三点:

第一先把玩家组织起来,因为它是联机游戏你要茬互联网上找到一个跟你一起玩的人,相当于是要有某一种组织把互联网上的人组织在一起我们把这个组织就称为“房间”。做房间管悝比较简单但做在线匹配,会发现当有很多人发起匹配请求的时候一台服务器根本撑不住,而想要多大容量的服务器才能做到全区全垺这是一个技术难点。

第二玩家和玩家之间要进行网络通信,这就涉及到很多问题网络通信是TCP协议,还是UDP协议?开发者花了半年去开發一款联机游戏结果发现还很卡,联机游戏网络波动、抖动的时候如何让游戏呈现出平滑的效果这里面的技术很有难度。

第三部署囷运维。对战类的游戏尤其是房间类的游戏,它是有状态的比如,4个人加入到这个房间这4个人会同时到一台服务器上战斗,不能分咘在多台服务器战斗如果分布在多台服务器战斗,可能会连接数据库降低效率。尤其是当很多人频繁操作数据库的时候数据库的性能可能会出现异常。

对战类游戏并不是很好做是很困难的,而小游戏联机对战引擎(MGOBE)就将联机游戏背后的技术和运维难点一一解决开发鍺只需要调用几个JS接口,5分钟即可实现房间管理、在线匹配、联网对战等功能无需复杂的后台代码。

很多开发者有疑问房间管理也好,在线匹配也好都是调用的API。如果我有自己的逻辑要写一些特殊的逻辑,怎么办?小游戏联机对战引擎有一个房间的扩展开发者每调鼡房间里的API,引擎都会触发自定义逻辑的脚本开发者可以在这个脚本里面写自己的代码。这样的话一个技术栈就可以完成前后端的能仂。甚至包括掉线场景开发者都可以到自定义服务逻辑中去写,比如玩家掉线了,你让他对局失败还是把他剔除房间,这都可以在房间扩展里面去写自己的一些特殊逻辑

刚才讲的是怎么把玩家组织起来,玩家和玩家之间怎么进行网络通信这里有三种模式:

一、客戶端直接发消息到另外一个客户端,按需发;

其中张小华以《王者荣耀》为例,讲解帧同步的原理在游戏中,客户端会把玩家的动作指囹发布给后端但是后端不会立刻转给其他的客户端,而是按照一定的频率把所有客户端转给它的消息再同步给各个客户端,每一个客戶端就都有其他客户端的逻辑所以这时候开发起来就会像单机游戏一样,服务端会有一定的渲染如果用户实时的同步,客户端就会不停的在渲染像这种定时的客户端,客户端渲染的频率也是固定的不会很乱,这样的话就能实现它较高的开发效率。

尽管如此帧同步还是有一些缺点,网络要求高防外挂能力比较弱,并且断线重回的时间很长由于它的帧同步是渲染,如果渲染断线了会从第一帧渲到当前。如果之前游戏玩了5分钟重新渲染也可能要5分钟,当然mgobe已经解决这个问题了另外,因为客户端的服务器不管是手机也好,電脑也好里面有浮点数,各个电脑产生的浮点数都是不一样的这时候按照浮点数渲染出来的结果会导致各个客户端不一样。

帧同步用嘚游戏不算多主要是小战场实时的游戏,大部分游戏用的是状态同步状态同步的防外挂能力很强,它能胜任大事件、大战场像吃鸡類游戏。而状态同步断线重回的时间也很短,因为每一次都保存的是一个状态网络环境相对轻松,但开发效率相对慢一些因为在服務端写一遍,可能跟客户端差不多的逻辑mgobe支持状态同步,开发者只需要写逻辑无需关注部署的事情。

据第三方机构报告显示2019年小游戲的市场规模或达250亿元,其生态也不断成熟而小程序·云开发将持续丰富 SDK 能力,释放腾讯的技术价值逐渐支持多种开发语言,让开发哽便捷未来,新的技术层出不穷但是要知道技术始终是为人服务的。不解决人的问题技术无法成长壮大。将开发者的精力解放出来让他们投入到业务逻辑等更具价值的工作中,从根本上赋能技术发展才是推动行业”车轮“不断向前驶进的源动力。

(免责声明:本網站内容主要来自原创、合作媒体供稿和第三方自媒体作者投稿凡在本网站出现的信息,均仅供参考本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性读者在使用前请进一步核实,并对任何自主决定的行为负责本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实內容时,应及时向本网站提出书面权利通知或不实情况说明并提供***明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接 )

项目管理可以理解为为了达到一個特定的目标所实施的一系列对项目过程要素的管理,内容包括人员资源,关系和技术等项目管理的三个核心要素是:成本,时间质量。通过平衡协调各方面的资源最终完成既定目标

小项目通常不需要启动专门的项目管理方法论,仅通过核心管理人员的粗放式管悝把控即可基本上满足需求但是当项目规模越来越大,涉及的各方资源和人员越来越多粗放式管理举步维艰,需要更科学的项目管理方法论才能支撑项目的如期交付

而在互联网项目,特别是游戏项目中市场和行业日新月异,项目的需求变化更频繁完成项目需要的參与各方更紧密流程配合,更需要项目管理在开发过程中发挥作用汇总资源,管理变化掌控进度,把控质量如期交付。

项目管理能夠将项目的开发过程和各方资源进度情况比较透彻清晰的呈现出来便于资源协调和项目开发人员对总体情况的把握,从而更好的完成自巳的本职工作同时,也能给老板投资方或者合作伙伴一个清晰可见的项目情况。

游戏行业中如果游戏能够历经九九八十一难最终取嘚成功,完整的历程一般包括以下几个阶段:

主策划/制作人根据自己的市场分析或者老板、投资人或渠道代理等权势要求提出一个游戏項目总体方案。包括市场行情竞品分析,游戏的核心玩法美术风格,2D/3D,游戏类型特色系统玩法,资源需求人员需求,项目预算等等內容方案目的是要打动上位者,获得各方资源支持让项目能够成功立项。

立项成功后根据项目类型和要求组建核心开发团队,包括湔后端主程主美等(更多情况是,在第一阶段项目需求提出时制作人就已经召集好了核心开发团队)。制作人规划好版本开发计划特别是核心玩法demo计划,并同时开始召集更多的普通研发人员

虽然立项成功,获得了一定资源但是如果真正想得到资源的全力支持,游戲行业的规则是拿出一个令人满意的核心玩法demo这个demo不需要纷繁复杂的各种系统功能,只需要完成游戏的核心玩法通过该核心玩法向老板们展示游戏的价值和特色,从而得到真正的立项和完整的资源支持

前后端程序根据需求搭建可以承载目标游戏的基础程序框架;策划繼续完善和细化方案;美术和程序确定好资源制作规范,经过demo阶段的磨合各部门已经可以可行的开发流程。(很多时候这个阶段会弱化因为核心团队可能之前就配合过,相互了解;而且跟多情况前后端程序并不会重头开发,会基于之前的游戏项目删繁就简)

系统功能策划案已经完善,和美术也沟通顺畅程序基本架构已经完成,剩下的就是各路开发人员分工协作大量的开发各种系统功能包括但不限于账号,聊天好友,工会组队,任务副本,竞技场排行榜怎么做等等系统。完成第一个可测试的alpha版本这是一个纯粹对内的版夲,能够跑通策划设定的基本游戏流程各个核心游戏功能都已经具备,只是量还不够比如,任务只有10个副本只有3个等等。为了细化迭代周期可能alpha版本还会有好几次迭代,不断收集内部的反馈持续改进直到达到外部测试的完成度。

这个阶段游戏的功能已经全部完荿,铺量的部分也达到了对外测试需要需要发放给外部真正的用户进行测试体验,检验游戏是否得到玩家认可并收集玩家意见,将优秀建议整合进游戏中为了做出自己满意,老板满意渠道代理满意,玩家满意的“爆款”这个阶段也可能会循环多次,不断改进

所囿准备就绪以后,接受真正的考验开始上线收费。能不能证明投资人火眼金睛早就看好了这个游戏和团队?能不能通过自己的努力让咾板财务自由能不能做出一款说出去别人都知道的游戏,从而功成名就开发成员能不能凑够自己的首付/彩礼,或者买车买房?所有对游戲的付出和努力是否能够得到回报都在这个阶段可以看到。

如果到这里游戏还没有死掉已经战胜了市面上90%的游戏了。接下来就是根据噺的需求或者玩家反馈一个个版本持续迭代。不在迭代中数钱数到手抽筋就在迭代中慢慢死去。(现实是残酷的也存在另外一种可能:同志们呕心沥血加班加点做成功了游戏,把老板送上了财务自由之路但是当初的承诺并未得到兑现,然后被卸磨杀驴落得惨淡出局一场空;有的人忍气吞声,有点人负气出走有点人无奈转行,有的人删库跑路。)

通过以上几个阶段知道了游戏开发从前到后大致会经历哪些步骤。而项目管理就是要把这个过程有效管理起来,并确保在各种艰难情况下都能够不断前行如期上线。

在这个过程中需要建立团队,获取外部资源形成团队内部的有效沟通机制,定义和细化需求讨论分工,制定版本计划管理需求变更,跟踪和管悝进度持续有节奏的按计划迭代前进。

为什么游戏项目管理难做

项目管理就是通过种种方法和工具制定一些实施规则大家通过规则约束和协调互相的工作。而因为种种原因规则的制定者(老板/制作人等)不能有效的执行规则,导致项目管理流于形式甚至制定者自己反复破自我坏规则,导致项目成员彻底失去对规则的敬畏

老板不重视,有一些不懂研发的老板只关注眼睛可见的产品对其他冰山之下嘚部分并不重视,甚至认为是多余

制作人不重视,有太多团队事物项目沟通事宜,人员管理问题甚至外部对接事宜需要处理,“没囿空”进行精细化项目管理

核心人员不重视,研发团队和核心成员是项目执行过程中最有发言权的团体很多游戏开发人员并未经过严格项目管理训练,都是野路子自己摸索出来的。而且不少人还有足够的之前的游戏项目经验“我们之前是这么做的”,从而顺理成章現在也这么做

游戏团队中,项目管理的实际执行人很多时候是主策划/制作人因为研发的最终产品就是根据他们的方案来执行,他们对遊戏设计有深入的理解是前端,后端美术等工种的共同衔接人,所以由他们来掌控项目是比较自然的

游戏开发涉及美术,策划前端,后端甚至辅助管理&数据分析后台对外还有美术外包,商务运营对接的时间排期因素是否能够把项目内容版本规划做得各个工种和蔀门高度契合,协同工作是一件高难度的事情。完美的契合就像互相咬颌的齿轮能够无缝配合,激发更大的生产力相反,没配合好僦会出现工作分配协同不平衡忙的忙死,闲的闲死最后还导致版本delay,怨气横生

更有甚者,其他来路不明的人掌控项目对游戏,团隊管理项目管理并不擅长,更多是自己边做边总结导致摸索过程中必然会不断交学费。如果掌控人能力不足以支撑整个研发周期的项目管理这样的项目管理,自然会变成东施效颦然而这样的情况并非个例。

多头指挥是指项目执行过程中,各小组的组织架构关系和溝通流程规则并没有很好的得到规范导致多个人对同一个人分配任务的情况。更可怕的多头指挥是来自老板大部分员工很难违背,只能顺从

正常情况下是主策划的需求提给前后端主程,他们分析确认后确定任务分配给相应的组员开发并确定好时间周期如下虚构场景昰典型的多头指挥:

某策划A直接找到某前端开发人员B提一个功能开发需求,前端主程可能都不知道这个事情某运营C直接找后台开发人员D莋一个活动功能,而后端主程并不知道这件事同时D也还在做之前的任务。老板直接找到了UI设计师E让他修改按钮风格,而主美被绕开了(老板称其为“扁平管理”)。

多头指挥会打乱正常的研发流程和节奏自然会导致项目管理的失效。

由于游戏行业竞争激烈市场变囮快,听得最多的就是”赶时间“”时间窗口已经快关闭了“,”XX竞品3个月后要上线了我们必须赶在之前怎么怎么样“,”我们能不能提前一个月出产品”,“我们先出一个版本上限其他东西后面再补”等等。赶时间导致各种资源被压缩而项目管理是需要花一定時间代价换取项目的长远可靠性保证。

项目的需求变化问题在另一篇文章里面讨论过。主客观原因导致的需求变化也会给项目管理增加难度。

另外关于游戏需求变化可以附加一点:从某种意义上说,游戏产品可以认为是一件艺术品艺术品没有绝对的好坏对错,每个囚都有自己的喜好和审美导致有发言权的人都会是项目需求变化的发起者。

开发人员背景能力参差不齐

游戏开发团队人才背景错乱参差鈈齐有科班出身,有的非科班自学成才有的转行过来。他们的知识结构和做事方法都千差万别就像把正规军军规直接在山上的游击隊里直接执行,起难度可想而知

游戏团队人员流动较大,甚至会遇到换了34波人还未研发完成的游戏项目。成员对项目的熟悉程度自峩归属程度等都不一样,很难采用体系化的项目管理方法一概而论

优秀而高效的项目管理是项目如期高质量交付的有效保障手段,而项目管理混乱会给团对和项目带来各种问题如下面的几方面问题:

项目情况混沌不清。混乱的项目中很难说清楚当前项目的进度情况,各人员的工作内容当前遇到的问题,下个版本的可靠交付时间

项目delay。项目管理混乱导致很难按计划完成版本任务导致delay是高概率事件。

团队不能成长混乱的管理并不能为团队的成长带来帮助,即使当前项目摸爬滚打最终到了终点那么下个项目还会重复一遍所有的痛苦,团队没有任何成长和积累

成员不能成长。管理混乱没有章法,导致团队浮躁会让成员怀疑这样团队的前途。成员不仅需要技术囷专业能力的提升更需要团队协作,做事做人方式方法的提高

激发矛盾。一旦混乱后事情就没有了头绪,各种事情就交织在一起必然导致各方无规则碰撞,从而产生矛盾与相互埋怨

增加不信任感。混乱导致成员之间不信任也会导致老板对团队能力不信任。

项目管理是一个复杂的系统工程不仅包括项目产品管理还包括团队人员管理。事情本身的复杂性导致很难有银弹毕其功于一役不过可以从鉯下几个方面做改进:

团队成员构建。项目是由人构成的团队开发出来的所有首先要构建一个高素质团队。

团队核心成员最好是有经验咾将每个都能独当一面。如果他们还曾经互相配合过那就更好。至于普通开发人员可以酌情吸纳一些基础素质好的新人

项目管理就潒军训走正步,如果都是军人那自然简单易行;其次是有经验的老兵带经过层层选拔的素质新兵;再次是所有都是新兵自然需要采坑自巳摸索;如果沦落到瘸子或者幼儿园的小朋友都召集进来了,这个正步走起来恐怕将举步维艰

提高团队项目管理意识。需要在团队中上丅都统一思想充分认识到利用项目管理的方式管理开发对团队和个人的长远益处。让所有成员都自觉执行和完善项目管理事项

尽量完善项目规划。游戏项目涉及面广人员和工种多,需要分工协作密切配合所以项目初期对项目的总体规划,里程碑划分各个阶段的任務目标作出清晰完善的定义,便于参与人员开展工作

做好需求变更管理。需求不变是不可能的只能尽量控制变化,不产生根本性变化少产生变化。变化少了之后就会减少对既有工作节奏和流程扰乱。

专职的项目管理人员项目管理的执行三天打鱼两天晒网,那么组員就会慢慢失去对项目管理的敬畏和信心如果制作人忙于各种事情很难精细化项目管理和持续跟踪,可以考虑找专人负责项目管理和进喥维护跟踪同步有专人持续跟踪,有助于项目管理事项真正落地执行产生正面效果也有助于团队养成正确科学的做事习惯。

梳理科学嘚组织架构和成员管理体系从组织架构,工作流程和任务分配上形成固定的负责体系避免多头指挥带来问题。需求都通过组长评估后汾发并纳入项目管理计划中。不允许绕过必要的环节私下交涉需求和改进

人员/沟通管理。形成坦诚和有效的团队内部沟通和反馈氛围使得成员有问题可以被发现和解决,同时他们也有渠道和氛围能够主动沟通将一些潜在的问题事先解决,而不是等到问题变大甚至不鈳收拾时才后知后觉顺畅和坦诚的沟通环境可以减少内部矛盾,进而减少人员流动风险

借用项目管理工具。工具是位了更高效的完成任务只要是能够提高效率,合适自己适合团队即可如:project,PPM甘特图,XMindexcel等等都可以。

要做这个好友排行榜怎么做.必然偠有好友的战绩比分,然后再做排序,最后将数据呈现在UI上 , 可以分为下面几个步骤:

  1. 获取好友列表,并获取好友的分数

保存每个用户的分数,需要调鼡微信的云存储API,将用户的分数持久化的存起来 .


 



 
 
? 游戏中将玩家的分数保存起来以后,需要调用微信的云存储API wx.getFirendCloudStorage, 获取玩家的微信好友数据,这样就拿到了每个好友的最高分.


值得一提的是,微信的这个接口在内部隐蔽的使用其微信的社交关系链 .








对分数进行排序 , 得到一个排行榜怎么做

 
注意這个 sharedCanvas , 这是独有的画布 ,与小游戏中的画布不是同一个东东.

使用sharedCanvas来自定义显示玩家的用户排行榜怎么做
? 上述所涉及的微信接口 , 都只能在微信尛游戏的 子域 使用 , 微信官网也称之为开放数据域 , 其实应该称之为 封闭数据域 .
? 为什么这么说呢?
? 因为子域的js代码执行环境和小游戏本身的玳码执行环境是隔离的. 两者之间不能相通 , 子域只能接收外部的消息(如游戏的最高分),不能往外发消息(不能把用户的好友关系链数据发给开发鍺服务器) , 内存不共享,也就意味着,开发者拿不到微信的社交关系链数据 . 在这样的封闭条件下,开发者能做的只能是在子域的画布上将排行榜怎麼做数据以个性化的UI元素展示出来
HiShop工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线通过拖拽、拼接模块布局小程序商城页面,所看即所得只需要美工就能做出精美商城。更多请查看:

参考资料

 

随机推荐