为什么游戏间的游戏数据(生命值,游戏王最高攻击力怪兽等)差异巨大

367被浏览601,819分享邀请回答5添加评论分享收藏感谢收起&p&ACT游戏速率是根据游戏中一场战斗的信息量和整个游戏原型的意图来调整的。&/p&&p&简单来说就是制作人调整速率时,想的是“想让玩家怎么去玩”和“玩家有没有时间思考”这两件事。&/p&&p&因为一款游戏如果它的信息量非常大,而玩家根据这些信息做出的决策又真的能够接收到很直接的结果的话,那么这个游戏的难点就是“策略抉择”上的。&/p&&p&如果一款游戏速率超级高,那么这款游戏就肯定是要求玩家具有超级牛逼的反射弧和“先读”“猜择”的能力。它的难度就应该是“操作熟练度”和“背板”上的。&/p&&p&FC时代很多过关游戏都是速率快的游戏,你碰到敌人后是没时间反应的,敌人的位置也是固定的,而FC能够给与的操作空间就那么点,所以那个时代的高手几乎都是靠背版。&/p&&p&七八十年代街机清版游戏是有策略性难度这么一说的,因为玩家要考虑的东西是X(前后)Y(纵深)Z(空中)三轴敌人与自己的位置,需要用到的特殊操作有限,难度完全靠前后上下堆敌人,靠巨大的单一信息量来压倒玩家制造挑战.&/p&&p&玩家需要做出的决策是“优先对付哪根轴的敌人以及怎么对付”,使用普通四连击削减一根轴的敌人的数量?还是用背摔调整敌人的位置?还是派保险解围?&/p&&p&如果一款游戏同时要求玩家“短时间做出抉择”和“短时间内做出正确操作”,那它的难度是非常大的,难度高到一个让人无法忍受的地步,那么就不会再有新玩家进入。所以街机时代很多清版游戏都没有那么快,相反,格斗游戏就不一样了……(kof97和SF2T了解一下)&/p&&p&鬼泣、忍龙和魔女这类ACT其实你可以把它当作是究极的ACT来看待,因为这类ACT要求玩家同时具备“短时间思考对策”和“短时间做出正确操作”两种能力,所以难度激增,这类游戏是横版过关和格斗的混合体,单一敌人的招式复杂程度远远超过单纯的过关游戏,而同时需要面对的敌人数量则远远超过格斗游戏,大光头和硫酸脸当年做这种游戏的时候,希望玩家怎么玩?就是“我被六七个人围了,他们都想砍死我,但我知道我可以tm干爆一切取得胜利”,这种双重压力是游戏设计取向。&/p&&p&怪物猎人和黑魂的速率无疑是比较慢的,黑魂玩家在绝大部分的时间里是和敌人处于一个单挑状态,玩家面对的压力是“敌人的攻击模版和状态”“地图上的即死陷阱(比如坑和悬崖)”老贼为了降低新人上手的门槛,将鬼泣时代ACT的复杂操作和高速率砍掉,走回了之前街机清版的路子,并加入了地图元素来帮助玩家不择手段的取胜。玩家只需要思考好对策,学习敌人的招式,就可以在多次失败后总结经验取得胜利,放在高速率的魔女和鬼泣忍龙上面,你就算知道了敌人的所有招式,你反射弧不强,你操作不够熟练,也是打不过去的。&/p&&p&怪物猎人也是同理,它的信息量在我看来是目前所有ACT(或ARPG)里最复杂的。用一句话来概括就是:&b&什么状态下的你用什么状态下的武器的什么部位以什么状态下的招式打到了什么状态下的怪物的什么部位?&/b&这tm想爆了好么?如果MH这种信息量搭配上贝姐的速率,我很难想像还有多少人能玩的下去……?&/p&&p&最后说说仁王,仁王的速率比较折中,它很符合大众对一个“ACT”手感的想象,不像魂和MH,起手的速度很多人都会觉得很龟,也不像贝姐鬼泣那么鬼畜,仁王在战斗中要考虑的东西其实和魂没什么差别,它不追求你极限操作,也没那么多东西要你去思考,但是它多了两层东西。&/p&&p&第一层是残心,一个人到底理不理解仁王,就看它会不会用残心。这就好比一道封印,如果你不会残心,那么你就只能把它完成战国二人传。如果你会了残心,才能让威廉发挥出真实的实力。&/p&&p&第二层是数值。如果仁王没有装备系统,那么它将是一个很伟大的游戏,但因为它能刷装备,所以上面说的都是扯淡,你装备不行就去刷,想多了也没用。这也是为什么我觉得仁王做崩了的原因。&/p&&p&上面说了这些游戏,大家应该清楚了,调整速率对于一个动作游戏意味着什么,而不仅仅是速率,一场战斗中的信息量多寡、以及监督对这款游戏的理解和期许,也左右着这个游戏最终给人的感受。&/p&&p&现代3D动作游戏,玩的无非是瞬时反应(FTG、JACT)或者信息量的处理(MH、魂),但是在降低速率的产品里,绝对会有“数值成长”这样的要素在里面,因为只要节奏慢下来,玩家的操作强度压力下去了,它总能学会如何打败敌人,人类的适应力是很强的。这个时候不来点数值碾压,你会感觉这游戏“不好玩,没难度”,而纯粹的“反射弧”ACT,强调的是人间操控的能力,每个人都能打街霸,但不是每个人都能变成那个梅原大吾或者黑田,高手巨巨玩鬼泣忍龙魔女连招能打多少多少分,换个人估计就要死成狗。&/p&&p&纯粹追求数值成长的游戏一般不叫做ACT,而是ARPG,既然追求数值成长了,就自然不会再对玩家的反射弧做过多要求,而数值怎么设计才合理,就是另一个话题了。&/p&&p&&/p&
ACT游戏速率是根据游戏中一场战斗的信息量和整个游戏原型的意图来调整的。简单来说就是制作人调整速率时,想的是“想让玩家怎么去玩”和“玩家有没有时间思考”这两件事。因为一款游戏如果它的信息量非常大,而玩家根据这些信息做出的决策又真的能够接收到…
&figure&&img src=&https://pic3.zhimg.com/v2-6032babaf_b.jpg& data-rawwidth=&1280& data-rawheight=&774& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-6032babaf_r.jpg&&&/figure&&p&如果你曾经听说过“&b&暗网&/b&”的都市传说,你可能会认为暗网是个充斥着毒品和犯罪的恐怖网络。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-daae281ca29f70ffc282a3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&647& data-rawheight=&46& class=&origin_image zh-lightbox-thumb& width=&647& data-original=&https://pic4.zhimg.com/v2-daae281ca29f70ffc282a3_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-05b378aed0968_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&554& data-rawheight=&36& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&https://pic1.zhimg.com/v2-05b378aed0968_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f907cbbd02492fed09f76_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&615& data-rawheight=&37& class=&origin_image zh-lightbox-thumb& width=&615& data-original=&https://pic4.zhimg.com/v2-f907cbbd02492fed09f76_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-dd038bebeca25_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&695& data-rawheight=&34& class=&origin_image zh-lightbox-thumb& width=&695& data-original=&https://pic4.zhimg.com/v2-dd038bebeca25_r.jpg&&&/figure&&p&网上流传着一种说法:只要无法通过搜索引擎和爬虫找到的网站都是暗网。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cbad1a7e6a7e_b.jpg& data-size=&normal& data-rawwidth=&640& data-rawheight=&360& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-cbad1a7e6a7e_r.jpg&&&figcaption&这张&冰山&图流传很广&/figcaption&&/figure&&p&但是实际上,“暗网”一般指的是&b&匿名网络&/b&上的匿名网站。&/p&&hr&&h2&&b&匿名网络&/b&&/h2&&p&在访问互联网时,我们不可避免的要告诉对方自己的IP地址。虽然通过代理可以隐藏自己的IP,但是长期使用固定IP的代理显然也会成为自己的身份标识。&/p&&p&因此,人们设想了这样一个网络:在这个网络中,每个人都可以作为每个人的代理,从而使得代理的IP可以不断变化,以此来隐藏自己的真实IP,来达到匿名的效果。这样的网络里用户越多,匿名的效果就越好。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-eacdea3de09ce_b.jpg& data-size=&normal& data-rawwidth=&1024& data-rawheight=&655& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic1.zhimg.com/v2-eacdea3de09ce_r.jpg&&&figcaption&Tor暗网的使用者&/figcaption&&/figure&&hr&&h2&&b&Tor&/b&&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-6032babaf_b.jpg& data-size=&normal& data-rawwidth=&1280& data-rawheight=&774& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-6032babaf_r.jpg&&&figcaption&Tor&/figcaption&&/figure&&p&&b&Tor&/b&就是这样一种匿名网络。但是Tor还采用了更多措施来保证使用者的安全。&/p&&p&首先,使用Tor访问网络不仅仅只用一层代理,而是采用了&b&多层代理&/b&。&/p&&p&其次,Tor在每一层代理都进行了加密,&b&层层加密&/b&使得信息的来源得到保护。就像一个洋葱,只有把每一层都剥开,才能看到核心。因此Tor也被称为“&b&洋葱网络&/b&”。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ddb406b2acbfe968a87d91a_b.jpg& data-size=&normal& data-rawwidth=&875& data-rawheight=&575& class=&origin_image zh-lightbox-thumb& width=&875& data-original=&https://pic1.zhimg.com/v2-ddb406b2acbfe968a87d91a_r.jpg&&&figcaption&层层加密的洋葱网络&/figcaption&&/figure&&p&Tor不仅可以进行访问的匿名,也可以提供服务器的匿名——也就是所谓的&b&暗网&/b&。访问者只能知道服务器在Tor暗网中的地址,而无法知道其真实的IP地址。&/p&&p&暗网网站的地址都以.onion结尾,如搜索引擎DuckDuckGo的暗网地址是&a href=&https://link.zhihu.com/?target=http%3A//3g2upl4pq6kufc4m.onion/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&3g2upl4pq6kufc4m.onion/&/span&&span class=&invisible&&&/span&&/a&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-4deea7eb84_b.jpg& data-size=&normal& data-rawwidth=&1494& data-rawheight=&809& class=&origin_image zh-lightbox-thumb& width=&1494& data-original=&https://pic1.zhimg.com/v2-4deea7eb84_r.jpg&&&figcaption&DuckDuckGo,注意其网址,DuckDuckGo也提供普通网络服务&/figcaption&&/figure&&p&当然,这些网站必须通过&b&Tor浏览器&/b&来访问。&/p&&hr&&h2&&b&Tor是如何工作的?&/b&&/h2&&p&首先,在连入Tor网络之前,Tor会先连接到一些&b&中继节点&/b&,以获取其他Tor用户的信息。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-4ef5db904d1e7ea0ebc08_b.jpg& data-size=&normal& data-rawwidth=&510& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&510& data-original=&https://pic4.zhimg.com/v2-4ef5db904d1e7ea0ebc08_r.jpg&&&figcaption&寻找节点&/figcaption&&/figure&&p&Tor通过将节点分布在互联网上的多个地方来避免追踪,没有任何一个单一节点可以连入互联网。这个想法类似于在被人跟踪时通过绕路来甩掉他 - 并且擦除你的脚印。Tor网络上的数据包不是直接通过从源到目的地,而是通过多个节点的随机路径,因此任何单点的观察者都无法知道数据来自哪里或去哪里。&/p&&p&沿途的每个节点只知道哪个节点给它的数据以及它将数据提供给哪个节点。没有任何个体节点知道数据包的完整路径。每个节点之间都使用独有的密钥进行加密,以确保每个节点都无法跟踪链接。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fdafadbb5b1b514d9a42_b.jpg& data-size=&normal& data-rawwidth=&510& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&510& data-original=&https://pic2.zhimg.com/v2-fdafadbb5b1b514d9a42_r.jpg&&&figcaption&建立路径&/figcaption&&/figure&&p&&br&&/p&&p&一旦建立了连接,就可以进行通信了。由于每个节点都看不到完整的路径,窃听者无法分析出数据的来源和去向。 Tor每十分钟就会更换一次路径,防止长期的使用被人关联起来。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-eacbd591afae5_b.jpg& data-size=&normal& data-rawwidth=&510& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&510& data-original=&https://pic3.zhimg.com/v2-eacbd591afae5_r.jpg&&&figcaption&随机路径&/figcaption&&/figure&&hr&&h2&&b&使用Tor浏览器和Tor代理&/b&&/h2&&p&在Tor的官网就可以下载Tor浏览器。&/p&&a href=&https://link.zhihu.com/?target=https%3A//www.torproject.org/& data-draft-node=&block& data-draft-type=&link-card& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&torproject.org/&/span&&span class=&invisible&&&/span&&/a&&p&Tor在中国曾经无法使用,但是在Tor浏览器4.5发布后,借助meek网桥,中国的用户也可以连接上Tor了。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e621a203fecc_b.jpg& data-size=&normal& data-rawwidth=&915& data-rawheight=&802& class=&origin_image zh-lightbox-thumb& width=&915& data-original=&https://pic2.zhimg.com/v2-e621a203fecc_r.jpg&&&figcaption&配置Tor浏览器&/figcaption&&/figure&&figure&&img src=&https://pic3.zhimg.com/v2-283d70e8b3a517dcdd932ee4fcfa69e2_b.jpg& data-size=&normal& data-rawwidth=&915& data-rawheight=&802& class=&origin_image zh-lightbox-thumb& width=&915& data-original=&https://pic3.zhimg.com/v2-283d70e8b3a517dcdd932ee4fcfa69e2_r.jpg&&&figcaption&设置网桥&/figcaption&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-d16ec11d66d0f3a7a575790aaaedd867_b.jpg& data-size=&normal& data-rawwidth=&1884& data-rawheight=&873& class=&origin_image zh-lightbox-thumb& width=&1884& data-original=&https://pic1.zhimg.com/v2-d16ec11d66d0f3a7a575790aaaedd867_r.jpg&&&figcaption&连接成功&/figcaption&&/figure&&p&Tor浏览器使用Tor代理来访问互联网,以及那些只能通过Tor访问的暗网。&/p&&p&通过设置代理,可以让其他软件或者整个系统都通过Tor来联网。Tor的SOCKS5代理端口默认是9150。&/p&&p&(不要使用Tor代理登陆QQ等软件,由于IP不断变化,会被判断为密码泄露而被冻结)&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fc8a9da41e5a55ad8117_b.jpg& data-size=&normal& data-rawwidth=&699& data-rawheight=&262& class=&origin_image zh-lightbox-thumb& width=&699& data-original=&https://pic1.zhimg.com/v2-fc8a9da41e5a55ad8117_r.jpg&&&figcaption&Tor线路&/figcaption&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-5f0e6d68f12d0a_b.jpg& data-size=&normal& data-rawwidth=&751& data-rawheight=&265& class=&origin_image zh-lightbox-thumb& width=&751& data-original=&https://pic4.zhimg.com/v2-5f0e6d68f12d0a_r.jpg&&&figcaption&切换一个线路&/figcaption&&/figure&&hr&&h2&&b&暗网真的有那么恐怖吗&/b&&/h2&&p&暗网在都市传说中被描绘成了恐怖的地狱;实际上,由于Tor的匿名特性,确实有很多违法活动都借助Tor进行。根据2016年的统计,Tor暗网中的违法内容(枪支,暴力,色情,黑客,极端主义,毒品,其他)加起来占据了暗网的近20%。但是,也正式由于Tor的匿名特性,访问了某个暗网之后就遭到神秘的人身威胁是不可能的。&/p&&p&实际上,Tor可以帮助用来抵御一些比暗网上的犯罪更恐怖的东西:&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-a3bde8e9bcfce_b.jpg& data-size=&normal& data-rawwidth=&220& data-rawheight=&137& class=&content_image& width=&220&&&figcaption&美军在阿富汗格拉奈大屠杀的录像通过Tor被传送给维基解密&/figcaption&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-c0e71b59cdafaeb6845cbd_b.jpg& data-size=&normal& data-rawwidth=&1898& data-rawheight=&894& class=&origin_image zh-lightbox-thumb& width=&1898& data-original=&https://pic1.zhimg.com/v2-c0e71b59cdafaeb6845cbd_r.jpg&&&figcaption&维基解密要求泄密者使用Tor&/figcaption&&/figure&&figure&&img src=&https://pic3.zhimg.com/v2-1cd2cd511b9e316ddfb4375ceb90c078_b.jpg& data-size=&normal& data-rawwidth=&956& data-rawheight=&424& class=&origin_image zh-lightbox-thumb& width=&956& data-original=&https://pic3.zhimg.com/v2-1cd2cd511b9e316ddfb4375ceb90c078_r.jpg&&&figcaption&斯诺登呼吁人们使用Tor&/figcaption&&/figure&&p&&br&&/p&&blockquote&Tor是一项关键技术,不仅能够保护我们的隐私,而且能够保证我们说话的权力——我们有能力绕过审查制度,并确保人们能听到自己的声音。Tor是分布式的——即使是美国政府想要颠覆Tor,也无法做到。这是一个基于志愿者的网络。运行Tor的中继节点是没有收益的 ——他们是来自全球的志愿者。正因为如此,它能够结构性地抵御各种滥用和攻击。Tor提供一定程度的安全性,一定程度的保密性,以及在某些情况下的匿名通信。我认为这是一件令人难以置信的事情,因为它让我们更加像一个人。当没有人在注视我们时,我们才能回归内心的平静。 ——爱德华·斯诺登&/blockquote&&hr&&h2&&b&其他匿名网络&/b&&/h2&&p&除了Tor,还有一些其他的匿名网络,如I2P和Freenet,但是其用户数量和维护水平都远比不上Tor。在此不做推荐。&/p&
如果你曾经听说过“暗网”的都市传说,你可能会认为暗网是个充斥着毒品和犯罪的恐怖网络。 网上流传着一种说法:只要无法通过搜索引擎和爬虫找到的网站都是暗网。但是实际上,“暗网”一般指的是匿名网络上的匿名网站。匿名网络在访问互联网时,我们不可避…
&figure&&img src=&https://pic4.zhimg.com/v2-420affbb52bc51_b.jpg& data-rawwidth=&2880& data-rawheight=&1800& class=&origin_image zh-lightbox-thumb& width=&2880& data-original=&https://pic4.zhimg.com/v2-420affbb52bc51_r.jpg&&&/figure&&p&在&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&从零开始手敲次世代游戏引擎(四十四)&/a&当中,我们完成了凸包的算法。现在我们可以进入基于凸包的碰撞检测了。&/p&&p&基于凸包的碰撞检测的著名算法是GJK(Gilbert–Johnson–Keerthi distance algorithm,参考引用1)算法。这个算法利用了闵可夫斯基差的重要特性:如果两个凸包相交,那么它们的闵可夫斯基差必然包含坐标原点。&/p&&p&其实这是一个很显然的事情。所谓闵可夫斯基差,就是两个集合当中所有的元素的差组成的集合。如果两个集合有交,那么这两个集合必然有共通的点,那么这些点的差必然为零。&/p&&p&除此之外,如果两个凸包的闵可夫斯基差不包括坐标原点,那么这个差(依然是一个凸包)到原点最近的距离就代表了目前这两个凸包之间最近的距离。&/p&&p&不过,如果我们要显式计算闵可夫斯基差,就需要计算两个集合当中任意两个元素的差。这显然是非常庞大的一个计算量。GJK算法的优势在于,它不需要计算整个闵可夫斯基差,而是能够从任意一个闵可夫斯基差当中的点快速迭代逼近坐标原点(或者坐标原点本身)。&/p&&p&参考引用当中的文章对于GJK算法进行了详细的介绍。所以我这里就简单用中文介绍一下思路。&/p&&p&对于任意一个给定的方向,我们都可以在凸包上面找到一个点满足这个点是凸包在这个方向上的极值点(也就是最远的点)&/p&&p&那么,显然,对于两个凸包(A,B),如果我们先按照某个方向d找到A到极值点,再按照d的反方向-d找到B的极值点,那么这两个极值点的差一定是A与B的闵可夫斯基差的凸包上的点(闵可夫斯基差的极值点)。我们命名这个点为P。&/p&&p&接下来,我们从这个点出发,寻找最接近坐标零点但是位于A与B的闵可夫斯基差内的点。方法是从P看坐标原点,得到一个方向。用这个方向再次找到A与B上的极值点,取它们的差,又得到另外一个闵可夫斯基差凸包上的点。如果这个点就是P,那么说明P已经是距离坐标原点最近的点,且如果P不是原点,那么说明A与B的闵可夫斯基差不包括原点,A与B不相交(没有碰撞)。P点到坐标原点的距离就是A与B之间的最小距离。&/p&&p&如果新得到的点并不是P,我们将它命名为Q,那么线段PQ一定比P更接近原点且PQ上所有的点都位于A与B的闵可夫斯基差的凸包内(根据凸包定义,凸包上任意两点的连线必在凸包内)&/p&&p&那么接下来我们就是计算PQ线段上离开原点最近的点,这个点可能是在PQ之间,也可能就是Q。无论哪种情况,我们都能得到一个与P不同的点。这个点到原点的方向就是继续迭代的方向。&/p&&p&在这个过程中,每次迭代我们都会得到一个新的位于A与B的闵可夫斯基差的凸包上的点,比上一次迭代更加接近原点(如果不是,则说明上一次的点已经是最近点,迭代结束)。但是这里我们需要注意的是,对于3D的情况,我们想要寻找的原点(或者最接近原点的点)可能位于A与B的闵可夫斯基差的凸包的顶点、边、面甚至是内部。所以每次迭代的时候,我们需要首先移除之前迭代产生的无关的点,然后根据剩下的点的个数决定使用何种算法找出本次迭代的最近点。&/p&&p&比如,我们第一次迭代,得到一个点,第二次就有两个点了。如果第二次的最近点在这两个点的连线上,那么这两个点都要保留;如果第二次的最近点就是第二次找到的点,那么删除第一次的点。&/p&&p&如果第二次保留了两个点,那么第三次迭代得到一个新点之后,就会有三个点。这时,我们需要计算的就是这三个点组成的三角形当中,到原点最近到点了。如果这个点位于三角形内部,那么我们需要将这3个点都保留到下次迭代;如果最近点在三角形的一条边上,那么我们只需要保留这条边的两个顶点。&/p&&p&第四次迭代,如果第三次迭代保留了3个点,那么加上这次的就是4个点了。这4个点组成了一个四面体。这时,原点要么位于四面体内,要么在其外。如果在四面体内,说明原点在A与B的闵可夫斯基差当中,A与B相交(碰撞),迭代结束。如果在四面体外,那么它必然在某个表面的上方,我们保留这个表面(三角形),删除不在这个表面的顶点,这样又回到3个点的情况,可以继续迭代了。&/p&&p&下面的视频给出了随机生成两组点,然后对这两组点各自计算其凸包,并且在每次凸包计算(迭代)之后通过GJK算法检测碰撞的过程。当发生碰撞的时候,凸包的颜色会变成黄色。&/p&&p&结合前一篇文章我们可以看到,无论是场景物体的凸包的计算,还是凸包之间碰撞的检测(GJK算法),都是迭代算法。就如同我们视频里的例子,虽然每组点集当中都有1000个点,但是我们还是可以通过短短数次迭代就检测到两个点集之间存在交集(即,两个场景物体有碰撞)。这种可以逐步迭代且快速收敛的算法特别适合游戏这样的应用。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/493760& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-c9da63c9e0cfebf610b101b6c5e6dc40_b.jpg& data-lens-id=&493760&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-c9da63c9e0cfebf610b101b6c5e6dc40_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/493760&/span&
&p&完成的代码在&a href=&https://link.zhihu.com/?target=https%3A//github.com/netwarm007/GameEngineFromScratch/tree/article_45%3Ffiles%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&article_45&/a&分支当中。&/p&&p&参考引用&/p&&a data-draft-node=&block& data-draft-type=&link-card& href=&https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/Gilbert%25E2%Johnson%25E2%Keerthi_distance_algorithm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gilbert-Johnson-Keerthi distance algorithm&/a&&a data-draft-node=&block& data-draft-type=&link-card& href=&https://link.zhihu.com/?target=https%3A//www.haroldserrano.com/blog/visualizing-the-gjk-collision-algorithm& data-image=&https://pic2.zhimg.com/v2-6b96a5e5bb4fd92ee6ac0a1bx120.jpg& data-image-width=&700& data-image-height=&300& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visualizing the GJK Collision detection algorithm&/a&&a data-draft-node=&block& data-draft-type=&link-card& href=&https://link.zhihu.com/?target=http%3A//www.geometrictools.com/Documentation/DistancePoint3Triangle3.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&geometrictools.com/Docu&/span&&span class=&invisible&&mentation/DistancePoint3Triangle3.pdf&/span&&span class=&ellipsis&&&/span&&/a&&a data-draft-node=&block& data-draft-type=&link-card& href=&https://link.zhihu.com/?target=http%3A//slideplayer.com/slide/689954/& data-image=&https://pic1.zhimg.com/v2-f5f9d26dcfba113bbba040_180x120.jpg& data-image-width=&960& data-image-height=&720& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Gilbert-Johnson-Keerthi (GJK) Algorithm&/a&&p&&/p&
在当中,我们完成了凸包的算法。现在我们可以进入基于凸包的碰撞检测了。基于凸包的碰撞检测的著名算法是GJK(Gilbert–Johnson–Keerthi distance algorithm,参考引用1)算法。这个算法利用了闵可夫斯基差的重要特性…
&figure&&img src=&https://pic1.zhimg.com/v2-b86e2f64654bee4c9b68_b.jpg& data-rawwidth=&2339& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&2339& data-original=&https://pic1.zhimg.com/v2-b86e2f64654bee4c9b68_r.jpg&&&/figure&&p&大家好,我是汉家松鼠的CG,《江湖X》、《汉家江湖》的制作人和主程,今天给大家介绍一下我们游戏中的捏脸系统是如何设计和开发的。&/p&&p&&br&&/p&&h2&&b&背景介绍&/b&&/h2&&p&游戏《汉家江湖》是我们一款2D原创武侠题材RPG独立游戏,我们提供了一个2D的捏脸系统供玩家自定义角色,同时也供我们自己捏造游戏中的各种非重要角色。&/p&&p&&br&&/p&&figure&&img data-rawheight=&1080& src=&https://pic1.zhimg.com/v2-b86e2f64654bee4c9b68_b.jpg& data-size=&normal& data-rawwidth=&2339& class=&origin_image zh-lightbox-thumb& width=&2339& data-original=&https://pic1.zhimg.com/v2-b86e2f64654bee4c9b68_r.jpg&&&figcaption&汉家江湖 捏脸(男)&/figcaption&&/figure&&figure&&img data-rawheight=&1080& src=&https://pic4.zhimg.com/v2-64134bca37cc_b.jpg& data-size=&normal& data-rawwidth=&2339& class=&origin_image zh-lightbox-thumb& width=&2339& data-original=&https://pic4.zhimg.com/v2-64134bca37cc_r.jpg&&&figcaption&汉家江湖 捏脸(女)&/figcaption&&/figure&&p&整个捏脸系统由我和我们的美术(文艺吕布)两个人开发设定而成,一开始做的初衷是因为我们在开发《江湖X》的时候,发现故事设定的NPC数量实在是太多——如果每个都画,则工作量恐怖。为了节省工作量,当时本来打算的方案是只画重要人物,其他人物全部用黑人小剪影(如下)&/p&&figure&&img data-rawheight=&512& src=&https://pic4.zhimg.com/v2-6feab08cbfab8cc1171068a_b.jpg& data-size=&normal& data-rawwidth=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&https://pic4.zhimg.com/v2-6feab08cbfab8cc1171068a_r.jpg&&&figcaption&匿名NPC剪影1&/figcaption&&/figure&&figure&&img data-rawheight=&512& src=&https://pic3.zhimg.com/v2-fcf055cd6b5c97d_b.jpg& data-size=&normal& data-rawwidth=&512& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&https://pic3.zhimg.com/v2-fcf055cd6b5c97d_r.jpg&&&figcaption&匿名NPC剪影2&/figcaption&&/figure&&p&后来我们开发时期业余时间玩某个H游戏的时候(是的,你没看错,就是某H游戏……),该游戏随机NPC是从一个随机的头像库里抽取然后进行简单的颜色替换,我们突发灵感的觉得,我们可以更进一步做一个纯2D的捏脸系统嘛!&/p&&p&于是乎我们搜罗了一圈资料,发现大多游戏普遍的2D捏脸都比较简单,能够自定义的部分相当有限。而且也几乎从来没有中国风元素的2D捏脸,我们觉得这里是一个亮点,既可以解决我们的量产NPC的问题,也可以让主角多一个定制化捏脸的功能,同时似乎也是国风2D游戏的首创——所以我们决定来设计自己的标准和规范。&/p&&p&&br&&/p&&p&我们第一版在《江湖X》里最终的捏脸系统成品效果如下(请无视当时丑陋的UI)&/p&&figure&&img data-rawheight=&647& src=&https://pic4.zhimg.com/v2-91e57cb2c44fd68b8b490ba_b.jpg& data-size=&normal& data-rawwidth=&1166& class=&origin_image zh-lightbox-thumb& width=&1166& data-original=&https://pic4.zhimg.com/v2-91e57cb2c44fd68b8b490ba_r.jpg&&&/figure&&figure&&img data-rawheight=&660& src=&https://pic1.zhimg.com/v2-4c8b842d71bd64e0cca70_b.jpg& data-size=&normal& data-rawwidth=&1176& class=&origin_image zh-lightbox-thumb& width=&1176& data-original=&https://pic1.zhimg.com/v2-4c8b842d71bd64e0cca70_r.jpg&&&/figure&&p&以及在后续的资料片《汉家江湖》中重做了整个美术素材以及更加优化了整个捏脸系统。&/p&&h2&&b&核心问题&/b&&/h2&&p&开发这个系统的核心是两个层面:&b&美术规范&/b&和&b&技术规范&/b&&/p&&p&美术规范需要解决的问题——我们需要将美术资源拆成多少层?每一层的美术标准如何制定?各层之间的关系是怎样?每个层可以自定义调整的参数有哪些?如何保证这些参数最终出来的结果“和谐”?(而不是眼睛眉毛鼻子挤到一起之类的)&/p&&p&技术规范需要解决的问题——对于捏好的脸如何存储和读取?资源如何打包存取以达到效率最大化?(运行时内存、运行时绘制效率、资源打包和存储效率)&/p&&p&下面,我们就这些问题一一展开:&/p&&p&&br&&/p&&p&&b&美术规范:&/b&&/p&&p&我们根据项目设定的需要,考虑主要人物构成由 身体+头部+武器+面部配饰 组成。&/p&&p&其中头部包括 头发(包括帽子等头部配饰)、脸部轮廓、眼睛、鼻子、眉毛、嘴巴、胡须等。同时我们还考虑了角色的肤色变色、衣服调色等……&/p&&p&这一步大家可以根据自己的实际项目需要来设定拆分部分,提几个我们当时考虑的一些特殊情况提炼而成的规范吧:&/p&&ul&&li&要想表现力好,头发和帽子不好做分开,否则无法组合出很好的效果(会由于发型和帽子的穿插而美术设计上受限很大)&/li&&li&发型要想表现力好,也得分为多个层:同样一个发型会有部分头发在面部以后、面部以前身体之后、以及身体之前。(见下图对比1:我们是分了4个层——前发、前发阴影、中发、后发。并且后来发现,若干发型还可以做前后发的组合来形成更多的搭配,但是不完全可以适配所有的发型情况,所以最终捏脸规范上也需要做限制——我们后面会做解释)关于前发阴影:为了美观起见,我们设定了前发在面部的投影的层,来处理虚拟光照下统一的阴影绘制(见下图对比2)。&/li&&/ul&&p&对比1:典型的前、中、后发示意&/p&&figure&&img data-rawheight=&329& src=&https://pic4.zhimg.com/v2-63bc0e692c8a156d6e58b76e_b.jpg& data-size=&normal& data-rawwidth=&360& class=&content_image& width=&360&&&figcaption&光头&/figcaption&&/figure&&figure&&img data-rawheight=&271& src=&https://pic1.zhimg.com/v2-6ccdee8b4fd91df237cb8ea_b.jpg& data-size=&normal& data-rawwidth=&327& class=&content_image& width=&327&&&figcaption&增加前发和前发阴影&/figcaption&&/figure&&figure&&img data-rawheight=&308& src=&https://pic2.zhimg.com/v2-9cdabdf1c4d2_b.jpg& data-size=&normal& data-rawwidth=&358& class=&content_image& width=&358&&&figcaption&增加中发&/figcaption&&/figure&&figure&&img data-rawheight=&442& src=&https://pic1.zhimg.com/v2-4dd01de5e8deecca65c6_b.jpg& data-size=&normal& data-rawwidth=&431& class=&origin_image zh-lightbox-thumb& width=&431& data-original=&https://pic1.zhimg.com/v2-4dd01de5e8deecca65c6_r.jpg&&&figcaption&增加后发——整体效果图&/figcaption&&/figure&&p&对比2:前发投影对比示意&/p&&figure&&img data-rawheight=&210& src=&https://pic4.zhimg.com/v2-042b48ad1af6d73cde2a5f7eecd28a91_b.jpg& data-size=&normal& data-rawwidth=&278& class=&content_image& width=&278&&&figcaption&无前发投影&/figcaption&&/figure&&figure&&img data-rawheight=&220& src=&https://pic1.zhimg.com/v2-13ab5b9819aef013a09aba9acf7fc03c_b.jpg& data-size=&normal& data-rawwidth=&316& class=&content_image& width=&316&&&figcaption&含前发投影&/figcaption&&/figure&&ul&&li&同以上道理,一个身体也可能需要分若干层。因为其中涉及到头发在身体表现上的层次穿插,这里就不具体举例示意了。&/li&&/ul&&p&所以我们最终确定的层次结构从前到后依次是&/p&&ul&&li&bitem(身后道具)&/li&&li&bhair(后部分头发)&/li&&li&body(身体)&/li&&li&mhair(中部头发)&/li&&li&head(面部)&/li&&li&fhairshadow(前发阴影投影)&/li&&li&nose(鼻子)&/li&&li&mouth(嘴巴)&/li&&li&reye(右眼)&/li&&li&leye(左眼)&/li&&li&lbrow(左眉)&/li&&li&rbrow(右眉)&/li&&li&beard(胡须)&/li&&li&fitem(身前道具)&/li&&li&fhair(前发)&/li&&li&fbody(身体前部分)&/li&&/ul&&p&这样,我们最后规范的美术的绘制方法也是按照各个层绘制,然后逐步拆出来,最后组合微调。我们规定了面部、五官、脖子等中心位置范围,根据每一个部位设置偏移(包括横向和纵向)、旋转的锚点。&/p&&p&部分拆出素材示例:&/p&&figure&&img data-rawheight=&399& src=&https://pic2.zhimg.com/v2-56ee69caf20dc6de24143_b.jpg& data-size=&normal& data-rawwidth=&649& class=&origin_image zh-lightbox-thumb& width=&649& data-original=&https://pic2.zhimg.com/v2-56ee69caf20dc6de24143_r.jpg&&&/figure&&figure&&img data-rawheight=&525& src=&https://pic1.zhimg.com/v2-8dd8fdaf18db_b.jpg& data-size=&normal& data-rawwidth=&979& class=&origin_image zh-lightbox-thumb& width=&979& data-original=&https://pic1.zhimg.com/v2-8dd8fdaf18db_r.jpg&&&/figure&&figure&&img data-rawheight=&531& src=&https://pic3.zhimg.com/v2-4cf4a20b4645cfb24eaf4f_b.jpg& data-size=&normal& data-rawwidth=&755& class=&origin_image zh-lightbox-thumb& width=&755& data-original=&https://pic3.zhimg.com/v2-4cf4a20b4645cfb24eaf4f_r.jpg&&&/figure&&figure&&img data-rawheight=&260& src=&https://pic2.zhimg.com/v2-8dd72ee1be473fdf26767_b.jpg& data-size=&normal& data-rawwidth=&768& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic2.zhimg.com/v2-8dd72ee1be473fdf26767_r.jpg&&&/figure&&figure&&img data-rawheight=&402& src=&https://pic4.zhimg.com/v2-c8b63a97f8b44f55cf84a7e22a8f2a94_b.jpg& data-size=&normal& data-rawwidth=&654& class=&origin_image zh-lightbox-thumb& width=&654& data-original=&https://pic4.zhimg.com/v2-c8b63a97f8b44f55cf84a7e22a8f2a94_r.jpg&&&/figure&&p&&br&&/p&&p&&b&技术规范:&/b&&/p&&p&捏脸部分的素材涉及大量的2D资源贴图,那么如何存储是一个问题。在Unity等游戏引擎中,我们需要综合考虑的存储和运行时加载的效率。&/p&&p&从存储和内存加载的角度来说,2的次幂正方形纹理是效率最高的。同时由于我们美术规范上分了如此多的层,加载的时候如何dynamic batch也是一个问题。如何划分图集,如何加载,成为了一个需要取舍的点。&/p&&p&我最终的方案是,分三类资源打包:&/p&&p&1、最大的部分(主要是角色的身体)单独一张图一个文件,存成2的次幂文件,统一放在一个 assetbundle里,运行时按需加载,延迟释放(比如切场景时释放所有临时缓存的该类纹理资源)。&/p&&p&2、较大的部分(占面积较大的头发、物品),根据类型使用TexturePacker打包图集,放在assetbundle里,运行时按需加载,延迟释放&/p&&figure&&img data-rawheight=&536& src=&https://pic2.zhimg.com/v2-97c5c8c78a0afb18f0d0ad_b.jpg& data-size=&normal& data-rawwidth=&563& class=&origin_image zh-lightbox-thumb& width=&563& data-original=&https://pic2.zhimg.com/v2-97c5c8c78a0afb18f0d0ad_r.jpg&&&/figure&&p&3、最小的部分(脸部、眼睛、鼻子、眉毛等),使用TexturePacker统一打一个图集(为了降低drawcall,动态合批),启动游戏时直接加载常驻内存。&/p&&figure&&img data-rawheight=&733& src=&https://pic2.zhimg.com/v2-f7a53ebce4a41ddc389c86e38bb83097_b.jpg& data-size=&normal& data-rawwidth=&852& class=&origin_image zh-lightbox-thumb& width=&852& data-original=&https://pic2.zhimg.com/v2-f7a53ebce4a41ddc389c86e38bb83097_r.jpg&&&/figure&&p&配置约束语法&/p&&p&&br&&/p&&p&这里再提供我们的整体捏脸配置的数据结构供大家参考一下&/p&&p&这里template &C&是我们所有的男性捏脸&/p&&p&avata_template节点下&/p&&p&partnumber标志的是各个部位对应的资源数量&/p&&p&canhide是指该部位是否可以被隐藏&/p&&p&pivots是各个部位对应的偏移/旋转的锚点&/p&&p&adjusts是对应我们构图各个部位的像素微调配置&/p&&p&&br&&/p&&p&底下的子节点&/p&&p&bind 是指某个项在某些条件下是否可以被使用&/p&&p&bhair是指在某个发型(index)能够使用的后发编号(这里是根据实际美术资源是否协调进行配置的)&/p&&div class=&highlight&&&pre&&code class=&language-xml&&&span&&/span&&span class=&nt&&&avata_template&/span& &span class=&na&&name=&/span&&span class=&s&&&C&&/span& &span class=&na&&w=&/span&&span class=&s&&&512&&/span& &span class=&na&&h=&/span&&span class=&s&&&512&&/span& &span class=&na&&atlas=&/span&&span class=&s&&&2&&/span&
&span class=&na&&partnumber=&/span&&span class=&s&&&40 30 37 34 30 34 33 19 0 30&&/span&
&span class=&na&&canhide=&/span&&span class=&s&&&0 0 0 0 0 0 0 0 1 1&&/span&
&span class=&na&&bindmode=&/span&&span class=&s&&&0 0 0 0 0 0 0 0 1 1&&/span&
&span class=&na&&pivots=&/span&&span class=&s&&&0.5 0.57 0.54 0.64 0.47 0.64 0.54 0.64 0.46 0.64 0.5 0.59&&/span&
&span class=&na&&adjusts=&/span&&span class=&s&&&6 5 5 5 25 25 12 5 15 15 0.2 5 0.3 3 5 0.2 10 10&&/span&
&span class=&nt&&&&/span&
&span class=&nt&&&bind&/span& &span class=&na&&part=&/span&&span class=&s&&&fitem&&/span& &span class=&na&&index=&/span&&span class=&s&&&0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21&&/span& &span class=&na&&condition=&/span&&span class=&s&&&&&/span&&span class=&nt&&/&&/span&
&span class=&c&&&!--&bind part=&bitem& index=&1 2 6 26& condition=&&/&--&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&1&&/span& &span class=&na&&support=&/span&&span class=&s&&&3 4 6 9 10 12 16 17 19 21 22 23 25 26 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&2&&/span& &span class=&na&&support=&/span&&span class=&s&&&2 4 5 10 13 16 17 21 22 23 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&3&&/span& &span class=&na&&support=&/span&&span class=&s&&&3 9 17 18&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&4&&/span& &span class=&na&&support=&/span&&span class=&s&&&3 4 6 9 10 12 13 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&5&&/span& &span class=&na&&support=&/span&&span class=&s&&&4 5 9 10 12 13 16 18 19 21 22 23 25&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&6&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 3 4 6 9 10 12 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&7&&/span& &span class=&na&&support=&/span&&span class=&s&&&7 13 18 21&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&8&&/span& &span class=&na&&support=&/span&&span class=&s&&&8 13 17 18 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&9&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 2 3 4 5 6 7 9 10 13 16 17 18 19 21 22 23 25 26 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&10&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 4 9 10 12 13 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&11&&/span& &span class=&na&&support=&/span&&span class=&s&&&5 9 13 17 18&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&12&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 9 10 12 13 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&13&&/span& &span class=&na&&support=&/span&&span class=&s&&&5 10 13 18 21 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&15&&/span& &span class=&na&&support=&/span&&span class=&s&&&13 15 18 21&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&16&&/span& &span class=&na&&support=&/span&&span class=&s&&&5 10 12 13 16 19 21 22 23 25 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&17&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 3 4 6 9 10 12 13 16 17 18 19 21 22 23 25 26 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&18&&/span& &span class=&na&&support=&/span&&span class=&s&&&3 8 9 17 18 21 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&19&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 4 5 6 7 9 10 12 13 16 17 18 19 21 22 23 25 26 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&20&&/span& &span class=&na&&support=&/span&&span class=&s&&&18 19 20&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&21&&/span& &span class=&na&&support=&/span&&span class=&s&&&3 6 13 17 18 21&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&22&&/span& &span class=&na&&support=&/span&&span class=&s&&&2 3 4 6 9 10 12 13 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&23&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 3 4 6 9 10 12 13 16 17 18 19 21 22 23 25 26 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&24&&/span& &span class=&na&&support=&/span&&span class=&s&&&5 9 10 13 17 18 21 25 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&25&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 4 5 7 9 10 12 13 16 17 18 19 21 22 23 25 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&26&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 4 5 6 9 10 12 13 16 17 18 19 21 22 23 25 26&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&27&&/span& &span class=&na&&support=&/span&&span class=&s&&&1 3 5 13 18 21 27&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&28&&/span& &span class=&na&&support=&/span&&span class=&s&&&21 22 23 25 28&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&29&&/span& &span class=&na&&support=&/span&&span class=&s&&&2 5 13 18 21 27 29&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&bhair&/span& &span class=&na&&index=&/span&&span class=&s&&&30&&/span& &span class=&na&&support=&/span&&span class=&s&&&2 5 13 18 21 27 29 30&&/span&&span class=&nt&&/&&/span&
&span class=&nt&&&/avata_template&&/span&
&/code&&/pre&&/div&&p&另外我们还做了一些肤色变化、衣服变色的方案,是使用的unity中的颜色混合和调色板,这里就不细说了。&/p&&p&&br&&/p&&h2&结语&/h2&&p&最终我们出的效果还不错,也在标准制定好以后,通过美术外包的小伙伴迅速拓展了内容量。以下是一些有才玩家的捏脸,供大家娱乐娱乐~&/p&&p&&br&&/p&&figure&&img data-rawheight=&743& src=&https://pic1.zhimg.com/v2-c04431b3aeaa_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-c04431b3aeaa_r.jpg&&&figcaption&长发兄贵&/figcaption&&/figure&&figure&&img data-rawheight=&742& src=&https://pic1.zhimg.com/v2-53f422d1b857e6c1502593bdd0c7cacc_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-53f422d1b857e6c1502593bdd0c7cacc_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic1.zhimg.com/v2-a17ea1c202c52e18aaaa048a9443732f_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-a17ea1c202c52e18aaaa048a9443732f_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic1.zhimg.com/v2-6aeccebc824b602a2e111f_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-6aeccebc824b602a2e111f_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic4.zhimg.com/v2-e37d7e0e0ce8bea7d0bf9c3_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic4.zhimg.com/v2-e37d7e0e0ce8bea7d0bf9c3_r.jpg&&&/figure&&figure&&img data-rawheight=&742& src=&https://pic2.zhimg.com/v2-80d5ce235e44f2c07f669_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic2.zhimg.com/v2-80d5ce235e44f2c07f669_r.jpg&&&/figure&&figure&&img data-rawheight=&640& src=&https://pic1.zhimg.com/v2-0adff0a1e6d9dee72edfe2a_b.jpg& data-size=&normal& data-rawwidth=&1136& class=&origin_image zh-lightbox-thumb& width=&1136& data-original=&https://pic1.zhimg.com/v2-0adff0a1e6d9dee72edfe2a_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic4.zhimg.com/v2-2f4ee677edc1efbc6db1a_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic4.zhimg.com/v2-2f4ee677edc1efbc6db1a_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic1.zhimg.com/v2-b9fc_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-b9fc_r.jpg&&&/figure&&figure&&img data-rawheight=&784& src=&https://pic3.zhimg.com/v2-f986aa24eb8a6b4bfb9c9dc_b.jpg& data-size=&normal& data-rawwidth=&657& class=&origin_image zh-lightbox-thumb& width=&657& data-original=&https://pic3.zhimg.com/v2-f986aa24eb8a6b4bfb9c9dc_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic2.zhimg.com/v2-3def80ef2fc0b982a4ebbb6fa265862f_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic2.zhimg.com/v2-3def80ef2fc0b982a4ebbb6fa265862f_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic4.zhimg.com/v2-96006a6ced93bb19c5b59f_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic4.zhimg.com/v2-96006a6ced93bb19c5b59f_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic4.zhimg.com/v2-a56f1bd0db214c13590acf_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic4.zhimg.com/v2-a56f1bd0db214c13590acf_r.jpg&&&/figure&&figure&&img data-rawheight=&743& src=&https://pic1.zhimg.com/v2-4eb886b2a4_b.jpg& data-size=&normal& data-rawwidth=&1320& class=&origin_image zh-lightbox-thumb& width=&1320& data-original=&https://pic1.zhimg.com/v2-4eb886b2a4_r.jpg&&&/figure&&p&&br&&/p&&p&更多的玩家捏脸可以看这篇taptap的玩家贴&/p&&a href=&https://link.zhihu.com/?target=https%3A//www.taptap.com/topic/424730& data-draft-node=&block& data-draft-type=&link-card& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&更多的玩家捏脸可以看这里&/a&&p&想自己捏个脸或者体验一下的话,不妨来试试我们游戏吧!&/p&&a href=&https://link.zhihu.com/?target=http%3A//jhx2.hanjiasongshu.com& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic4.zhimg.com/v2-c2e3c989d0ee7_ipico.jpg& data-image-width=&300& data-image-height=&300& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&江湖X:汉家江湖 - 高自由度武侠RPG独立游戏&/a&
大家好,我是汉家松鼠的CG,《江湖X》、《汉家江湖》的制作人和主程,今天给大家介绍一下我们游戏中的捏脸系统是如何设计和开发的。 背景介绍游戏《汉家江湖》是我们一款2D原创武侠题材RPG独立游戏,我们提供了一个2D的捏脸系统供玩家自定义角色,同时也供…
&p&&/p&&p&本文作者为百度显卡吧吧主“卖萌搞基”女神原创!本人亦是本评测室核心大神之一,不存在抄袭情况,请管理员审核。&/p&&p&&br&&/p&&p& 显卡是拿来做什么的?大家一般都只拿来玩游戏 对吧?但是显卡还有很多妙用,尤其是对死宅朋友来说,下面让我们来看看显卡除了游戏之外还能拿来做什么&/p&&p&&br&&/p&&p&&b&首&/b&先是A&N卡共同拥有的福利小工具:waifu2X,此工具只针对动漫死宅,如果你不是,可以跳过&/p&&p&&br&&/p&&p&
简称老婆2X 原因很简单waifu-wife-老婆,为github上一个开源项目,原作者是岛国死宅,现在有各种版本,目前应用最多的是支持cuda的waifu2X-caffe,以及支持opencl的waifu2x-glsl(AN都可以,但是N卡请用caffe)&/p&&p&&br&&/p&&p&
Waifu2x强大的地方在于,它可以将一张动漫图片无损拉大,甚至画质超越原图,只要你原图不是太搓就行,基本P站扒下来的画师放的低分辨率图都可以,N卡版的界面如下&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-b6a34ed1cbd656fac84595a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1014& data-rawheight=&488& class=&origin_image zh-lightbox-thumb& width=&1014& data-original=&https://pic2.zhimg.com/v2-b6a34ed1cbd656fac84595a_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&
很简单,你只要把你要转的图拉到输入那里,点运行,就会在同目录下生成新图,是放大还是降噪还是两者一起,自己选择就可以。降噪的效果也非常好,如果你是照片的话,就算啦,这东西只针对二次元插图,照片效果一般。当然它也能拿来转视频,比如把480p的DVD动漫拉到720甚至1080,但是非常慢,因为运算量太大了。你如果经常看X穗字幕组的动漫,他们的720p甚至1080p就是用这种方法做出来的。&/p&&p&&br&&/p&&p&
至于opencl版,没有GUI,效果也不如caffe版好,参数调整也非常麻烦,但是支持A卡啊。使用方法是把图片拖到w2xcr.exe上即可。&/p&&p&&br&&/p&&p&
另外 这东西不吃双精度,也不吃单精度,因为朋友的K40在这个软件上的表现和统一桌面级的显卡一致。&/p&&p&&br&&/p&&p&&b&俗&/b&话说 A卡看高清,N卡玩游戏,其实这句话也没什么不对,只要你看了下面的东西&br&&/p&&p&&br&&/p&&p&
首先说一下什么是BFRC,BFRC全称 Bluesky Frame Rate Converter,是一款基于AMD Fluid Motion的补帧工具,它可以将一般的24fps/30fps的视频利用算法补到60fps,从而使视频观感大幅度提升,&/p&&p&&br&&/p&&p&
最低硬件要求为HD7000以上系列GCN架构显卡,以及采用GCN架构显卡的APU,或者Intel haswell以后CPU的核显(iGPU仅仅win7下才可以)也就是说,现在有GCN架构的A卡用户基本都可以用它,但是HD7450这类阉割到极限的低端卡我不保证能用。&/p&&p&&br&&/p&&p&
个人朋友中测试可行的最低显卡为HD7750,再低没有测试。另外A卡用户请务必保证自己是win10系统。win7下可以支持intel haswell或者更新一代处理器的核显。&/p&&p&&br&&/p&&p&那么首先是安装,这里仅仅介绍AMD的开启方法。&/p&&p&1:下载最新版的AMD显卡驱动并安装&/p&&p&2:下载Bluesky Frame Rate Converter,由于原网站需要梯子,这里我给个度盘, &a href=&https://link.zhihu.com/?target=http%3A//pan.baidu.com/s/1kWhXkZt& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&pan.baidu.com/s/1kWhXkZ&/span&&span class=&invisible&&t&/span&&span class=&ellipsis&&&/span&&/a&,提取码为3z8l&/p&&p&3:安装Bluesky Frame Rate Converter 一路next即可&/p&&p&4:安装完之后打开显卡驱动 将AMD Fluid Motion设置为开启&/p&&figure&&img src=&https://pic3.zhimg.com/v2-90f059f6d334cd82621bbf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1000& data-rawheight=&489& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic3.zhimg.com/v2-90f059f6d334cd82621bbf_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&5:然后打开BFRC,按照这么设置&/p&&figure&&img src=&https://pic4.zhimg.com/v2-5a1a755b6beae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&365& data-rawheight=&440& class=&content_image& width=&365&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&要注意的是 Driver Setting最开始是显示为enable AFM support,而不是图里的,点击enable之后会提示你重启系统。&/p&&p&6:安装potplayer 64bit,下载地址自行百度。一路next即可,然后打开potplayer 64bit右键 选项 点击滤镜选项,选择全局滤镜优先权,然后选择添加外部滤镜,依次打开C:\Program Files\Bluesky Frame Rate Converter,选择文件夹内的BlueskyFRC64.dll&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1de8bfc3de7b170ec435a4e3d257d5ff_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&580& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic3.zhimg.com/v2-1de8bfc3de7b170ec435a4e3d257d5ff_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&然后设置为强制使用,重新打开potplayer即可。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fde85fae9e487ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&751& data-rawheight=&564& class=&origin_image zh-lightbox-thumb& width=&751& data-original=&https://pic4.zhimg.com/v2-fde85fae9e487ae_r.jpg&&&/figure&&p&&br&&/p&&p&测试&/p&&p&
片源1:点兔第二季ED&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e554d858a163b2a1b98db53cb773d97c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&591& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic4.zhimg.com/v2-e554d858a163b2a1b98db53cb773d97c_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&
可以看到,视频已经被补到了60fps,而观感也得到了一定的提升,类似于看游戏CG一样,一开始可能会不适应这种60fps视频。&/p&&p&&br&&/p&&p&测试2:4K北京烤鸭片源&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5f82b536ec4e5d17a9c5a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&591& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-5f82b536ec4e5d17a9c5a_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&
可以看到,4K片源也可以补到60fps,不过北京烤鸭的码率在4K里面算低的,更强码率的片源我没有 ,所以也没办法测了,经过某些吧友测试,390X在应付部分4K的时候可以补到60fps,而没办法完美,想完美估计得用4系列以后的。&/p&&p&&br&&/p&&p&&b&玩&/b&插帧的肯定知道SVP。那么就对比SVP,SVP也算是大家比较了解的插帧工具了,对比SVP,画面撕裂会有明显的减少,但是据说不如SVP顺滑,SVP我自己也用过,感觉上的确A卡的补帧工具更强一些,而且SVP需要强大的CPU做支撑,BFRC则完全依赖显卡,不需要多好的CPU。&/p&&p&&br&&/p&&p&
但是要注意的是,BFRC的插帧是有代价的,主要体现在输出上 ,从上面两幅图我们可以看到输出的是NV12,也就是YUV420P8,具体大家可以对照下表&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-89afbcea050bfed61b416_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&418& data-rawheight=&120& class=&content_image& width=&418&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&
那么这是什么意思呢?我第一个片源是我自己压制的10bit HEVC,而开启BFRC后,被强制降低到8bit输出,这个流程是解码器出来就从原本的10bit YUV变成了8bitYUV喂给AFM,对于10bit的片源来说,这么做会损失大量的精度,而且会更加愚蠢的转回RGB去送给渲染器。举个例子,如果片源的压制方式是对噪点进行大量轰平,在转换回8bit的时候,你有可能会看到感人的色带,是要60fps,还是要最好的画质,就看你个人取舍了。或者你可以直接去选择8bit的片源。&/p&&p&&br&&/p&&p&
最后,即将上市的APU都可以用来插帧哟,还等什么呢?手动斜眼。&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&如果你喜欢这篇文章,&/p&&p&欢迎点个赞,&/p&&p&在下面留言,&/p&&p&或者关注电脑吧评测室微信公众号,自媒体平台&/p&
本文作者为百度显卡吧吧主“卖萌搞基”女神原创!本人亦是本评测室核心大神之一,不存在抄袭情况,请管理员审核。 显卡是拿来做什么的?大家一般都只拿来玩游戏 对吧?但是显卡还有很多妙用,尤其是对死宅朋友来说,下面让我们来看看显卡除了游戏之外还能拿…
&p&谢邀,我不是做数值的,只能试着从几个方面回答一下&/p&&p&&b&1.基数量级越大,周边的数值养成越好做。&/b&&/p&&p&比如游戏的最小攻击力是1,这时我出了一件装备+1%攻击力,那这件装备就是无意义的(假设不存在小数),因此最小攻击力至少要100。这时我要出第二件装备+1.1%,为了体现出这0.1%的优势,最小攻击力就要提到1000。一个游戏为了赚钱,就要出各种周边的成长系统,既要把坑做大,又要把坑做深,就需要足够大的数值量级。&/p&&p&&b&2.过长的成长线,导致了数据的爆炸&/b&&/p&&p&有的游戏没有足够有趣的玩法,就要靠不断地数值成长来延长游戏生命周期。拿那些页游举例,几乎一进去,你做的任何事都会导致数值成长。就算你的初始战力是1,每次成长只涨1,一小时以后你也有上百的战力了,如果这游戏想让你玩一个月,需要多大的战力?再综合第一条,数量级当然小不了。&/p&&p&&b&3.数值越大,玩家越不敏感&/b&&/p&&p&有的游戏不希望玩家关注那些复杂又混乱的数值系统,故意将数值做大,然后弱化数值的印象,强化变强的感觉。那些战力不断提升的游戏,想告诉你的不是你的战力有多少,而是你变强了。&/p&&p&反过来当我们希望玩家对某个数据敏感时,就会用较小的数据。比如某些MMO,他们希望玩家对每个副本的每个装备有个直观的印象,就会努力把数值做小。这看似与前两条矛盾,但做游戏就是很矛盾的,全看取舍。剑三95年代后将数值全部改小,相当于将95级前的成长线压短了,除了防止数据爆炸外,也是为了让玩家对数值更好理解。&/p&
谢邀,我不是做数值的,只能试着从几个方面回答一下1.基数量级越大,周边的数值养成越好做。比如游戏的最小攻击力是1,这时我出了一件装备+1%攻击力,那这件装备就是无意义的(假设不存在小数),因此最小攻击力至少要100。这时我要出第二件装备+1.1%,为了…
&figure&&img src=&https://pic4.zhimg.com/v2-e9baa3c631dc443e8b2cd7c5a03e5a0f_b.jpg& data-rawwidth=&1441& data-rawheight=&809& class=&origin_image zh-lightbox-thumb& width=&1441& data-original=&https://pic4.zhimg.com/v2-e9baa3c631dc443e8b2cd7c5a03e5a0f_r.jpg&&&/figure&&p&策划案写的好不能断定是优秀策划,但是能够写出同时让团队一阅既懂的策划案,必须是优秀策划的基本功。&/p&&p&至于策划案怎么写这个问题,老腊肉们的回答大多是“怎么写都行”“最重要看得懂”“每家公司都不一样”,尽管事实上确实是这样,但新人总归是需要一个入门的方式。&/p&&p&实际研发中,策划案的形式也确实五花八门。在这其中,有没有基本的思路?有没有模板化的方案?&/p&&hr&&h2&&b&【本篇目录索引】&/b&&/h2&&p&1、这份策划案引导适用人群&/p&&p&2、&b&普通游戏策划案的基本思路&/b&&/p&&ul&&li&我的想法:这是关于什么的策划案&/li&&li&写给谁看:有什么人会看这份策划案&/li&&li&如何表达:什么样的表达能让对方迅速理解我的意思&/li&&/ul&&p&3&b&、★常用策划案结构拆解★&/b&&/p&&ul&&li&标题&/li&&li&日志&/li&&li&目录&/li&&li&简介&/li&&li&实现目标&/li&&li&基本设定&/li&&li&规则逻辑&/li&&li&UI交互&/li&&li&美术资源&/li&&li&开发计划&/li&&li&开发报价(外包项目)&/li&&/ul&&p&4、实际应用注意事项,以及啰嗦的话&/p&&ul&&li&根据对象决定策划案内容&/li&&li&word的大纲功能&/li&&li&用好辅助工具&/li&&/ul&&hr&&h2&&b&【一、适用人群】&/b&&/h2&&ul&&li&对游戏行业感兴趣,有打算或正在找工作的准策划&/li&&li&入行初期get不到策划案要点的新人策划&/li&&li&加入创业团队缺少规范化的策划案模式的策划&/li&&li&主要针对系统策划,数值、文案等会稍微提及&/li&&/ul&&p&&b&本篇专门针对在策划案编写上有疑惑的新人,&/b&很多内容都偏向尽可能详尽,上手之后是可以根据实际需求和工作方式对文档内容进行简化,最终形成自己的风格。&/p&&p&至于本身已经有惯用且完善的策划案输出习惯的各位策划大佬们,可以纯粹当作交流,给点针对新人的意见相互学习学习。&/p&&hr&&h2&&b&【二、基本思路】&/b&&/h2&&p&&b&&i&【情境一】&/i&&/b&&/p&&p&&i&策划会议上,入行不久的系统提出了一个关于装备养成深化的合成系统方案,数值、文案、执行都纷纷发表了自己的看法。&/i&&/p&&p&&i&会议结束,主策对系统说:&/i&&/p&&p&&i&“系统,刚才你提的那个合成系统,我觉得粗糙了点,还得再细化一下,你回去结合大家的意见再构思构思,写成文档,下次开会我们再评审一遍。”&/i&&/p&&p&&i&系统回到座位,打开word,当即写了个标题《合成系统策划案》,换行。&/i&&/p&&p&&i&然后就陷入了沉思——&/i&&/p&&p&&i&从哪里开始写呢?哪些内容要写上去?怎么写他们才能理解我的想法?要不要画个图?要不要做个数据模型?有没有类似的策划案参考一下?&/i&&/p&&p&&br&&/p&&p&这一些列的问题,我们可以从一下几个方面入手———&/p&&p&&br&&/p&&h2&&b&1、我的想法:这是关于什么的策划案&/b&&/h2&&p&构思策划案的初期,需要将整个系统/玩法/功能的样子勾勒出来,将下面几个问题的答案想明白:&/p&&p&&b&(1)设计这个系统/玩法/功能的目的是什么?&/b&&/p&&p&  对世界观进行补充、深化某个玩法、处理剩余资源、提高玩家在线时长…etc.&/p&&p&&b&(2)一句话概括系统的核心规则?&/b&&/p&&p&  分为N个模块进行XX最终实现某某效果、通过自由组合搭配实现个性化XX、消耗AA和BB获取CC、在限定条件内达到终点……etc.&/p&&p&&b&(3)涉及哪些资源以及如何流通?&/b&&/p&&p&  是否产生新的资源?/产出/消耗什么?从哪里获取/消耗?产出/消耗的初步规划……etc.&/p&&p&&b&(4)具体的体验流程应该是什么样?&/b&&/p&&p&  从XX入口进入,消耗什么,进行某种操作,过程如何那般,获得什么结果,最终影响某某方面……&/p&&p&&br&&/p&&p&明确以上四个问题的答案,那么这个系统/玩法/功能在你心中基本成型了,再继续下一步。&/p&&p&&br&&/p&&h2&&b&2、写给谁看:有什么人会看这份策划案&/b&&/h2&&p&&b&&i&【情境二】&/i&&/b&&/p&&p&&i&系统花了3天时间,做了一大堆的模拟和推算后,终于写好了那份《合成系统策划案》,他把合成的详细流程,同类游戏的规则参照图,最重要的是他还模拟出了所有物品交叉合成后可能出现的全部效果,还总结了几点对比同类游戏来说自己这种方案的优势。&/i&&/p&&p&&i&他深深地佩服自己的努力,并且充满期待的等待着团队成员赞赏的目光。&/i&&/p&&p&&i&结果是,评审会议上,大家看过这份策划案以后,陷入了沉默。&/i&&/p&&p&&i&数值:“这个数值要怎么做?”&/i&&/p&&p&&i&系统:“我不是把所有结果都模拟出来了么,就按照这些结果来做。”&/i&&/p&&p&&i&程序:“你这个合成会失败么?少放一种材料能不能合成?那个XX我看现在没有,是哪一类物品?显示在背包里么?”&/i&&/p&&p&&i&系统:“这个……我还没想到……“&/i&&/p&&p&&i&UI:“就只有1个界面+2种弹窗是吧?”&/i&&/p&&p&&i&系统:“额…………应该是……”&/i&&/p&&p&&i&最后,这次会议以无果告终,主策将系统留下来,语重心长地说:“这份文档我觉得你没写道点子上,回去重新写一下吧。小伙子,你要用点心,多动点脑子,不要想当然地就随便写。”&/i&&/p&&p&&i&系统觉得自己十分委屈。&/i&&/p&&p&&br&&/p&&p&上面这位系统的遭遇,其实在刚入行的时候,很多策划都会遇到。&/p&&p&实际上,我们是陷入了一个&b&“自嗨”&/b&的陷阱。&/p&&p&新人策划写规则的时候,关注点很容易就放在展现操作流程上,出现几个问题:&/p&&ul&&li&忽略意外状况,即不按照既定流程操作,可能产生的结果。&/li&&li&缺乏对新增内容定义,想当然地认为每个人都能理解自己的设计。&/li&&li&缺乏对逻辑的深入思考,没有展示新内容的与旧内容的联系&/li&&/ul&&p&&br&&/p&&p&&b&看策划案的人,由于每个人的职位不同,在看文档的时候关注的重点也各有不同。要做到让每个人都看懂,就得先了解每个人关注的重点。&/b&&/p&&p&&br&&/p&&p&下面简单列一下不同职位对策划案内容的需求:&/p&&ul&&li&&b&制作人:能对游戏产生的影响、影响的预估(比如大幅提高上线率、小幅降低单日收益等)&/b&&/li&&li&&b&主策:新系统/玩法/功能解决的问题及手段,内部逻辑内容的合理性,与整个项目各模块的关联,实现的时间与排期&/b&&/li&&li&&b&其他系统:和自己负责的其他内容有何关联,是否存在冲突&/b&&/li&&li&&b&数值:新增资源、流通方式、投放与收益的预期、与现有数值体系的关联&/b&&/li&&li&&b&剧情:功能实现方式、与现有功能的关联、对现有世界观的影响&/b&&/li&&li&&b&程序:新功能的逻辑、交互方式、需要配置的内容,与现有功能的交互&/b&&/li&&li&&b&美术:新增界面需求、素材需求、交互表现需求&/b&&/li&&li&&b&测试:功能细则、交互细则&/b&&/li&&li&&b&甲方爸爸(外包项目):能不能按时交付、最终报价多少、界面效果,各模块功能是否符合要求,有无缺漏功能、(至于你如何优雅地实现、用了什么高端技术,那都是不存在的)&/b&&/li&&/ul&&p&根据不同人的不同关注点,决定一份文档需要出现什么内容,无关的内容可以不必出写入其中。&/p&&p&&br&&/p&&h2&&b&3、如何表达:什么样的表达能让对方迅速理解我的意思&/b&&/h2&&ul&&li&&b&针对性表述&/b&:结合看文档对象的侧重点,&/li&&li&&b&言简意赅&/b&:语言结构不宜复杂,更不要添加修饰&/li&&li&&b&格式清晰&/b&:运用好word,因可能分点分段,减少繁冗的长段内容,重点部分可选择用加粗、下划线、色彩等工具进行突出标记&/li&&li&&b&借助工具&/b&:大篇幅的文字容易产生视觉疲劳,有些逻辑较为复杂的规则用文字表达过于繁冗,可以通过&b&思维导图、交互原型、图表&/b&等易读性强的工具来辅助理解,提高效率&/li&&/ul&&hr&&h2&&b&【三、模板拆解】&/b&&/h2&&h2&&b&1、标题&/b&&/h2&&p&简洁明了,&b&项目名称+系统/玩法/功能名称(+版本号/最后修订日期)&/b&,例如&/p&&p&《怼策划系统策划案》&/p&&p&《怼怼养成-怼策划玩法策划案1.0》&/p&&p&《怼怼养成-怼策划功能策划案》&/p&&p&(乱入了一下公众号的名字,怼怼游戏策划,内容还少,有兴趣可以支持一下)&/p&&p&&br&&/p&&h2&&b&2、日志&/b&&/h2&&p&记录文档每次变更的内容,方便版本记录&/p&&p&需要记录的内容包括:&b&操作人、变更内容、时间&/b&,其他可以根据需要进行增减&/p&&p&贴一个示例,仅供参考&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1a631bb67ff5de03486be_b.jpg& data-size=&normal& data-rawwidth=&713& data-rawheight=&545& class=&origin_image zh-lightbox-thumb& width=&713& data-original=&https://pic3.zhimg.com/v2-1a631bb67ff5de03486be_r.jpg&&&figcaption&常用的日志样式&/figcaption&&/figure&&p&&br&&/p&&h2&&b&3、目录&/b&&/h2&&p&目录要求是:&b&逻辑清晰、多层次分点、划分越细致,定位越容易&/b&&/p&&p&目录做好了,文档的易读性会有非常大的提高,尽可能在做目录的时候每个点列地足够细致,看文档的人能够通过目录迅速定位自己需要的内容。&/p&&p&下面是大概的参考示例&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f4a0fd4bd003_b.jpg& data-size=&normal& data-rawwidth=&587& data-rawheight=&759& class=&origin_image zh-lightbox-thumb& width=&587& data-original=&https://pic4.zhimg.com/v2-f4a0fd4bd003_r.jpg&&&figcaption&这样的目录下,看文档可以迅速定位到某个点,省去很多不必要的查找时间&/figcaption&&/figure&&p&善用word,对提高效率有很大帮助,在末尾会写一下利用word样式规范文档格式的方式。&/p&&p&&br&&/p&&h2&&b&4、简介&/b&&/h2&&p&&b&针对对象:所有人&/b&&/p&&p&&b&公式:对系统/玩法的核心提炼+期望解决的问题或达到的效果+体验流程的基本概括&/b&&/p&&p&&br&&/p&&p&例如一个普通的卡牌养成升级系统,它的简介可能是这么写的:&/p&&blockquote&卡牌升级系统是玩家使用卡牌出战副本,通关产出经验;或通过活动、扭蛋池获得经验书道具,提升卡牌等级,从而提升卡牌属性、收获成长感的系统。&br&&br&该系统以卡牌等级,结合副本、装备等级限制,控制玩家的游戏进度;以合理的升级反馈保证玩家在养成方面的成就感,达到提高留存的目的。&br&&br&玩家从卡牌入口进入,可进行查看卡牌属性、使用经验书的操作,经验书可配置于活动与扭蛋池中产出;在副本入口处进入出战配置,决定出战卡牌,出战卡牌在通关副本后均可获得经验。&/blockquote&&p&&br&&/p&&p&简介的内容根据项目类型、个人表述习惯各不同,写出来的内容也各有千秋。只要把握住&b&简介的目的——让每个阅读的人能够快速了解文档的内容&/b&,就可以。&/p&&p&&br&&/p&&h2&&b&5、实现目标&/b&&/h2&&p&&b&针对对象:制作人、主策、其他系统、数值、剧情、甲方爸爸&/b&&/p&&p&需要包含的内容有下面几点:&/p&&ul&&li&&b&该系统/玩法/规则可实现的各个目标:&/b&每个目标分点罗列,单独说明&/li&&li&&b&实现目标所用的手段:&/b&就是解释如何实现目标,例如资源流通、内容体验、逻辑策略等类型的规则&/li&&li&&b&该内容的体验基本规划:&/b&说明该系统/玩法/功能体验的各个阶段规划,例如产出资源类的,就说明期望玩家的收益规模如何,多久能够达到什么程度;剧情内容类的就说明希望内容以什么形式投放,每天体验多长时间,多久体验体验完;策略布阵型的,就说明有哪几种阵营,按顺序开放还是一次性全开放希望如何牵制之类的内容&/li&&/ul&&p&&br&&/p&&p&比如,一个竞技场的战场系统,实际写出来,可能像这样&/p&&blockquote&1、增强玩家在竞技场比赛中的策略性 &br&(1)实现方式 &br&玩家针对不同战场环境因素,个性化配置不同属性的技能,利用地理(高地+远程→更大射程)、天气(雪地+水系技能→减速效果)获得不同效果加成 &br&(2)体验规划 &br&方案一:跟随玩家技能解锁而开放,引导玩家逐一培养技能 &br&方案二:根据主线剧情逐步开放,引导玩家交替培养技能 &br&2、丰富战斗表现,提升玩家体验&br& (1)实现方式 &br&提供多个类型不一的战斗场景,以及独有特效&br& (2)体验规划 &br&随版本逐一更新开放,每月1个,预期制作4个,可加入到运营活动中 &br&3、拉高玩家付费&br& (1)实现方式 &br&每个场景需要的技能类型各有不同,玩家可付费快速培养某几类技能,获得更高胜率 &br&(2)体验规划 &br&新场景推出时,同期推出对应技能的技能书、技能点折扣礼包,不需要重氪,小额礼包即可。&/blockquote&&p&&br&&/p&&h2&&b&6、基础设定&/b&&/h2&&p&&b&针对对象:主策、其他系统、数值、剧情&/b&&/p&&p&包含的内容如下&/p&&ul&&li&&b&新增的属性、货币、物品等设定&/b&&/li&&li&&b&涉及数值的内容的基础规划&/b&&/li&&li&&b&与其他系统的关联,包装上的定位&/b&&/li&&li&&b&新产生的配置需求(或直接建表附件)&/b&&/li&&/ul&&p&比如,一个挂机的约会系统,每次约会需要消耗新货币【约会券】,约会后会提升一个新的属性——【好感值】,然后好感值每达到一定等级就会产出不同的【饰品道具】。&/p&&p&那么,策划案中关于基础设定可能会包含下面几点:&/p&&blockquote&【约会券】【好感值】【饰品道具(每个)】的定义;&br&【约会券】的产出、消耗方式、数量、价值期望;&br&约会挂机【时长】与产出【好感值】的关系,成正比还是成指数增长;&br&约会内容的文案需求;&br&【好感值】等级提升的需求,模拟基本成长曲线,列明特殊设定&br&【饰品道具】种类、作用对象、类型、文案需求;&br&可能要新增的【约会】配置表需要有哪些内容(或者直接建好表附在上面)&br&and so on……&br&(这方面不好详写,手头没有适合展示的文档)&/blockquote&&p&关于建表,可以先将需求列明白,定案之后再和程序商量这表怎么建。特别是新人策划刚进团队,和程序还没有一定默契的时候,自己胡乱建立配置可能最终还要根据程序的要求重做。&/p&&p&当然,数值规划表不存在这样的问题,有些公司的策划是系统兼任数值、或系统兼任文案的,这种情况下,策划案上可以直接将数值、文案的需求仅做简单介绍,直接附上图表和文案。&/p&&h2&&b&7、UI交互&/b&&/h2&&p&&b&针对对象:程序、UI、主策、测试&/b&&/p&&p&&b&内容:界面原型(图/演示文件)+交互规则&/b&&/p&&p&主要来说还是原型图的展示,基本上看过原型图后,每个人都会对这个系统有大概的了解。在此基础上,以文字补充部分比较复杂的交互逻辑,基本上就没问题了。&/p&&p&这里用一个装备系统的栗子:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ee4da21ddecb_b.jpg& data-size=&normal& data-rawwidth=&577& data-rawheight=&884& class=&origin_image zh-lightbox-thumb& width=&577& data-original=&https://pic4.zhimg.com/v2-ee4da21ddecb_r.jpg&&&figcaption&装备栏的三种状态的UI需求&/figcaption&&/figure&&blockquote&1、装备栏状态&br& 状态1:不可装备,碎片不足,蒙暗并做黑白处理,显示绿色【+】&br& 状态2:不可装备,碎片充足,蒙暗并做黑白处理,显示橙色【+】&br& 状态3:已装备,移除蒙暗,显示彩色装备icon&br&2、快速获取弹窗&br& 当且仅当装备栏为状态1时,点击弹出,红色显示当前拥有数量&br& 点击对应掉落关卡,直接跳转至关卡页面,并选中该关卡&br& 当关卡未解锁时,弹出“关卡未解锁”文本标签,1s后淡出&br&3、装备道具弹窗&br&当装备栏为状态2/状态3时,点击弹出&br&(1)弹窗状态:&br& 状态A:等级不足/金币不足&br& 状态B:可装备&br& 状态C:已装备&br&(2)装备弹窗交互&br& 当弹窗为状态A时,弹窗上方绿色显示当前拥有数量,下方【装备】按钮上方提示需消耗的金币,下方提示提示等级限制,不足项显示为红色,【装备】按钮为灰色不可按&br& 当弹窗状态为B时,即装备碎片、等级、金币均充足(均为绿色显示),【装备】按钮可按,点击消耗材料并装备,弹窗变为状态C&br& 当弹窗状态为C时,下方按钮变为不可按的【已装备】&/blockquote&&p&上面示例中将规则写得十分详尽,&b&但是这样的大段文字,其实很容易造成阅读疲劳&/b&。如果必须要用到大块文字来说明,就&b&多加入颜色标记、加粗、下划线等将重点内容标注出来&/b&。&/p&&p&毕竟,很多UI都是看着你的示意图直接画的,容易忽略掉文字部分,程序爸爸们更是直接等UI画好就照着图加上自己的理解来做,所以文字说明其实比较鸡肋,特别的大段的文字。&/p&&p&建议使用AXURE来制作原型,刚入门的新手可以只画界面,然后配以文字说明。&/p&&p&上手以后,最好能够直接做出一个演示demo,直接省略文字描述,那么文档上关于交互这块就可以提高输出效率。&/p&&p&&br&&/p&&h2&&b&8、规则逻辑&/b&&/h2&&p&&b&针对对象:程序、主策、其他系统、测试&/b&&/p&&p&这一部分的内容是相对来说比较多且杂的,个人认为没有必要追求标准化的套路去表达。&/p&&p&&b&只要能将整个系统/玩法/功能的大大小小逻辑分层次捋清楚,确保程序能够理解每个功}

我要回帖

更多关于 游戏生命值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信