如何评价unity3d unet5中多人游戏和网络模块UNet

作为一个从入行开始到现在,断断续续做了快5年2D动作游戏,但以后说不定再也不会参与动作游戏的策划,看到这个题目真是感觉感慨万千……作为退出动作游戏这一领域之前最后的一丝留恋,决定尽我所能来好好地回答下这个问题吧。&br&&b&如果没有耐心的可以优先看加粗的黑体字,基本只要记住这些做出来的动作都不会太差了。&/b&&br&&br&&br&首先这个宽泛的问题需要拆成两个部分。第一个就是如何设计一套好的、连贯的连招动作。&br&&br&在这里要写在最前面的一句话:&br&&b&完美的连招动作是不存在的,除非你做的压根就不是动作游戏。&/b&&br&为什么这么说?因为宽泛上的连招的定义,就是当我使用下一连招招式的时候,可以取消之前招式的后续硬直从而使得本来单独的两招形成衔接。&br&这样就会产生两个问题:&br&1,前一连招(为了方便以下简称为A吧)的收招动作中,在哪一时刻会使用后续招式(以下B),是受玩家操作影响的,因此在衔接的过程中不可能保证A硬直中的每个时刻都能完美衔接上B。&br&2,A的后续可以为B,但根据玩家的操作同时也可能有C/D/E等等的招式来衔接,而BCDE的起手式不可能都一样,因此与A的衔接必定会产生不同。&br&因此,只要是全程由人操控的动作类游戏,就不可能存在所谓的完美连招动作。而如果完全排除掉人操作的介入,那么也就不是动作游戏了不是。&br&&br&扯了这么多有的没的,接下来真正进入正题:如何设计一套连贯的连招动作。&br&在这里我想拉出苍翼默示录Ragna的最最基本民工连来进行说明。&br&&img src=&/a6c6a1d8cdf3660de91e_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/a6c6a1d8cdf3660de91e_r.jpg&&连击起始,A攻击的拳头命中&br&&br&&img src=&/075bad81e0ece38e6c03_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/075bad81e0ece38e6c03_r.jpg&&紧接着B攻击,变为向前方的脚踢。&br&&br&&img src=&/4c198c96a9f84ebbfc72_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/4c198c96a9f84ebbfc72_r.jpg&&抽出背后的大片儿刀砍人的C攻击&br&&br&&img src=&/2d81b3d704dfff9aea99a19dcc70de43_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/2d81b3d704dfff9aea99a19dcc70de43_r.jpg&&接着D攻击,出招的瞬间刀被收到背后了,同时进入下一次攻击的准备动作。&br&&br&&img src=&/32acb57db1b2876dfb3d6_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/32acb57db1b2876dfb3d6_r.jpg&&&br&&img src=&/ebad4b5a66e70c9b133fcc97108c12af_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/ebad4b5a66e70c9b133fcc97108c12af_r.jpg&&D的二连斩一气呵成&br&&br&&img src=&/dbd7e7a3e06f6c6e921d0_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/dbd7e7a3e06f6c6e921d0_r.jpg&&敌人被推远的同时,刀也是立刻被收起来,进入24A的出招动作&br&&br&&img src=&/aeea46dc6c5e_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/aeea46dc6c5e_r.jpg&&&img src=&/bf46e764a03f4bbcaf625_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/bf46e764a03f4bbcaf625_r.jpg&&冲拳的24A&br&&br&&img src=&/e37fa3175ffb9d369b102c6_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/e37fa3175ffb9d369b102c6_r.jpg&&&img src=&/d20f6c3b2d7bc5b4100df46bbeca8c42_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/d20f6c3b2d7bc5b4100df46bbeca8c42_r.jpg&&完成最后冲刺的追加气(血?)浪攻击,连击结束 。&br&&br&&br&这整套动作中,前面的A~D是大的覆盖小的连接,即你可以A-&B-&C-&D,也可以跳过B直接A-&C-&D,而最后的24A则可以取消A~D任意一招的动作直接使出(当然能否形成连击另说),因此玩家在何时使用下一连击,以及怎么连击都是存在不确定性的,招式之间的过渡就无法做到真正意义上的完美衔接。&br&&br&通过截图也可以确认出来,部分招式在衔接的时候,人物动作中的一些元素(最明显的就是背后的大片儿刀)会以现实无法达成的速度“瞬移”到某个位置,之后才进入新的招式。&br&&br&这些“穿帮”都是因为逐帧的截图而暴露了出来,但是在实际的游戏过程中,却从来没有人感觉到有任何的违和感,反而都会觉得这个游戏的连招动作异常的流畅且酷炫。&br&&br&&b&究其原因,就是因为整套的连击,在动作设计的过程中抓住了最重要的一点:&/b&&br&&b&所有动作衔接的时候,做出动作的人物的着力点(地面动作通常为脚)始终都保持着较为高度的一致性。&/b&&br&&br&&br&意即是说,在不能保证人物整体完美过渡的情况下,优先保证了脚(双脚或者作为重心支点的单脚)在各个动作中的衔接,这样一来的好处是,即使后续动作相比较前面的动作,其变更幅度再大,在人的视觉认知上都会觉得其力的出发点是一致的。这个超乎游戏外的“一般的经验认知”,碰上动作设计的过渡动作,再加上一闪而过的“扭曲”以及各种特效,造就了动作整体上的流畅性。&br&&br&以上说的都是一般的情况,即连击的套路、规则都相对比较固定的前提下的情况。而在实际的游戏设计中为了爽快感,通常都会进行一些“特殊取消”的设定,在特定条件下可以将原本不能取消的招式强制中断并进入任意后续连招状态。这种连招形式比起之前的,更加没有规律可循也更加具有不确定性。针对这种,&b&通常都可以用一种讨巧的办法——招不足,特效凑。&/b&&br&&br&&br&随便举两个例子。&br&DNF中的强制,就可以立刻中断当前攻击(通常为普通攻击)并立即使用下一招连上的系统。因为DNF本身并不是一个强地面连招的游戏而且本身动作的帧数也偏少,因此在触发强制招式的时候会出现人物上一招式的残影并直接进入下一招式的动作中。&br&&img src=&/e1c3ac33f_b.png& data-rawwidth=&130& data-rawheight=&121& class=&content_image& width=&130&&白色残影为之前攻击时的动作,被强制后跳给取消掉了。&br&&br&同样的苍翼默示录中也有直接取消当前动作进入待机状态的Rapid系统,在触发时人物本身会泛白,而同时周围会出现一圈特效。&br&&img src=&/0c2caa10c2e33c06faa8d31c95faa5f9_b.jpg& data-rawwidth=&960& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&/0c2caa10c2e33c06faa8d31c95faa5f9_r.jpg&&&br&Rapid启动时人物周围出现红色的光晕特效。&br&&br&因为特效、残影的存在,玩家的注意力会在一瞬间被吸引住,而忽视了这时候太过唐突的动作过渡。不得不说这是在不大量增加工作量的前提下一个相当聪明的解决办法。&br&&img src=&/6256415fcdef69c4153279_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/6256415fcdef69c4153279_r.jpg&&街霸4放UC时的特写也可以属于这一类,因为UC可以超级取消掉大部分的地面招式。一旦切换到特写画面基本玩家基本不会在意之前的动作是多么不合理了……&br&&br&&b&好了,基本到了这里,针对连招设计的本身已经没有什么可以说的了。总结来说就是:&/b&&br&&b&1,在无法把握全部动作的前提下,把握好人物每个动作衔接过程中的着力点&/b&&br&&b&2,适当地通过特效、光影等弥补动作上可能存在的不足&/b&&br&&b&3,嗯之前忘了说,但是也许是最重要的一点:在做连招的过程中保持与美术的沟通,单个动作方面可能他是专家但连招的整体还是需要你们共同完成&/b&&br&&br&&br&以上,仅仅是如何做一套“连贯”的连招。但是如何做“好”的连招,则除了这些注意点之外,还需要对连招的节奏进行把握。&br&&br&还是以上面的Ragna的民工连为例。&br&A~C,可以认为是连招的“起”部分,整个从轻到重的动作都是一刀完成不拖泥带水&br&D,是连招中的一个大分水岭,因为D之后,普通技完结了,后面的是可以有多择的搓招必杀技部分,因此D的攻击持续时间非常长,自身就带有2连击,玩家可以在这段时间内有充分(当然是对于熟手来说)的时间考虑之后的衔接。因此整个D的持续时间,与之前的A~C 3连击持续时间相仿。同时在视觉效果上也开始加入了华丽的特效。&br&必杀技24A,作为我选择的连招的终结技,具有快速的1段冲拳及追加的2段气浪,除了本身攻击的持续之外更有将敌人击飞后充足的欣赏、确认、调整时间。特效也最华丽。&br&&br&&b&因此,一套完整的连招,和一篇吸引人的文章,其注意点应该是一样的:&/b&&br&&b&起:干脆利落,让人一目了然&/b&&br&&b&承:较多的铺垫,让玩家对之后的走向有充分的准备&/b&&br&&b&转:丰富的分支,让人对其后的发展更有期待&/b&&br&&b&合:之前所有的积累在此爆发,造成最大的爽快感&/b&&br&&br&当然,这些内容相当的……假大空。因为没有实际制作过那么几款游戏,是比较难体会到这些的。&br&同时,还要再次再次强调,连招的设计者和制作者并不是你一个人,随时保持与美术的沟通,让他们也能参与进来,也许会事半功倍。&br&&br&&br&&br&&br&&br&&br&&br&然后,是有关连招的时间。&br&因为不太明白这问题要问什么……所以只能简单地说两点?&br&&br&第一就是连招中招式之间的时间。&br&一般连招的定义,就是命中后对方无法再逃避掉的一系列攻击。所以基本的时间要求就是两次攻击判定的出现间隔小于敌人被前一招命中后的受创动作持续时间就行。&br&当然,这个”受创动作“的时间,根据实际情况也可能不同,例如地面受创时就可以单纯地认为是受创动画的持续时间,而如果是浮空的招式的话,一般情况下都是敌人从浮空到落地为止的时间。这个时间一般都会比地面的受创长得多,留给玩家操作的时间也更宽裕。因此现在大部分的动作游戏大多采用的是浮空系的连招系统而非硬直系的连招系统了。&br&&br&第二就是整个连招的时间。&br&这一般就根据具体的游戏节奏而定了。但一般说来,一套完整的连招,高强度的(参考传说系列)持续时间不宜超过5秒,即使再低强度的也尽量不要超过10秒,不然在一次闯关过程中很容易让人产生疲劳。当然较轻松就能无限连击的话在放宽也无所谓,但是这样真的能算是动作游戏么 - -&br&&br&&br&&br&至于最后的意义什么的……说实话,感觉每个玩游戏的都能说出好多- - 个人觉得,连招成功后带来的成就感,以及在研究连招的过程中揣测制作者的意图,也是动作类游戏的乐趣及醍醐味不是么?&br&&br&太晚了就说到这了。后面……估计也不会有更新了吧- -
作为一个从入行开始到现在,断断续续做了快5年2D动作游戏,但以后说不定再也不会参与动作游戏的策划,看到这个题目真是感觉感慨万千……作为退出动作游戏这一领域之前最后的一丝留恋,决定尽我所能来好好地回答下这个问题吧。如果没有耐心的可以优先看加粗…
&p&&b&“框”的奥秘&/b&&/p&&img src=&/c1bea4afedc5bf326dcd4_b.jpg& data-rawwidth=&448& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&448& data-original=&/c1bea4afedc5bf326dcd4_r.jpg&&&img src=&/ba0f6bb851f35a5e33a31d_b.jpg& data-rawwidth=&480& data-rawheight=&270& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&/ba0f6bb851f35a5e33a31d_r.jpg&&&br&来自于机核网&br&----------------------------------------------------------------------------------------------------------------------------------------&br&上面是格斗游戏,&br&动作也差不多,&br&2D的叫做框,&br&3D的叫做hitbox,&br&当两个框(hitbox)碰到一起的时候,&br&我们就认为发生了碰撞。&br&------------------------------------------------------------------------------------------------------------------------------------------&br&当然这都是要在一个标准内才能判断,&br&这个标准就是帧,&br&判定帧。&br&有两种,&br&一种是一帧判断,&br&在一帧内判断框有没有相交,&br&缺点是如果太快的话可能会出现穿透无法检测。&br&还有是好几帧判断,&br&计算几帧内物体碰撞检查体的运动轨迹,并求碰撞时间。&br&一般是射线+包围体。包围体沿射线移动。&br&缺点是只适合FPS(飞行物体)。&br&反正动作游戏(近战)是没人用的。&br&--------------------------------------------------------------------------------------------------------------------------------------------&br&那么框(hitbox)要多少个呢?&br&这些是商(行)业(业)机(惯)密(例),&br&想知道的话请准备好学费去找同行请教吧,&br&当然你也可以自己猜,&br&学费总是免不了的。&br&--------------------------------------------------------------------------------------------------------------------------------------------&br&来源:&a href=&///?target=http%3A///wenda/385834.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&有什么高效的碰撞检测方法呢?我用现在的方法虽然能实现,但是想做到最好,不知道有没有其它的关于碰撞检_IT知识问答&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//rxyxaw./blog/static/7444590/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&多物体碰撞检测方法&i class=&icon-external&&&/i&&/a&&br&&a class=& wrap external& href=&///?target=https%3A///zh-cn/blogs///%3Fcid%3Dsw%3Aprccsdn2160& target=&_blank& rel=&nofollow noreferrer&&游戏里实现碰撞检测方法&i class=&icon-external&&&/i&&/a&&br&&a class=& wrap external& href=&///?target=http%3A///hardware/7473.html& target=&_blank& rel=&nofollow noreferrer&&DirectX 12提供更优秀的碰撞检测系统和丰富场景_&i class=&icon-external&&&/i&&/a&&br&《实时碰撞检测算法技术》&a class=& wrap external& href=&///?target=http%3A///ebook/65.html%23download& target=&_blank& rel=&nofollow noreferrer&&实时碰撞检测算法技术 pdf格式&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//www./articles/14993& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浅谈格斗游戏的精髓——方块的战争&i class=&icon-external&&&/i&&/a&
“框”的奥秘来自于机核网----------------------------------------------------------------------------------------------------------------------------------------上面是格斗游戏,动作也差不多,2D的叫做框,3D的叫做hitbox,当两个框(hitbox)碰…
之前有邀请,正巧最近正有朋友询问这方面的问题。想从不一样的角度来探讨动作游戏的“打击感”话题。&br&已有的回答都非常实用且精彩,譬如帧冻结,音效和画面的统一等,但我觉得这些都是“术”,就像驾驶汽车的教学视频,教学理论一样,但是真正的赛车手一定不会是靠教程来开车的。于是我们需要再来谈一谈“&b&道&/b&”的问题。&br&&br&于是我尝试着再问出一个问题:&b&为什么你需要做一个打击感很强的动作游戏&/b&。&br&这里面,不同人可能会出现两种回答:&br&1,因为目前端游讲究“无锁定”,而手游也进入了所谓的“轻度转重度”的时期,所以动作游戏切合了目前市场的发展方向,而动作游戏的品质很大一个程度来源于“打击感”,因此,为了做出迎合目前市场方向又有优秀品质的动作游戏,我决定研究一下打击感这个问题。&br&2,因为我从小就是狂热的动作游戏玩家,从最早的红白机忍龙,到街机的恐龙新世纪,到主机时代的四大作。我深深沉迷其中,曾为鬼泣4中的三红尼禄通宵苦练,也曾在忍龙中从被虐成狗成长为把boss虐成狗。而今天,我终于有机会参与一款这样的项目了,我要把这么多年来的认识和理解充分地表达出来,让我的玩家也能体会到我当年的激情。&br&我对于传统的国内游戏公司的架构并不太了解。不过从朋友处了解到,目前游戏从业者80%大概属于1类。繁重的生活压力,无休止的加班,不太可能留出纯粹的游戏时间,更不现实的是在某款动作游戏达到”达人“状态。&br&&br&&b&但是,动作游戏,却偏偏是一项如同民间捏泥人老艺人般,需要有”细活儿“的游戏类型。&/b&&br&&br&&br&可以说,在了解了其它回答中“术”的前提,并能够充分咀嚼了所有的技术细节,甚至辅助于各种外围工具的基础上,一个动作游戏的“打击感”只能说是完成了30%,而另外70%,则是由大量的制作者的&b&“动作/格斗游戏素质&/b&“来决定的。&br&”动作/格斗游戏素质“指的是什么?指的是对这种类型游戏的精妙之处的深层次理解,以及对这类游戏发展的历史脉络的文化上的了解。&br&随便举几个例子譬如:&br&ggxx中eddie的零择。&br&拳皇97中的无限连招。&br&鬼泣4中但丁的无限浮空。&br&鬼武者3中每个boss的一闪杀法。&br&只有大量地理解了动作/格斗游戏的深层奥妙和逻辑,才有可能了解到所谓的“打击感”,其实是一种手-眼-脑统一的状态,这甚至并不是指打击的效果,音效之类的东西,而是指一种“做了某种努力并得到某种反馈”的感觉。很多时候,甚至反馈效果是一样的,由于实现反馈的方式不同,你的心理状态仍然非常不同。&br&举一个例子:早期的格斗游戏其打击效果其实是很有限的,但是,假设在你的一套连招中,打到敌人身上的招是“啪~啪~啪!!”最后那一下“啪!!”的打击感受是跟前两下截然不同的,如果在街机上,就是紧张地小心翼翼地按了两次键,最后一下则是手掌拍了下去,有种宣泄的感觉。这时候,打击感是完完全全来自于动作设计,而不是来自于打击效果的。譬如八神的葵花,完整的打击是3段,正是“啪~啪~啪!!”的感觉,设计者为了突出最后一下“啪!!”的畅快感,设计了夸张的打击动作,以及八神的喊叫声,营造了宣泄感。而葵花还有无限连的手法,是不打出最后一下的,还有衔接大招的手法,是最后一下宣泄感更强的……于是一个简简单单的打击效果,给人的打击感千变万化,心理感受跌宕起伏。&br&但是,如果完全对动作/格斗无感的普通开发者,光学习一堆位移,帧冻结,音效之类的东西,是永远做不出这样的设计的。反过来,如果是动作/格斗游戏素质很高的开发者,也许他对理论没有系统研究,光凭感觉做,也会显得是“更对”的。&br&因此对于提升“打击感”这个问题,应该从深层次的考虑。如果是项目管理者,团队的领导者,应该在团队构成上就大量吸纳本身就是资深动作游戏玩家,并具有专业技术的开发人员。如果是具体岗位的人员,不妨尝试着去彻底放松,把自己当做一个纯玩家,去在主机上彻底体验一部经典的动作游戏,如果有可能的话,应该全成就,全内容。有人说,我天天加班没时间,这也许是最大的问题——游戏从业者天天加班做游戏,功利性地学习理论知识,却没有时间去玩游戏。但无论怎么说,玩游戏总是更轻松愉快的吧?&br&根据给tx做过分析报告的小伙伴说,tx的某作品,虽然已经用上了最先进的技术,最兢兢业业的策划和美术,其打击感的ux量化感受,仍然不及97年像素级的拳皇97,而且差的不是一点点。tx的开发能力是很强的,可以认为他们的“术”已经达到了顶峰,但是为什么会是这样,我想也许是“道”的问题——当年制作kof的是一群狂热的格斗游戏人,而tx里也许是一群勤奋,努力,工作认真负责,希望做出成绩养家糊口,拥有一切优良素质,但是就是不太玩游戏的好同志。&br&&br&如果让我选择更适合做动作游戏的人,我愿意选择看了下面这个视频会high得热泪盈眶的人:&br&&a class=&video-box& href=&///?target=http%3A///v_show/id_XMzQ4MzczMjEy.html& target=&_blank&&
&img class=&thumbnail& src=&/0D5DC7CD841D7E-A76A-4ADF-F7B467EA68F7&&&span class=&content&&
&span class=&title&&【N.G.D 2 -燃情的记忆】世界顶级动作游戏盛宴MV
作者:KOTOHO&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&/v_show/id_XMzQ4MzczMjEy.html&/span&
&/a&最后,让我们举一个例子结束这个可能有点文不对题的回答:&br&我们上学的时候都学过英语,我们这些俗人学英语的方式总是刻苦地背单词,背语法,做题,我们的学习方式都是痛苦的。但大家的班级中,一定都有那么几个人,要么是父母从小影响,要么是本身兴趣,平时喜欢看美剧,英剧,英文小说,总之是各种接触英语文化……考试到了,背单词最刻苦那几个人得了高分,看美剧的那个人也得了高分,于是大家都心安理得地继续背单词去了。&br&但是后来大家都长大了,甚至出国留学了。背单词那几个人发现自己只能应付最基本的英语应用需求,而从小看英文小说,看美剧的那个哥们,现在已经可以自如地英语混夜店,搭讪泡妞了,也许语法有点错,单词有点不够,但是who care?
之前有邀请,正巧最近正有朋友询问这方面的问题。想从不一样的角度来探讨动作游戏的“打击感”话题。已有的回答都非常实用且精彩,譬如帧冻结,音效和画面的统一等,但我觉得这些都是“术”,就像驾驶汽车的教学视频,教学理论一样,但是真正的赛车手一定不…
对我个人来说,加班这件事是我来到上海,进入游戏行业以后才开始的;而持续性的加班到凌晨,甚至一周内几次通宵这种事情,是我从支援岗位转到研发岗位,随着职位和薪资越来越高,而越来越严重的&br&&br&&p&因为最近自己做的项目临近上线,从制作人到QA在持续一个月的时间内,每天都过着昼夜颠倒的生活,上午见不到人,晚上十二点以后反倒睡NMB起来High,在一个个凌晨三四点还在拼命测试发版本;&/p&&br&&br&&p&而作为一个入行四五年,仍然十分厌恶加班甚至可以通过放弃职位和部分薪水来避免加班的主策划,我在已经刻意躲着加班的情况下,仍然复发了胃病,生物钟也在将近两周时间内完全紊乱,我觉得我不得不想一想:首先,这么做是否值得,其次,我难道要一直这么加下去,直到我的身体,真的无法支撑才停下吗?&/p&&br&&br&&p&带着疑问,我开始码这篇文字,我现在还不知道文章的结尾我会得出怎样的结论,但我必须说服自己,否则,我将无法抱着一颗平常心,在工作的道路上,继续前行。&/p&&br&&p&你知道,这世界上有什么东西,在还没有看到任何回报(基本工资除外,而且大多数基层研发人员的工资远没有外界吹的那么高),甚至知道得到回报的概率小的可怜,但仍然可以让一个人抛弃妻子,抛弃家庭,抛弃自己的爱好与几乎所有私人的时间去奋斗吗?不是共产主义,是游戏研发。&/p&&br&&p&一个事物的产生与发展壮大,从来不会是毫无原因的事情,别的行业我不了解,游戏这一行疯狂加班的起因,个人总结下来,大概有以下三点:&/p&&br&&p&1 死的档期,活的需求;&/p&&br&&p&a一个游戏根据类型,在立项之初,大致的研发周期就可以通过调研测算出来,太长老板会杀了你,太短你自己心里都没底;然而玩家的需求在逐渐增加,玩家的视野在逐渐开拓,竞品的画面和设计思路也总会日新月异的不断变更,任何一个以项目为导向的研发人员,想要让自己的产品有更大的成功率,除非你是乔布斯,否则在研发过程中及时关注市场动态与修改甚至推翻设计需求,是很难避免的。而这多出来的工作量,只能靠非常态的工作时间,即加班,来弥补。&/p&&br&&p&b一个游戏在引入发行和渠道以后,上线日期就已经不是研发一方可控的了,支持方永远需要在更短的时间内看到更多的游戏功能,然而研发的精力,能力,人力都有限,为了尽量满足需求,只能依靠加班&/p&&br&&p&2 从业人员的工作态度,工作经验,工作能力水平参差不齐;&/p&&br&&p&a 影响对研发周期的估算;这点矛盾体现的最突出的执行层面,在程序这里;因为只有程序完成的功能,才叫落地,所以程序的进度很大程度上代表了项目最终的研发进度;比如一个系统,有经验的,靠谱的程序会估出一个相对合理的研发周期;然而混日子或者经验欠缺的程序往往估出的时间不具有参考价值,又应为程序算是最有门槛的研发工种,一个程序出身的制作人或者项目经理面对不熟悉的模块,都未必可以估的准研发周期,更别提让一个完全不懂程序的策划或者项目经理去做进度预估了;所以,当进度出现问题时你会发现所有的项目组几乎毫无办法,也无法问责,唯有加班补齐进度&br&&/p&&br&&p&b 影响到对可能产生问题的预判;这一点,策划和程序都有可能出问题,而且策划出问题的后果要远比程序出问题来的严重;譬如,策划对整个系统的目的没有理顺,文档逻辑不清晰或者遗漏了太多重要细节,又没有在研发过程中进行足够的交流来阐述设计意图,那么做完以后的东西返工甚至因为面目全非而推翻重做的概率是相当大的,这个时候策划你可以炒掉,但浪费的时间,还是要靠加班补足&/p&&br&&p&c 影响到解决问题的方式和效率;当出现问题的时候,经验丰富或者能力强的从业者,可以用简单的方式达到相同或者类似的效果,在确认无法达到这个效果的时候,同样是这些人,知道怎么做决策,怎么保留最核心的东西而放弃边缘化却占据时间和工作量的东西来保证游戏体验,但是大部分人不具备这个能力,所以这个时候,如果你选了一个笨办法,那不好意思,谁让你笨,请加班&br&&/p&&br&&p&3 研发目的不明确,研发流程不顺畅;版本节点不清晰,版本功能验收不严格&/p&&br&&p&a 缺少了目的的研发是非常恐怖的,就像你在大海里用手划船,四周仿佛都是比你快的战舰在等着毁灭你,你怎么办?你除了拼命划,让自己找到心理安慰,没有别的办法。这里的拼命,指的就是拼命加班。这仿佛是你唯一能够抓住的东西了。&br&&/p&&br&&p&b 每一个版本,如果验收的时候有太多的推脱和理由,人情和事故,导致功能缺失,需求未实现,那么最后上线前一定会如数甚至加倍奉还给你,道理大家都懂,能做到的就太少了,做不到没事,记得上线前至少一个月,留半条命给加班。&/p&&br&&p&那么,我们简单总结一下这三点,得出结论:因为行业性质决定,所以做游戏,得加班;不愿意加班,就别做游戏。&/p&&br&&p&作为一个入行四年多,做到主策划的半职业音乐人,即使我多么的热爱生活,热爱我的吉他,热爱在演出的时候看到的每一张脸,期望和我的家人共度自己所有法律授予的应得的私人时间,我都必须逼着自己明白这个道理,否则,我只能转行。&/p&&br&&p&所以,我今天不喷加班;我喷的,是加这种档次的班,即:&/p&&br&&p&毫无目的的跟风加班,别人加,我们也要加,我不知道我们为什么要加,但是我们必须要加。我们不但要加班,我们还要把加班制度化,996,10106,单休;你有事必须加,你没事陪着有事的人,也要加,加班是为了你好,是为了你有一个光明的未来balabalabala……&/p&&br&&p&众所周知,因为一将功成万骨枯的暴利,以及众多一夜暴富狂撒现金的造富传奇,让每一个游戏行业的从业者眼里,只有成功,不能失败;为了成功,必须拼命。这仿佛成了必然的逻辑,这个时候,制度化加班,作为一种文化,就应运而生了。因为别人都在拼,自己不拼不就落后了?不就要死了?不就做不成项目了?&/p&&br&&p&然而,以个人目前的从业经历,我认为,长时间的,常态化,制度化的加班行为,对研发效率没有任何益处,却有着以下三点显著的缺陷&/p&&br&&p&1 制度化的加班是违法的行为;强制性的制度化义务加班,是所有存在此类问题的企业对法律的公然挑衅,这一条虽然看似是分量最重的,却实则是最不需要深入讨论,也是最无法说服业内人士的一条,如果你拿着这一条去和老板理论,全国起码50%的企业会将你拒之门外,另外50%会因为你对加班的态度而无法雇用你,理由,我们都懂的。这是一个不讲道理,只讲结果的国家,那么往下看,我们来看看有什么结果。&/p&&br&&p&2 制度化的加班对项目进度和员工工作效率,毫无益处却充满危害;&/p&&br&&p&a 长期的,制度化的加班一定会,注意,是一定会养成拖沓的工作习惯,进而影响工作效率;我不知道各位老总,制作人,主策主程主美们,扪心自问,每天能够集中精力全力以赴的去工作的时间,能不能撑满正常上班的八小时;更别说996,10106这种工作制下,时间一长,一定会是上午的活拖到下午做,下午的活拖到 晚上做,不加班的时候推到要加班的那一天去做;这个不需要去争,只需要去观察即可。&/p&&br&&p&b
长期的,制度化的加班对个人私生活的挤占,一定会,注意,是一定会让每一个热爱生活的员工对自身的生存价值逐渐产生怀疑,进而影响工作态度;我经历过不下五个项目,见到过两个可以为了项目在老婆生产的时候坚守岗位的制作人,跟过一个白手起家项目大成但人今年已经不在的CEO,更别提无数持续通宵数日,甚至直接打地铺,睡在办公室的普通研发;说实话,我敬佩他们的奉献精神,但我一辈子,注意,是一辈子,也不希望自己成为这样一个人。我需要在我的家人需要我的每一个重要时刻出现在他们身边,我要陪着我的孩子长大,我要陪着我的爱人变老,如果游戏研发以成功的利益为要挟,要剥夺我作为一个人最为可贵的时光,对不起,我宁愿不做游戏,甚至离开上海,这里,引出我说的第三点,也是我认为,最重要的一点。&/p&&br&&p&3 长期的,制度化的加班一定会,注意,是一定会让员工本身对项目乃至整个行业产生怀疑,进而做出选择,是继续死磕,还是彻底离开这个行业。&/p&&br&&p&作为半个艺术家,我深信伟大的艺术永远是那灵光一闪的创意,我也清楚在这灵光一闪的创意之下,有着多少经年累月的职业化训练作为祭奠;游戏,作为第九大艺术,同任何一个已经成型的行业一样,虽然看似内容和体验一直在变化,但每一个变化都同过去有着千丝万缕的联系,有着自己发展的轨迹和类型化的研发方式,这些宝贵的经验能够帮助我们在研发过程中少挖坑,少躺枪,把注意力放在真正需要关注的地方,然而多少经验丰富却精力不在的研发人员,因为长期加班对身体或家庭造成了持续性的伤害,不得不持续请求家人的原谅,或者干脆一走了之,放弃这一行当?&/p&&br&&p&说实话,我知道的,是即使我写了这么多,对于那些已然坐上高速列车的人而言,嗤之以鼻然后继续埋头苦干应该是可以预料到的反应吧;一部分人是因为没办法,另一部分人觉得有得必有失,还有的人觉得你说的都对,但我只要一将功成不就一劳永逸了?&/p&&br&&p&然而,真的有这一天吗?如果我的文章甚至不是站在一个有期权这种空中楼阁打底的主策的立场,而是站在一个普通研发人员,甚至一辈子都只能做一个普通研发人员的立场上说的呢?一款项目的成败,几千万的流水,到你手里,能买回这些年你流下的汗水和本该属于你的人生吗?&/p&&br&&p&说到底,这份工作,对大多数人来说,都只是一份工作而已,我想说的是,为了这一份工作,我们是否放弃的太多了?或者我错了,我们本就,别无选择?&br&&/p&&br&&p&我不知道,我不知道有多少人和我是一样的,但如果我有一天放弃了游戏这一行,一定不是因为钱少,因为我不爱了,一定是因为,不好意思,我,不想再这么无止尽无意义的加班下去了。&/p&&br&&p&加班,不是一件小事,怎么选择,还看各位的觉悟吧。&/p&
对我个人来说,加班这件事是我来到上海,进入游戏行业以后才开始的;而持续性的加班到凌晨,甚至一周内几次通宵这种事情,是我从支援岗位转到研发岗位,随着职位和薪资越来越高,而越来越严重的因为最近自己做的项目临近上线,从制作人到QA在持续一个月的时…
泻药,这个问题意见说过一些了,先贴这。关于其他未尽的内容,晚些再补充。&br&&br&&br&&p&皇室战争浅析&/p&&p&最近《部落冲突:皇室战争》掀起一股热潮;现象级游戏的评价之声不绝于耳。的确,《皇室战争》在游戏设计上有不错的创意,但是新的游戏机制,优点和缺点同样明显;我玩了一周,氪金几百元,目前徘徊在5级竞技场和6级竞技场之间,尝试着对它进行一些解析。&/p&&p&先说结论:&/p&&p&1、 芬兰游戏公司Supercell一定是对中式氪金精神领悟最深的一家欧美游戏公司,没有之一。&/p&&p&2、 《皇室战争》早期一定会有非常凶猛的爆发&/p&&p&3、 《皇室战争》一定会面临用户快速进入、消费和快速流失的模式;需要不断的宣传来导入新用户才能维持规模——当然这是说如果它不去修改它的一些机制的情况下&/p&&p&4、 不加入多人玩法,不加入互动内容和单人里程的《皇室战争》,注定不会达到同样没有这三者的《炉石传说》哪怕1/3的高度。&/p&&p&5、 如果机制不作优化,不持续投入成本去导入用户,昙花一现难免。&/p&&p&6、 不看好其竞技化&/p&&br&&p&首先战斗表现形式上来说,它属于塔防游戏中的开放战场对攻的玩法;和常规的固定路径塔防游戏以及植物大战僵尸那种直线多路形式的塔防有所区别;&/p&&p&这种塔防形式的优点很明显,因为战场开放,行程较短,在于非常利于PVP的形成;维持了整个单局体验中用户较高的兴奋度;对于用户的留存具有非常明显的价值。可以简单的这样说,这个游戏对新手的友好程度差不多是三消级别的,上手的兴奋度则接近了MOBA的级别……仅基于此,它的火爆就不难预言。&/p&&br&&p&如何说达到三消级别的新手友好度呢,因为它的作战单位是有独立的行动AI的;你只需要放下去,撒手它自己去干它该干的;完全没有复杂的操作和难以理解的机制。&/p&&p&而兴奋度更简单,战斗的打响和结果都非常迅速,密集的一场场小规模战斗能将用户的兴奋调动起来,特别是当用户操作密度低的时候。&/p&&p&&u&&b&这里之前说得太简单,我继续补充一下要素。高兴奋度的产生,不仅仅是因为战斗的开启和结果都非常迅速,还因为另外两个原因,一是结果的不确定性,实际上因为战局基本上长期处于比较混沌的状态,因此战斗结果往往不可预期,用户就会高度关注过程,从而达到高兴奋;第二是因为即时性带来的,用户可以随时进行战斗干预进一步提高了用户对过程的关注度,当用户往战场中添加新的作战单位后,使得战局处于混沌状态,加剧了结果的不确定性,这两者可以说是相互咬合缠绕的关系。&/b&&/u&&/p&&br&&p&这看上去很简单,实际上如果不创造出这一套新的玩法,你很难想到。&/p&&p&然而游戏最大的创新,是资源上的。&/p&&p&传统塔防资源积累方式是可控的,或者说是可变的,比如杀死对方单位,或者耗费一定的资源来放置一个资源产出装置。&/p&&p&而《皇室战争》则借鉴了TCG的方式,采用了对等、可预期、不可控这三个关键要素来控制战斗资源;而之所以用自然时间来做自增,则是为了配合其即时性的战斗方式。这二者的结合,的确是一个优秀的创意范本。&/p&&br&&p&一般的对抗性的游戏有两种模式,一种是RPG类的,你的日常积累会带入战斗中;另一种则更强的竞技性,积累不会或者极少带入战斗中,比如MOBA,FPS,甚至棋牌游戏等。两者各有优劣;而《皇室战争》也很巧妙的结合了两者:通过上述的资源阀。我允许你积累带入场中——这是氪金的重要驱动;但是你也不能任意妄为秒杀一切,因为资源的增速是固定的,留下了一定的战术空间。&/p&&p&这样的设计,解决了塔防PVP马太效应明显的致命问题,使这个游戏呈现出了一种全新的玩法,具备了更强的策略性——大约是由于这个设计,很多人更愿意将之归类于TCG变种而非塔防变种。&/p&&p&而另外一个设计,固定放置出战单位的位置的数量;而配置出战单位种类多于该数量,每次出战位置上出现的作战单位则是在配置的全部单位中进行有一定规律的随机。这个设计在游戏中加入了更多的随机性,这种随机性产生了较强的战前策略玩法,玩家需要合理的配置自己的8个出战单位。这个设计像极了TCG游戏的配置卡组,让更多人也认为它是一个TCG游戏。&/p&&br&&p&然而并不是!这里涉及到的另外一个问题,就是TCG策略性的重要基础:即卡牌的绝对性。TCG的卡牌属性效果是绝对的,不存在第二种情况,不会升级,不能改造。这使得TCG游戏的卡牌最重要的是它在当前局面下最合理的使用方式;而非使这张卡牌更牛逼,一力降十会;于是具备了非常高的策略性。当卡牌强度和属性效果可变时,策略的价值就会被严重的损害;一应战术都缺乏针对性和稳定性;那自然就没什么战术可言了。&/p&&br&&p&Supercell倒也没有做得过头,卡牌升级改变的只是数值的强度,而并不改变特性;略微保留住了战术性;然而保留的一点点战术性意义并不大,因为虽然卡牌效果承载了大部分的策略性;但是强度则大部分是数值部分承担了;在数值碾压的情况下,这一点点战术性并没有太大意义。这一点战术性的保留,是为便于用户记忆,配置卡组而保留的。&/p&&br&&p&《皇室战争》把塔防对攻的乐趣体现得淋漓尽致;略微嫁接了TCG的一些设计,但是TCG的核心乐趣基本上没有太多体现,因此我仍将之归类为塔防产品。&/p&&br&&p&在这一周的体验中,我可以看到为了强化付费的早期价值,Supercell在数值设计上,做了明显的倾向;这样的做法容易让用户早期非常愿意付费,强度提升非常明显;而坏处则在于用户之间的碾压也非常明显,很容易造成批量的流失。相信很多玩过的人已经有所感觉了。&/p&&br&&p&然而我们不能不说Supercell其实自身也非常清楚这一点,最简单的一个证明,就是他们设计的游戏结束时间。我们可以想见,这样一个游戏,强行限制单局时长意义并不太大,总有一方会积累优势达到胜利,这个过程也不会太长,而他们为何要作这样的设计?很简单,给弱势玩家一点机会。这个时间应该是经过大量的测试得出的,强度相差不算太大的用户之间战斗,因为随机性和资源限制,早期的优势积累不会太大,而弱势方并不会瞬间崩盘;一旦有机会拖到突然死亡模式,总还有一点机会翻盘。而且这个设计还兼顾到了兴奋度的保持;不得不说非常的优秀。作为一个解决机制硬伤的权宜之计,已经不能更好了。&/p&&br&&p&因为我自己在做一款TCG的创新产品,所以我经常和朋友聊起TCG,在TCG的收费方式上,关于退环境更是有过争论。可以参看我在知乎上的另外一个回答&a href=&/question//answer/& class=&internal&&炉石传说引入标准模式是从繁荣走向没落的分界线吗? - 青弦的回答&/a&。其中有一个基本的结论,不仅对于TCG,而是对于所有游戏的:技巧空间越大,付费空间越小。这二者之间是存在一定的天然矛盾的。所以我们会看到TCG为了维持其根本核心技巧性;而通过退环境这种方式来做营收,不拘线上还是线下。&/p&&br&&p&而我们看到Supercell对这一点是有充分认识的,它旗帜鲜明的优先考虑付费空间;把大部分技巧空间压缩到战斗之外。它的付费设计也独树一帜,这里不展开赘述,这大概也是被国内很多制作人们很是心痒的一点。&/p&&br&&p&Supercell这样定位和设计《皇室战争》,带来了极为优秀的短期留存和付费,是非常值得学习借鉴的;但是整个玩法、数值和付费的组合上来看,玩家的流失也会体现得非常之快;长期的留存不容乐观。我们可以等着看看,Supercell后续会做什么样的动作,也许会尝试结合自己擅长的SLG内容的嫁接和包裹,或者增加单人里程内容。&/p&&br&&p&我玩得还不算太深入,也可能有一些偏颇,而且我的几个结论,并没有完全在上面的文字中体现出来,只是大体上都有;有一些观点可能藏得深了一些,就是临时兴起零散的写了一下,有空再来补充吧。&/p&&br&&p&补充一个题外话:游戏玩法的嫁接是非常有价值的一个话题,也是一种游戏玩法创新非常有意义的方法论。有空再讨论这个。&/p&&br&&br&&p&———————————————————————————————————————————&/p&&p&答复 &a data-hash=&da58c8fd48ea251aac787& href=&///people/da58c8fd48ea251aac787& class=&member_mention& data-editable=&true& data-title=&@李李李李先森& data-tip=&p$b$da58c8fd48ea251aac787&&@李李李李先森&/a&的质疑。&/p&&br&&p&其实我说的马太效应,指的是传统塔防模式,在单局战斗中优势方很容易甩开劣势方,致使难以存在策略战术的空间。比如按照杀死对方作战单位来获取资源的方式,一旦在某一个时间点占到上风,整个资源积累速度,资源所购买来的我方战斗力的增强这俩这速度都会比劣势方要快。这一点往往是塔防在树枝上较难处理的。&/p&&p&这样一个产品,本身不可能存在你说的那种,社会性的马太效应;因为在这个游戏中根本不存在“公共资源”这么一个玩意,不是我多拿一个箱子你就少拿,我快拿了一个箱子你就得慢拿的关系。所以这一点可能我表述上和你理解上都有一些偏差。&/p&&br&&br&其实你所说的,正式我认为《皇室战争》的隐忧所在。即商业化策略上,我认为《皇室战争》&u&&b&可能会&/b&&/u&后继乏力的主要原因。&br&一个游戏的收费策略,总是要明确的指向一类我们锚定的主要付费用户的,有更关注深度,挖掘大R为主的;也有更适合大广度浅深度的收费策略的。这些都有很多实例可找,毋庸赘述。&br&&br&我这里要说明一个观点:用户的付费意愿,决定了游戏的渗透率;;而游戏早期付费的价值体现,决定了用户的付费意愿。简单地说,早期用户通过付费得到的价值体现,决定了用户的渗透。&br&而《皇室战争》一开始通过数值跨度,给用户灌输的价值观很明确:只要给钱一定能更强。所以我虽没看数据,但是渗透率一定是非常漂亮的。&br&而正如 &a data-hash=&da58c8fd48ea251aac787& href=&///people/da58c8fd48ea251aac787& class=&member_mention& data-tip=&p$b$da58c8fd48ea251aac787&&@李李李李先森&/a&所说的,中后期,你付费再多,也未必能打赢比你更早来的,比你更钻研技巧的对手;付费价值体现在中后期出现了问题;付费的价值被时间和技巧大大的压缩,消费不再能带来更多的,更显著的提升。从而违背了一开始游戏给用户灌输的,带来高付费的价值观,而这个过程实际上是很短的。&br&&br&泛泛地说,易付费和中高额付费的用户,很大一部分是不愿意去花时间研究技巧和攻略的,他们目标比较明确,我可以花钱,但是我要很快,很轻松的爽到;他们很快会发现到一定的阶段付费的价值被大大降低,这个过程比一般的游戏要迅速和粗暴得多。&br&而真正去研究战术、技巧和策略的用户;很可能以被一开始极高的付费价值体现给劝退。&br&&br&&b&&u&以上分析,仅针对游戏本身;如果再涉及到运营、推广等相关策略,再涉及到生命周期中的版本变迁,策略应对;可能就更复杂了。这里仅说一句:关于游戏本身的认识,仅仅有助于我们自己学习如何去设计产品;对某一款游戏,单从其本身去判断是难以准确的,因为其中有很多条件、要素和结论,会因为宣传、推广以及游戏自身的周期和影响力而改变。&/u&&/b&&br&&br&可以说,为了早期的付费渗透、付费频度以及付费额度,《皇室战争》付出的代价并不小……但是这也是SUPERCELL可怕之处——他们太明白手游了。&br&&br&我对此很矛盾,谨以一个从业者的身份。&br&&br&&br&编辑于 &br&禁止转载
泻药,这个问题意见说过一些了,先贴这。关于其他未尽的内容,晚些再补充。皇室战争浅析最近《部落冲突:皇室战争》掀起一股热潮;现象级游戏的评价之声不绝于耳。的确,《皇室战争》在游戏设计上有不错的创意,但是新的游戏机制,优点和缺点同样明显;我玩…
在自己公司产品中做过三消的实时对战。&br&&br&实时对战是完全可以实现的,只是体验上根据玩法和网络环境,会不同程度的打折扣。&br&由于2G/3G网络环境的不稳定,经常需要断线重连,扰乱游戏流程,让对方等待。&br&如果排除网络环境不好的用户,又降低了实时对战的玩家基数。这个基数达不到一个门槛,会导致匹配困难。而为了克服这个问题,经常需要将不同水平的玩家匹配,导致挫折感增加/对战变得无趣。用户基数不够的话,很难形成一个正向循环。&br&&br&《炉石传说》可以做是因为用户基数庞大,因为大量玩家还是来自PC的,移动端的玩家可以和PC玩家对战。而且《炉石传说》对于延迟的敏感度没有那么高,这中间允许很多程序上的优化来隐藏延迟和短时间断线重连带来的问题。&br&&br&&即时对战的策略或射击游戏&比较难在手机上做实时对战,因为对于延迟十分敏感,如果频繁断线重连会严重打乱游戏节奏。这样就排除了2G/3G用户和一些公共场所wifi的用户。如果排除这也用户之后你的游戏用户基数还足够大,那就可以做。
在自己公司产品中做过三消的实时对战。实时对战是完全可以实现的,只是体验上根据玩法和网络环境,会不同程度的打折扣。由于2G/3G网络环境的不稳定,经常需要断线重连,扰乱游戏流程,让对方等待。如果排除网络环境不好的用户,又降低了实时对战的玩家基数…
&p&题主大概想了解的是现在的手游的资源处理方式,然后还想问问2d骨骼动画哪家强。&/p&&p&先说资源的处理,当然其中最主要的还是图片纹理资源,其他的比如策划数据,音乐音效可以略过。节省纹理资源的主要目的一般有两个:其一是为了节省内存占用避免程序被系统终止,其二是为了减小最后生成的包的大小。&/p&&br&&p&先看节省内存:RGBA8888,每个像素4字节,完全不压缩,效果最好,一般用于一些界面中需要拉伸的九宫元素,和一些充当门面的比如主界面的小图标之类;RGBA565+Dithering,每个像素2字节,适用于没有alpha通道的纹理,比如一些地图背景之类,效果不错;RGBA4444+Dithering,每个像素2字节,适用于有alpha通道且不需要很高清的纹理,抖动之后会产生一些麻子点点的效果。PVRTC4,ios上硬件支持的压缩方式,每个像素0.5字节,在图片中有渐变的地方会出现分布不均匀的色条,可以用于一些序列帧特效,不过PVRTC4需要图片的尺寸是2的n次方。etc1是大部分android手机硬件支持的格式,每个像素0.5字节,2的n次方必须,缺点就是没有alpha,需要专门生成alpha通道的图,个人感觉效果比pvrtc4要略好,但是加上alpha图的大小就要比pvrtc大一倍了。&/p&&p&拿一张的图作为例子,在内存中的占用,RGBA8888是16mb,565和4444是8mb。而pvrtc4和etc是2mb,效果拔群。当然实际中还要考虑2的n次幂和非2的n次幂带来的差距。通常而言pvrtc4和etc1都是最省的。(哪天老的ios设备都淘汰了,就可以上pvrtc2.0了)。&/p&&br&&p&具体在项目中的做法一般是混合了多种格式在用的,需要注意的是,无论哪种png的格式,为了在程序读取时区分,,最后需要用texturepacker输出为pvr.ccz或者pvr.gz格式,png本身不带像素格式的信息,如果输出成png,最后到内存中又全都展开成8888了……cocos2dx里的实现是这样的。&/p&&br&&p&至于最终生成包的大小,压缩合并了图片之后就看看能不能节省一些策划数据,减少音乐音效的质量了。&/p&&br&&p&coc的做法是各种切切切,切到最小,然后各种拼拼拼,拼到最大,能够节省就绝不会多浪费1像素,对美术的要求高啊,还要程序有足够的资源组合想象力orz&/p&&br&&p&然后就是骨骼动画的选择了, dragonbones对应的工具是flash, spine和cocos studio都是自身,这个主要看美术用哪个用的顺手了,大多数美术习惯了flash。然后就是程序的接口,基本上都有cpp版的,所以问题不大。&/p&
题主大概想了解的是现在的手游的资源处理方式,然后还想问问2d骨骼动画哪家强。先说资源的处理,当然其中最主要的还是图片纹理资源,其他的比如策划数据,音乐音效可以略过。节省纹理资源的主要目的一般有两个:其一是为了节省内存占用避免程序被系统终止,…
现在的评价应该都还不是经过大量用户大型产品验证过的评价。至少半年后才能给得出真实客观的评价。&br&&br&对比传统server高权威要求的c/s方式(server照跑AI物理寻路等几乎一切逻辑),uNet带来好处是开发效率提高(unity丰富的引擎工具功能和统一cs代码),坏处是带来mono额外消耗、引擎额外消耗(?)、代码风险全集中在“unity开发同学”身上。&br&&br&对比传统server低权威要求的c/s方式(client上报物理寻路位置命中、server仅处理数值血量状态技能可否使用等关键逻辑、事后校验),uNet可以让你较方便改成高权威server提高安全性,带来坏处是server负载变高许多、增大带宽消耗、代码风险全集中在“unity开发同学”身上。&br&&br&对比传统帧同步(lockstep)或bucket同步方式,uNet可以让你改为高权威server提高安全性,减少蝴蝶效应带来的不同步,不需实现落后者加速重播机制。但放弃了帧同步的简单性,和带来以上提到过的坏处。(由于手游盛行,手机作弊难度*目前*较大,现在会有手游项目采用类帧同步方式)&br&&br&整体来看,uNet是未来的方向。坑要躺,一起躺。
现在的评价应该都还不是经过大量用户大型产品验证过的评价。至少半年后才能给得出真实客观的评价。对比传统server高权威要求的c/s方式(server照跑AI物理寻路等几乎一切逻辑),uNet带来好处是开发效率提高(unity丰富的引擎工具功能和统一cs代码),坏处是…
网游技术发展真够慢的,怎么大家十年前在讨论同步问题,十年后还有人在讨论这个问题呢?何为延迟补偿?如何进行坐标差值?B客户端屏幕上A已经跑到东边了,但是收到服务器说“A正在西边往北跑”,B到底该何去何从?&br&&br&各位说了那么多DR,TimeWrap,LockStep,自己实现过没有?有产品上线没有?这些问题明明很简单,却总被形容得云山雾罩的,离落地编码还是那么的遥远。我若干年前的一个实现版本,将简明扼要的解决这个问题:&br&--------------------------------------------------------------------------------------------------------------&br&&p&影子跟随算法由普通DR(dead reckoning)算法发展而来,我将其称为“影子跟随”意再表示算法同步策略的主要思想:&/p&&ol&&li&屏幕上现实的实体(entity)只是不停的&b&追逐&/b&它的“影子”(shadow)。&br&&/li&&li&服务器向各客户端发送各个影子的&b&状态改变&/b&(坐标,方向,速度,时间)。&br&&/li&&li&各个客户端收到以后按照当前重新插&b&值修正影子状态&/b&。&br&&/li&&li&影子状态是&b&跳变&/b&的,但实体追赶影子是&b&连续的&/b&,故整个过程是平滑的。&/li&&/ol&&img src=&/4fa7b72c42aac11da6e6a3_b.jpg& data-rawwidth=&456& data-rawheight=&384& class=&origin_image zh-lightbox-thumb& width=&456& data-original=&/4fa7b72c42aac11da6e6a3_r.jpg&&&br&&p&前面的1号终端控制红色飞船P1向左飞,并把自己的状态时时告诉服务器
&/p&&p&后面的2号终端上接收到飞船P1的影子S1的状态(向左移动),并让P1的实体追赶S1&/p&&ul&&li&网络性能指标一:带宽,限制了实时游戏的人数容量&br&&/li&&li&网络性能指标二:延时,决定了实时游戏的最低反应时间&br&&/li&&/ul&&p&使用该算法可以容易的开发出一款马里奥赛车,或者Counter Strike,详细说明见后:&/p&&br&&b&
算法比较:&/b&&br&&ul&&li&帧间同步:不同客户端每帧显示相同的内容,键盘/时钟数据传到服务器,服务器确认后所有终端做出响应,多用于局域网游戏,比如红警(需要等待客户端),街霸II的网络版(360),可参考 LockStep,TimeWrap算法,&b&网速要求高,复杂度低&/b&,见我的旧文&a href=&///?target=http%3A//www.skywind.me/blog/archives/131& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&帧锁定算法&i class=&icon-external&&&/i&&/a&。&br&&/li&&li&插值同步:不同客户端显示不同步,但是状态同步,常见的Dead Reckoning(或叫导航插值),&b&效果好,但复杂度高&/b&。常见于竞速类游戏和 FPS游戏。&/li&&/ul&&b&&br&算法定义:&/b&&br&&ol&&li&时间:单位为帧(FPS=10),开始由服务器告诉向所有客户端,每5分钟同步。&br&&/li&&li&玩家:每个玩家控制自己的实体,并在每贞将状态改变告知服务器。&br&&/li&&li&状态:状态数据 = 实体ID + 坐标 + 方向 + 速度 + 时间(贞)。&br&&/li&&li&插值:收到新状态包后将根据其运动方向与时间,根据现有时间计算新状态。&br&&/li&&li&跟随:实体不停的追踪自己的影子,追上后与影子保持状态同步。&br&&/li&&/ol&&br&&p&相位滞后:可选参数,实体与影子保持一定距离同步,相当于保持一定车距,这样在控制者突然停止的时候,不容易因为网络延迟跑过了又被拉回来。
&/p&&br&&p&惯性移动:可选参数,开始移动或者停止或者改变方向都有加速度,这样就不需相位滞后了。
&/p&&br&&p&每次服务器向各个客户端同步时间的时候,由于延迟,所有客户端的时间都是慢于服务器的,这没有关系,只要大家在一定误差范围内以相同的速度增加,就完全没有问题。
&/p&&br&&img src=&/e45ac52daa345fb85f3c_b.jpg& data-rawwidth=&578& data-rawheight=&275& class=&origin_image zh-lightbox-thumb& width=&578& data-original=&/e45ac52daa345fb85f3c_r.jpg&&&p&&b&图&/b&&b&2 IDC&/b&&b&网络响应&/b&&/p&&br&&p&在公网平均130ms的Latency下,是不存在“完全的”的同步情况。如何通过消除/隐藏延时,将用户带入快速的交互式实时游戏中,体验完美的互动娱乐呢?
&/p&&br&&blockquote&&p&&b&让所有的用户屏幕上面表现出完全不同的表象是完全没有问题的;
&/b&&/p&&p&&b&把这些完全不同表象完全柔和在一个统一的逻辑中也是完全没有问题的。
&/b&&/p&&/blockquote&&br&&p&需要根据具体情况,分清楚哪些我们可以努力,哪些我们不值得努力,弄明白实时游戏中同步问题关键之所在,巧妙的化解与规避游戏,最终在适合普遍用户网络环境中(200ms),实现实时快速互动游戏。
&/p&&br&&b&案例解析:Counter Strike&/b&&br&&br&&p&实现CS的话,首先我们需要给人物移动加上惯性,比如静止状态突然开始移动,那么需要0.5-1秒的加速过程,而移动中突然停止也需要0.5-1秒的减速过程,这样就实现了无差别同步,不需要相位滞后来避免拉扯影响用户感。
&/p&&br&&p&同时开枪射击采用客户端判断,也就是说如果我看见你在墙前面,开枪射中,那么我向服务器发送“我击中你了”,这时有可能真实的你在墙后,那么表现出来的就是我看见我打中你了(减不减血由服务段判断),而你没有看见我,觉得我穿墙打中你了。
&/p&&br&&img src=&/ff1dafa7aef_b.jpg& data-rawwidth=&831& data-rawheight=&468& class=&origin_image zh-lightbox-thumb& width=&831& data-original=&/ff1dafa7aef_r.jpg&&&p&&b&图3&/b&&b& CS的同步逻辑&/b&&/p&&br&&p&关键状态进行缓存,不然如果别人向前连续跳五次,每次取得状态都取到最高点的话,别人客户端上的影子和跟随的实体会奇怪的持续的飞在天上,所以需要将起跳和落地这两个关键状态缓存,实体追赶时只有追上的第一个状态(一号影子)才能追逐第二个状态(二号影子)。
&/p&&br&&p&由此可以在完全时间同步的情况下平滑的跑动、跳跃,开枪射击采用客户端判断后手感得到提高,唯一需要担心的就是外挂,外挂多是实时游戏的代价,只能通过Cheating
Death等工具防止了。
&/p&&br&&b&案例解析:马里奥赛车&/b&&br&&br&&p&用该算法实现马里奥赛车是很简单的,影子和实体都使用惯性,由于赛车惯性很大,不容易有突变的状态更新,所以效果会比FPS游戏更好。
&/p&&br&&p&玩家碰到道具后,马上在屏幕上隐藏该道具的显示并通知服务器,由服务器决断道具属谁,由于刚碰到道具就隐藏所以不会有碰到道具却在一段时间内无法取得延迟现象。
&/p&&br&&p&游戏道具系统实现也很容易,比如那个将当前第一名炸毁的道具,它的描述是:原角色+对象角色+约定发生时间。既然知道对象是谁,什么时间发生,那就更本不需要怎么同步了,所有客户端和服务器在该时间让炸弹爆炸就得了,这种手法类似即时战略游戏。
&/p&&br&&p&游戏还有一类道具是可以发射的乌龟壳,这个东西属于有弹道的发射物,类似Quake里面的某些武器,需要作一些同步处理,基本特性是服务器判断起决定作用,客户端同步判断,如果客户端与服务器都判断集中,那就集中;如果客户端判断集中而服务器判断没有集中,那会看到该角色似乎被打了一下,但很快又恢复了速度向前冲。
&/p&&br&&p&由于赛车本身就具备惯性比较大的特点,因此同步效果是比较好的,可以在更大的延迟情况下表现得和FPS差不多(比如300ms效果相当于FPS的200ms)。
&/p&非可靠包:&br&&br&&p&该“影子跟随算法”支持非可靠传输协议,如果使用非可靠传输,那么我们按照特定频率(如每秒10次)定时发送状态更新,因为协议中每个更新包出了位置外还有速度、方向和时间,甚至还能加速加速度,因此我们丢一个包没有关系,可以根据后来的包重新计算插值。只有关键状态更新时才需要可靠传输,这就避免了TCP中丢包时RTO指数增长造成的延迟了。
&/p&&br&&b&负面情况:&/b&&br&&br&&p&该算法缺点就是无法向“帧间同步”算法那样,每次发送按键给服务器,服务器处理后再反馈结果,在局域网中(平均延迟&5ms),这样的效果相当于单机游戏一样即时,游戏性也能很复杂。然而在Internet中(平均延迟130ms,设计基准200ms,每秒最多发送10个数据包)该算法却不能像单机游戏那样有复杂的场景互动,有类似格斗游戏的即时的动作判定。
&/p&&br&&p&许多策划在设计实时动作游戏时很多设计我们都难以实现,这样因为策划不容易明白哪些我们能做,哪些我们不能做。即便程序员精通同步理论,策划也经常碰壁。
&/p&&p&当多数设计被程序员回复“无法实现”后,策划只有采取一种消极设计(砍掉很多有意思的互动元素),于是网络游戏的表现力到今天还是差单机游戏一大截。
&/p&&br&&p&这些问题也并不能因为“影子跟随算法”的提出而得到改进,大于100ms的判定时间,都很难做到即时。
&/p&&br&&p&最后,该算法编码复杂度比其他同步策略高,因为服务器需要计算一份影子数据,各个客户端需要计算一份影子数据,还需要计算实体追赶,而这三种计算都需要在同样的时钟下保持一致,这就增加了编码与调试的复杂度。
&/p&&br&&b&
总结话题:&/b&&br&&br&&p&Internet特点是“高带宽,高延迟”,可以说从本质上Internet就不是为了游戏而设计的。故此Internet绝对意义的同步是不存在的。“影子跟随算法”的核心思想有几个:时钟同步,客户端先行,平滑追赶。通过这三个特性,我们能够在近似时间同步的情况下,模拟各种物体的移动过程,而使用该算法的前提是设计者需要根据各个游戏的特性研究不同的优化技巧,策略因游戏而变。
&/p&&br&&p&比如发送状态更新包时,不需要每次都发送,而可以只发送改变的状态。什么时候我们觉得改变了?就是当客户端实体与自己的影子之间的误差大于某特定数值时我们才发送更新包,这样虽然玩家在原地做左右摇摆的小幅度移动,只要没有超出范围,都不需要发送新的状态更新,其他玩家机器上看起来,它是站着不动的。
&/p&&br&&p&比如当发现某客户端5秒钟没有相应了,那么就将该人物的影子冻结住,永远不要为了等待某个数据而不让游戏进行下去。
&br&&br&&/p&&p&本算法需要客户端与服务器维护相同的时钟,当每5分钟同步的时候,直接根据服务器的时钟替换当前时钟就行了,不需要重新计算所有影子的位置,因为后续的状态数据将会马上刷新这些状态。更不需要将测量到的PING值考虑进去,该算法与PING具体值无关。
&/p&&br&&p&当发现策划案子不可行时,寻找近似替代方案,比如减少“一次性的”“决定性的”事件发生,比如延长导弹在空中飞行的时间,比如将敌人加入HP分多次打死,而不是以及毙命,等等,都是大家可以发挥想象的地方。
&/p&&br&&b&相关例子:&/b&&br&&br&&p&文章相关DEMO如果有需要的话,可向我索要。
&/p&&br&&b&参考阅读:&/b&&br&&br&&p&韦易笑(2006),&a href=&///?target=http%3A//www.skywind.me/blog/archives/131& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&帧锁定算法&i class=&icon-external&&&/i&&/a&&/p&&p&韦易笑(2005),&a href=&///?target=http%3A//www.skywind.me/blog/archives/112& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网游同步法则&i class=&icon-external&&&/i&&/a&&/p&
网游技术发展真够慢的,怎么大家十年前在讨论同步问题,十年后还有人在讨论这个问题呢?何为延迟补偿?如何进行坐标差值?B客户端屏幕上A已经跑到东边了,但是收到服务器说“A正在西边往北跑”,B到底该何去何从?各位说了那么多DR,TimeWrap,LockStep,自…
是觉得逻辑程序员的工作就是把策划的文档转换成代码,不像引擎组的同事研究的东西那么高深,可替代性高又没有前途吗?&br&可是在反过来问一下,自己是个好的(合格的)逻辑程序员吗?&br&&br&我不太喜欢国内把gameplay 程序员叫逻辑程序员,逻辑这个词太宽泛了,逻辑在任何程序里都是必须品,而gameplay也绝不仅仅是只有逻辑。在游戏工业理论里,游戏策划对游戏的玩法负责,策划设计游戏的规则,然后程序员只需要负责照着文档把一个系统实现出来,没有任何创造性的工作。但现实是,无论你想不想,&b&程序员永远是最终决定游戏玩起来什么样的人&/b&。&br&当策划把一份设计文档交到你手里的时候,你在把这份设计变成一个好玩的最终和玩家交互的系统的过程中,是需要做比策划做出的决定多的多的大量细微的选择。这就要求你要理解在文档背后策划真正想要的东西是什么,同时还要明白玩家期望的是什么。&br&当你意识到需要承担这样的责任而不仅仅是写“纯粹逻辑”的代码的时候,就会明白好的gameplay程序员会拿更高的薪水,会明白为什么有的游戏很好玩有的游戏是渣,会了解提高代码质量对于gameplay程序员是多么的重要。能力越大,责任越大,当你有了更高的视野,成长就是水到渠成。
是觉得逻辑程序员的工作就是把策划的文档转换成代码,不像引擎组的同事研究的东西那么高深,可替代性高又没有前途吗?可是在反过来问一下,自己是个好的(合格的)逻辑程序员吗?我不太喜欢国内把gameplay 程序员叫逻辑程序员,逻辑这个词太宽泛了,逻辑在…
已有帐号?
无法登录?
社交帐号登录
357 人关注
993 个回答
3633 人关注
184 个回答
477 人关注
243 个回答
303 人关注
2069 人关注
342 个回答

我要回帖

更多关于 unity5 unet 局域网 的文章

 

随机推荐