魂好还是黑暗之魂3力敏流武器好,做为一个输出

高玩心得 打造输出型的魂虚_天下叁_官方合作网站_天下叁下载_天下叁新手卡_网络游戏_新浪游戏_新浪网
&|&┆┆┆┆&&
收费方式:道具收费 已收费
初窥门径 <font color="#ee级
初窥门径 <font color="#ee级
初窥门径 <font color="#ee级
初窥门径 50级以上
责任编辑:橙橙 剑痴 小婕
美术设计:seven
页面制作:Seven
您现在位置 >>
新浪游戏  14:37
高玩心得 打造输出型的魂虚
  最近论坛里道友们加强太虚的呼声很高,但版主也说过技能不会再修改,而且三代玄修现在应该已经基本定型,所以现在再修改的可能性也很小。总之,不管这次新玄修结果如何,是强是弱,请各位道友都淡定对待,因为我相信太虚的未来不仅仅在KFZ手中,更重要的是在我们玩太虚的玩家手中。
  写一篇小小的魂虚养成帖子,或者说是心得,给各位爱好战场的魂虚,由于本人尚未经历神启战场的洗礼,所以以下攻略可能在神启战场不太适用。
  一、如果你还是小号,请对你的号提早做好长远规划
  战场套vs世界套,这是每一个太虚刚刚踏入战场时都会考虑的问题。当你还是60级的小号时,也许就应该开始慢慢打听是六祸穿到摇光,还是虎啸穿到凝河,抑或是4+4从头穿到尾呢?是战场首饰,还是大禹华星?
  楼主60级穿过虎啸,六祸,云水,70级穿过不灭,森罗,上净,75级更是穿过古始和鹤舞,但是到了79,我最终坚定了自己的信念,那就是战场套四色魂虚――也就是大家常说的炮台太虚。
  虽然在装备的选择上坑了很多次爹,但我觉得这毕竟是一个难得的体悟,我也慢慢再不断的换装备中清楚了什么才是自己想要的属性。
  在这里小小的提一下75战场套和世界套的区别,道友们可以大概辨认一下。
  战场套:最大的优势在射程。其次是保证了较强的生存能力,并提供非常多的会心。
  世界套:最大的优势在于金属性和魂,强化了输出能力和机动性。
  也许看到这里你仍然不能决定自己的路线,那么下面的可能会改变你的一些看法。
  二、不盲目追求金属性,不迷信重击
  1.如何选择装备?
  许多道友在70级的时候总是第一时间的选择把六祸肩升级成不灭肩,这其实是种错误的做法。因为不灭这套装备并不是非常的适合魂虚,而少了一件六祸肩的套装则失去了60阶段太虚的神技――透骨缠魂。
  更进一步的,许多人认为装备的更新是理所应当的,六祸全套换成了不灭全套,虽然有了射程特技,但输出能力大大下降,我个人认为是非常不值得的。
  而到了75阶段,装备则明确的成为了区分能力的分水岭。和70的装备不同,75的世界套和战场套,都需要耗费大量的时间和财力打造,而装备认知能力则更进一步的成为一个魂虚是否暴力,是否能生存的重要考核标准。同样装备评价,穿着同样装备的太虚,输出能力却可能是天壤之别。对太虚而言,战场套和世界套都非常适合,根据自己属性的不同,搭配出完美的属性,你就可以在战场里成为一个犀利的魂虚。
  2.会心or重击?
  在75阶段,很多道友都盲目的偏向选择龙卷套装,这其实是种不正确的理解方式。的确,铭尘的风重流派让许多人眼前一亮,但这并不适合大多数人。
  郁风真诀虽然是太虚的最重要的输出技能,但它和其他门派的技能不一样,是短回气的持续输出技能。除非能保证在短时间内制造极大输出,否则考核重击伤害就是没有意义的。而诸如大多数硬甲和毒医的小攻重击流也是不适合太虚的,原因在于太虚的魂成长(0.4~0.9),属于小攻偏小,大攻偏大,并且太虚没有技能派系和类似翎羽玄修的小攻支持。如果不能做到如同西尔瓦娜斯这样的小攻溢出,或者接近溢出,重击的稳定输出能力也将远远小于会心输出。
  另一方面,郁风真诀在输出上因为附带郁气,偏向会心,太虚的武器也是八大职业中会心第二高的,因此在职业定位上,太虚天生就适合会心流。
  当然,在能够堆出足够高重击的情况下,太虚的重击流可能可以比会心走的更远。
  3.金属性&世界套选择
  对一般战场太虚来说,4+4其实是最好的组合。战场套的特技,世界套的属性,差不多已经可以在战场里很吃的开了。
  世界套首推轻焰,其次罂散,最后是龙卷。其他都不太适合太虚。
  看到很多道友穿着有疾语的妙手,其实想跟大家说疾语并不是那么至关重要的属性。
  75级以上的太虚,27的疾语已经是理论上极限输出了。刨开手速和反应上的一些系统偏差,30的疾语应该是对一个合格太虚的输出评判标准。
  虽然疾语在30以后仍有较大作用,但实际上的效果已经没有30以前的那么高了,对于牺牲敏魂会心去选择疾语这样软性较高的属性其实是非常不值得的。
  同理,战场套也是这样,宁愿牺牲隐藏的疾语和人祸,也一定要保证洗出会心。切不可本末倒置。
  三、打造自己的高端魂虚
  前面说到4+4是一般的战场太虚最好的组合,这是因为4件世界套能提供较大的属性补偿。如果对自己的属性自信,全套的鹤舞也许在战场中发挥的作用更加明显。
  要打造一个犀利的高端魂虚,可以按照下面的顺序来。
  1.会心
  会心的来源主要是战场套。战场首饰。洗出属性较高的战场装备比加高钻划算并且效果好得多。另外,好的鉴定,一套装备累积下来效果也非常明显。
  保证高会心是作为高端魂虚的第一步,会心对输出的提高是高倍率的,在前期时对输出的提高比堆大攻人祸来的更加明显。只有在会心较高的情况提升其他属性性价比才能得到保障。个人推荐初期先把会心弄到以上,世界套1400以上。
  2.元魂珠
  能有成品的话最好,直接买最省钱省事也最快。好的元魂珠幻化激活都好用。
  建议炎妖。开地魂后有魂加成和双暴击加成,性价比很高。
  初期分配建议420以上,后期最好能到500以上。
  3.孩子
  关于孩子的属性选择,并不是一成不变。基本上都是在森罗和长天孤鹜上选择。主要看个人的属性,如果会心足够高则可以选择长天孤鹜加大攻,反之则选择森罗堆会心。
  4.江湖技能
  坚持下本,2级王八汤战场里还是比较好用的,回2400蓝,闪出3境界则能回差不多4000蓝。
  血祭术和杀戮在战场中也效果不错。这届JJC半决赛,就是靠王八汤把念虚硬生生磨没蓝了。
  5.人祸、诛心
  在保证大攻较高的情况下(建议此时大攻已经在2800以上),人祸和诛心的效果就比较明显了。一点人祸相当于28点大攻。我从2%的人祸提升到6%人祸,4%诛心,感觉效果已经非常明显了。
  6.钻数、追电
  加钻虽然是最简单的办法,却是成本最为高昂的一种手段。在14钻以后,加钻的成本几乎是在几何级数的增长。所以如果不是到了无法突破的瓶颈,建议加钻还是留到最后。
  如果炼化的不错,疾语已经达到30或者41了,就可以开始堆追电了。
 本新闻留言共
Copyright &
SINA Corporation, All Rights Reserved如何评价这几个输出装? - 知乎30被浏览11426分享邀请回答54 条评论分享收藏感谢收起2850 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()魂世界 - 知乎专栏
{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"title":"DotA战斗战术体系浅谈","author":"jonathan-99","content":"护国神翼!恭喜Wings。玩刀塔已经很久了,从DotA1一直打到DotA2,虽然一直打的很烂,但是还是没事的时候喜欢玩两局,不管是单排还是开黑,总会自得其乐。然而,我最喜欢的,是没事的时候,观察刀塔当中每个英雄的技能和属性,研究每个物品的作用,希望可以找到更加合适的技能搭配,物品用法和各种黑科技。刀塔发展到目前为止,博大精深,甚至于对新手已然不再友好。试想一下,如果你身边没有朋友或者同学玩刀塔,而你从来没有玩过这个游戏,你会因为这个游戏的画面和玩法来玩么?也就是因为刀塔这个话题很大,所以我也有自知之明,无法大而全的去诠释甚至其中很小的一个方面。所以,这里的切入点,就是我理解的刀塔的战斗系统以及技能系统。首先,是一个目标,那就是在对方干掉自己的老家(生命之树)之前,将对面的老家干掉。其实,这是一个很简单的目标,但是又很容易被忽视(对,说的就是那种只顾着抢人头的人)。然后,我们来分析一下除了玩家控制的英雄之外的战场元素。很多塔(3座外塔,3座二塔,3座高地塔,2座哨兵塔,一座老家)很多战场生物每隔一段时间,从兵营附近生成双方对攻的一波兵双方野区的各种野怪肉山大魔王战场元素(神符,树林,泉水,高地等等)其实说这些,大家觉得可能有些唠叨,我想说的是,如果没有玩家的作用,这个游戏本身还是非常热闹的。试想一下,双方每次生成的兵几乎相等,势均力敌,在三条战线上面你来我往;野怪撒旦一家熙熙攘攘,人马一家和和睦睦,石头人兄弟情投意合,自得其乐;肉山同学继续孤独终老,恩。也许,这样祥和的情景会一直持续到永远。直到那一天,十个不知道从哪里来的自以为是的英雄出生在泉水旁边,整个世界的和平就被永久的打破了。所以,玩家的第一个作用就是,打破这种平衡来获得胜利。很自然的,第一个思路就是推进,通过各种各样的手段,达到更快的将对方老家推到的目的。那么,有什么方式可以达成呢?更好的线上回复能力,赖线时间更长,带领小兵推进。龙骑士的龙族血统。不朽尸王的噬魂。短冷却的群体伤害(AOE),可以快速的击杀对面多个小兵,使得己方获得人数上的优势。死亡先知的地穴虫群。暗影萨满的苍穹震击。帕格纳(骨法)的幽冥爆轰。可以帮助己方回复,保持人数上的优势。瘟疫法师的死亡脉冲。全能骑士的洗礼。人海战术,利用召唤物或者分身,造成以多打少的趋势。幻影长矛手的各种分身。谜团的恶魔转化。育母蜘蛛的孵化蜘蛛。剧毒术士的瘟疫守卫。可以快速跳线,利用三条线路的优势来保持整个兵线的压制。先知的传送。敌法的飞鞋(好吧,因为他在Ti6的发挥太出色了)。快速打掉对方的防御塔或者可以无伤打塔。风行者的集中火力。狙击手的瞄准。当然,我们还有很多种方法来达到推进的目的。然后很自然的,我们需要考虑一下,如果对面的英雄里面有适合推进的英雄,我们如何去反推进?显而易见的一个方法就是比对方推进的更快。然后,我们从以下几个角度去解决这个问题:塔下防守。这是一种喜欢刚正面的方式。利用地形位置和攻击距离来获得优势,比如狙击手的超远射程,以及炸弹人在塔下无脑地雷阵。干掉敌方英雄,这个喜闻乐见,甚至于有时候超越了游戏胜负的主题。(游戏可以输,对面影魔必须死)但是对面英雄也不傻,如何达成这个目标?高爆发:小小的TV二连,赏金猎人的一套连招等等。Gank: 复仇之魂 (VS)的魔法箭和移形换位,莱恩的裂地尖刺(地刺),巫术(羊)等等。隐身偷袭:比如司夜刺客(小强)的钻地,穿刺等。多线牵制,比如前面说到的敌法和先知。利用对方抱团推进的趋势,快速攻击其他两路来逼迫对手回防。接团。敌方喜欢抱团推进,我们就可以让他们死在一起。比如撼地者(小牛)的的大招回音击,昆卡(船长)的民工三连(标记,洪流,幽灵船),谜团的大(黑洞)等等。拼后期。推进阵容一般而言,讲究的是前期的快速推进以积累经济和经验优势,而一个可以神装1 v 5的后期,则可以在最后带来胜利,比如美杜莎和幽鬼。说到后期,不得不说,由于平衡性的考虑,这些英雄在前中期的作用肯定是有限的,更有甚者,会沦为对方的ATM (没错,说的就是你,矮人狙击手)。所以,辅助这个定位就孕育而生。首先,一些英雄的技能可以让其他队友更加舒服,比如:恢复类:光法的查克拉魔法,术士的暗言术。增强护甲:巫妖的霜冻护甲,戴泽(暗牧)的编织。增强能力:复仇之魂,狼人,小精灵等等。有了输出,也就出现了以让敌方英雄难受为主的技能,使得其线上能力变差甚至更加容易被击杀。比如:各种各样的眩晕技能。减速和诱捕:水晶室女的冰霜新星和冰封禁制,树精卫士的大招疯狂生长,卡尔的冰墙等等。被动位移:昆卡的标记,复仇之魂的移形换位,帕吉(屠夫)的肉钩。说到这里,大家其实可以举一反三了,我认为,所有刀塔的战术都可以这样推演出来,甚至于可以加入更多的定位和英雄。总结如下:首先整个游戏是可以自我运行的,而英雄的存在就是破坏这个平衡,由此产生了A战术。为了破坏A战术,产生了B, C战术。为了反破坏,产生了D,E,
F战术。。。。。。。不过注意一点,这些战术在大部分的时候,都是视觉可见而且容易被理解的。相反,如果一个技能写的是,对哥布林生物造成的伤害提高50%,或者对减速和眩晕的敌人产生暴击,则不论从记忆难度还是实际的使用的理解成本都会很高。大家不难发现,虽然三维初始值和成长也在一定因素上面发挥了作用,但是其实是技能决定了每个英雄的定位和打法。一般而言,每个英雄拥有四个主动或者被动技能(召唤师除外),大部分英雄的几个技能之间都可以自成一派或者技能相关,比如斧王,瘟疫法师和昆卡(船长)。但也是有一些英雄是比较混搭的风格的,比如复仇之魂和戴泽(暗牧),而这类英雄大多需要跟其他英雄配合,而定位都会多少的偏向于辅助。上图说明了技能定位和英雄定位的关系,比如裂魂人(白牛)集先手,爆发和控制于一身,所以是一个非常适合Gank的英雄。当然,同一个英雄在一场战斗当中也可以有不同的定位通过技能加点的先后顺序。通过出装的先后顺序和差异。通过释放技能的时机掌握。下面着重说下刀塔里面的技能系统的几个特点:技能是对已有战斗系统的改变。首先,我们看一下英雄的直接战斗属性,以及相关的技能生命(生命回复):所有直接伤害类,回复类技能等。魔法(魔法回复):所有回魔,烧魔技能等。攻击:增加或者减弱攻击力技能,甚至可以暴击和闪避等。护甲:增加或者减弱护甲。攻击范围:增加自身的攻击范围。攻击速度:增加自身攻速,减少敌方攻速。移动速度:增加自身移动速度,减缓敌方移动速度等。其次,我们也可以看一下英雄的非直接战斗属性:力量,敏捷,智力。三大属性,从刀塔1继承而来,除了英雄分类,可以增加英雄的基础物理攻击力之外,力量是以生命值和生命恢复速度来体现,敏捷则是提升护甲和攻击速度,智力是提升魔法上限,魔法恢复速度和魔法伤害。而技能里面很多技能也是跟这些数值相关。直接改变数值,其实就是变相的改变了目标对象的战斗数值。卓尔游侠的射手天赋,直接增加敏捷数值。斯拉克的能量转移,偷取别人的属性,增加自身敏捷。黑鸟(学名太难打了)的奥术天球可偷取智力值。不朽尸王的腐朽可以偷取力量值。变体精灵的变形可以将力量和敏捷互相转换。技能的效果基于属性值。半人马战行者的反击基于自身的力量值。帕吉的肢解伤害基于自身力量值。力丸的刀光谍影的伤害值基于自身的敏捷值。黑鸟的神智之蚀的伤害值基于两者的智力差值。变体精灵的变体攻击基于力量和敏捷值。当然,某些技能改变的是其他一些非直接的战斗属性,比如可以穿越地形的能力,改变视野范围等等,都会在一定程度上带来优势。所有的技能效果都表现的比较清楚,让玩家一目了然。其实这也是刀塔技能效果的一种选择,前面已经说到,效果一定是视觉可见,并且可以被理解的。尽管刀塔1已经在这方面做的很好,刀塔2在这里做的更加完美。比如玩家的眩晕,减速,加速等特殊状态有非常符合情景的特效展示。树精卫士的野蛮生长,水晶室女的冰封禁制可以很好的展示当前不可移动的状态。双头龙的冰封路径,召唤师的冰墙特效可以表示当前被减速的状态。帕格纳的衰老的虚无状态可以很好展示当前不受到物理攻击的状态。英雄目标面板上的小图标圈更好的交代了特殊状态的持续时间。瘟疫法师的施虐之心的每一层buff都会显示。力丸可以从自身的buff图标看出自己还有多少时间会进入被动隐身(刀光谍影)中了末日大招的英雄可以通过自身的debuff看出还有多少持续时间。类似的技能也会有不同的设计。比如锤子党的各种技能,简单说,都是:对目标敌方单位使用,对其造成A点魔法伤害和B秒眩晕。这种细微的差别,导致锤子技能的升级优先级完全不同。结合英雄的其他技能和定位,骷髅王前期一般会加一点锤子,复仇之魂7级的时候一般会将锤子加满,而流浪剑客甚至需要前期点两点黄点来保证自身可以放出两个锤子的蓝。高风险,难达成,高收益。很多技能天生就是从数值上面看起来比较imba,但是为什么玩家还是感觉是平衡的呢,主要就是这些技能如果想发挥完整的效果,条件是比较苛刻的。这里简单总结一下刀塔的常用手法通过预判走位/后手达成米拉娜(月女)的月神之箭帕吉的肉钩祈求者(召唤师)的阳炎冲击 (天火)昆卡(船长)的洪流通过自损伤害来加强效果哈斯卡的费血之矛,大招牺牲小精灵的过载凤凰的烈日灼烤通过英雄朝向/英雄走位来增加难度影魔的毁灭阴影(影压)钢背兽的钢毛后背斯拉克(小鱼人)的突袭通过队友的技能/敌方的走位配合巫妖的连环霜冻巫医的麻痹药剂潮汐猎人的毁灭谜团的黑洞通过玩家多线操作,钢琴手米波(地卜师)的分则能成陈的神圣劝化天穹守望者(电狗)的风暴双雄祈求者值得一提的是,虽然这些技能有着这样或者那样的限制条件,但是,玩家自有办法通过各种方式来达成。而这些,就是刀塔高级的一些技术了,这里简单列举一些。斧王和斯特拉基本上都会配备一把跳刀以快速接近对手。(好吧,现在貌似是个英雄就喜欢出一把,防身gank两不误),帕吉喜欢出以太之镜来加强自己肉钩成功率。血魔和魅惑魔女喜欢出一个推推杖来是自己的伤害最大化。克林克兹(骨弓)会出一个紫苑,来让自己的gank成功率更高。昆卡的标记可以让自己的洪流和幽灵船命中率提升。接下来聊一下不同人玩刀塔的不同状态,列几个数据,根据Max+的统计,截止到8月22日:玩家最喜欢使用的英雄前五位是:帕吉,军团指挥官,幻影刺客,斯拉克和米拉娜。玩家胜率前五位是:全能骑士,上古巨神,冥魂大帝,亚巴顿和瘟疫法师。Ti6上英雄B&P前五位是:上古巨神,米拉娜,蝙蝠骑士,艾欧和卓尔游侠Ti6上英雄胜率前五位是:不朽尸王,熊战士,美杜莎,上古巨神和陈。虽然这些数据有自己的局限性,甚至相互影响,但我们可以总结出以下几点:玩家喜欢玩的英雄跟胜率高的英雄没什么关系,甚至于排名第二位的军团指挥官的胜率还不到50%。这是因为,虽然玩游戏,就是要赢,但是在普通玩家看来,要玩的爽,可以秀,更加关键。职业队对胜利的渴求高于一切,所以,英雄的选择可能并没有很多打的爽的,可以秀的成分,更多的是处于团队的考虑而选择。玩家喜欢自成体系的英雄和后期英雄,让自己玩的更爽,而职业战队选择配合更多的英雄,使得己方的效果和优势最大化,所以辅助英雄和配合英雄名列前茅。所以,职业的竞技刀塔跟一般玩家的娱乐刀塔从本质上来说是两个游戏,如果您准备打职业的话,最好今早的认清这一点,团队的胜利和重要性高于一切。","updated":"T10:12:19.000Z","canComment":false,"commentPermission":"anyone","commentCount":28,"likeCount":54,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T18:12:19+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/0bcec3fddd1c4c3d17048_r.png","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":28,"likesCount":54},"":{"title":"Jenkins自动化出包流程分享","author":"qian-kang-lai","content":"目前我司所有Unity项目已经全部部署在Jenkins服务器上,实现一键自动出包+自动上传Test Flight。这么做有两个好处:保持出包环境一致,所有流程自动化,避免人为操作带来的问题;方便偷懒…而且出包机器是一台28核56线程的黑苹果(某宝万能) 以后还能拿来跑SwarmJenkins安装配置brew install jenkins之后,根据需要修改下homebrew.mxcl.jenkins.plist:\t&?xml version=\"1.0\" encoding=\"UTF-8\"?&\n\t&!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"/DTDs/PropertyList-1.0.dtd\"&\n\t&plist version=\"1.0\"&\n\t
&dict&\n\t
&key&Label&/key&\n\t
&string&homebrew.mxcl.jenkins&/string&\n\t
&key&EnvironmentVariables&/key&\n\t
&dict&\n\t
&key&JENKINS_HOME&/key&\n\t
&string&/Volumes/macdata/jenkins&/string&\n\t
&/dict&\n\t
&key&ProgramArguments&/key&\n\t
&array&\n\t
&string&/usr/bin/java&/string&\n\t
&string&-Dmail.smtp.starttls.enable=true&/string&\n\t
&string&-jar&/string&\n\t
&string&/usr/local/opt/jenkins/libexec/jenkins.war&/string&\n\t
&string&--httpPort=8080&/string&\n\t
&/array&\n\t
&key&RunAtLoad&/key&\n\t
&true/&\n\t
&/dict&\n\t&/plist&\n我的配置里修改了Jenkins数据目录以及监听外网8080端口。Jenkins编译Unity这部分网上有不少现成的资料,我主要参考了。Unity其实是在命令行模式下调用一个静态方法,实现具体的逻辑。我司维护了一套公用的SDK切换工具,会从命令行读取更多的参数,实现诸如刷新Plugins文件夹内容、切换宏、修改图标/版本号/配置文件等、加密数据这些功能。Android版本直接就出了apk,iOS版本还需要调用XCode。最后编译完了之后,调用Shell将包加上时间戳归档。ps. 调用BuildPipeline.BuildPlayer的时候一定要检查返回值,因为当C#代码出错的时候,Unity会自动使用之前编译的dll;这种情况下ret code是0,Jenkins无法发现这里出错了,只会埋头继续运行…pss. XCode Plugin可以在Custom xcodebuild arguements里加一行DEPLOYMENT_POSTPROCESSING=YES自动上传Test Flight主要参考了一文,其实就是altool的调用。之前说了包的文件名是有时间戳的,因此可以排序之后找到最新的一个包,调用上传即可。","updated":"T02:22:52.000Z","canComment":false,"commentPermission":"anyone","commentCount":15,"likeCount":67,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T10:22:52+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":15,"likesCount":67},"":{"title":"致我们永远在寻找的游戏人-校招2017","author":"JayliuSoulgame","content":"为什么要来做游戏,我们已经很少再去问自己这样的傻问题。如果说魂世界有什么真正的不同,不是什么苹果推荐专业户,也不是固执的创新坚持者,我们只是希望“认真的”去做游戏,不为情怀,不为发财,只为这是我们的追求和事业。这本应是件简单的事,人总要有些追求,希望做点什么自己喜欢的又能让世界有所改变的事,恰巧我们又都是从游戏中汲取快乐、友情和成长的人,注定也将为了传递而奋斗下去。我们一直在路上,而你呢?创业四年,潮涨潮落,从无知无畏,到一鸣惊人,从邯郸学步,到自成体系。魂世界始终按着自己摸索出来的创新与生存之道前行。积累,积累,积累,等着蓄势爆发。是的,我们依然在准备着搞些大事情,搞些有野心的、会被行业和自己铭记的事情。我们从未麻木,而你呢?究竟如何才能做出令自己令团队骄傲的游戏?我想答案只有两个词:环境与人。你需要一个鼓励创新的环境,大家积极交流不断钻研,敢于尝试更懂得尊重风险;你需要一个可持续的环境,做游戏是事业而不是赌博,破釜沉舟不如脚踏实地;你需要一个健康积极的环境,生活、健身、游戏、家人,做游戏需要伙伴而不是奴隶。以上,正是我们努力创造并引以为傲的。然而比环境更重要的是人。最棒的人才有对创新的坚持、对事业的追求、对技术的执着,他们善于沟通,乐于分享,较真但不固执,友善而不盲从。和这样的人一起做事,可以不为勾心斗角而浪费时间,可以不为自尊虚荣而不敢沟通,彼此信任又互相刺激,终会成才。我们希望寻找的,不仅仅是能征善战的将士,更是一同前行的伙伴。一个项目、一家公司、一群伙伴、一同追求事业的道路,比任何都有价值。那么,你是吗?是我们一直在寻找的、对游戏充满热爱、对事业对自己认真负责、对创造非凡之事充满诉求而又律己实践、的那个最棒的人才吗?如果你是,希望你看到这段毫无营养的文字还会产生一点反思或冲动,反思自己继续前行,或者冲动的私信我。也许你看到的时候已经多年之后,没关系我们一直在游戏这条大道上坚定的等着你。来魂世界,咱们一起做游戏。——————————————————————————————————————校招2017第一站-清华大学日(周四)14:00-16:00,清华大学二教401,一场关于游戏行业的就业交流和公司宣讲。简历请发至:——————————————————————————————————————公司介绍:魂世界成立于2012年,总部设在北京亮马桥,在美国设有分公司;是一家以创新、高质量、全球化为核心理念的游戏研发和发行公司,目前已成为获得苹果AppStore全球推荐游戏数量第一的中国游戏厂商。旗下产品包括:天降、苏打世界、暴走砖块、无尽的守护等。——————————————————————————————————————附具体的招聘岗位需求如下:客户端工程师:1. 热爱游戏,有大量游戏经验(不分平台)。2. 扎实的编程基础,良好的编程习惯。3. 良好的沟通能力,团队精神,自学能力很强。4. 有Unity开发经验优先。服务器工程师:1. 熟练掌握面向对象编程能力。2. 熟练使用mysql,有一定mysql优化经验。3. 具备具备分布式缓存如redis等使用经验。4. 有实际架构和大型线上高并发高负载的项目经验者优先,有分布式缓存使用经验优先。运营平台构架师:1. 熟练掌握HTML5/CSS3/JavaScript等技术,熟悉sass,less为佳,有良好的编码习惯和代码风格,熟知浏览器兼容特性。2. 至少了解一门非前端技术,NodeJS/PHP/Java/Python/Ruby不限,理解HTML协议基本知识。3. 对前端工程化、模块化和组件化有一定的认识,至少熟悉Webpack或Gulp打包构建工具的一种。4. 良好的团队合作习惯和沟通能力,有责任心;有学习能力,能够不断学习。发行业务管培生:发行负责人全方位培训,深度参与公司品牌宣传、游戏运营推广、商务谈判合作等多工作。1.思维活跃,性格外向,创意无限,沟通能力强,组织能力强2.善于换位思考,熟悉用户特点、喜好,关注市场信息3.有快速的学习能力和敏锐的商业洞察力4.有出色学生工作经历者优先策划设计师:1. 热爱游戏,游戏经验丰富而深入。2. 精通Excel、PPT的使用,有一定代码或美术基础,对手机交互和用户体验有一定掌握。3. 具有极强的学习能力和团队协作能力,具有极好的表达和交流能力。4. 具有较强的思辨和自我否定能力。原画设计师:1. 2年以上Photoshop或者Painter使用经验。2. 对色彩、结构、光影有较为深入的认识,构图和绘画能力突出。3. 能够接受建议并与他人合作融洽,有较强的责任心和职业操守。4. 需提供原画作品集。","updated":"T14:09:07.000Z","canComment":false,"commentPermission":"anyone","commentCount":40,"likeCount":30,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/551faf3aac9_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[{"url":"/topic/","id":"","name":"招聘"},{"url":"/topic/","id":"","name":"游戏"},{"url":"/topic/","id":"","name":"校园招聘"}],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","column":{"slug":"soulgame","name":"魂世界"},"sourceUrl":"","pageCommentsCount":40,"snapshotUrl":"","publishedTime":"T22:09:07+08:00","url":"/p/","summary":"","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentsCount":40,"likesCount":30},"":{"title":"利用shader_feature打造最小版本Shader","author":"qian-kang-lai","content":"这个月终于腾出手为新项目做了一些Shader调整和优化工作,不知不觉就整出一个功能略多的”肥”Shader。 所以我就在思考这么一个事情:如何维护这个Shader,以及如何在运行时尽可能减少无用的消耗。举俩栗子:有的材质球里贴了法线贴图,那么就必须计算切空间,但有的材质球只要读取模型的顶点法线就足够了有的材质球贴了自发光贴图,但是没贴的材质球完全就可以跳过这个tex2D(就算是一张小的黑色也是浪费啊)后来在官方文档里找到了答案:。之前我主要使用的是multi_compile在运行时切换,现在发现shader_feature对应自定义的CustomEditor能很好的完成这个需求。下表为同一个材质球配合不同贴图的参数,以及对应GLES版本的Compiled Code的指令数: 完整版本(vert 43, frag 81)精简版本(vert 43, frag 50)Shader部分#pragma shader_feature _EMISSIONMAP\n#if _EMISSIONMAP\nsampler2D _EmissionM\n#endif\nfixed4 sgpbr_frag(v2f i) : SV_Target\n{\n
fixed3 Color = 0;\n#if _EMISSIONMAP\n
Color += tex2D(_EmissionMap, i.tex).\n#endif\n
return fixed4(Color, 1);\n}这里比较好理解,相当于自发光相关的代码都利用_EMISSIONMAP这个宏包起来了。ps.记得在最后加上CustomEditor \"SGPBRInspector\"…C#部分这里参考了官方的Standard的编辑器代码S tandardShaderGUI.cs。其实和其他inspector一样,最核心的几行就是根据某个属性是否贴了贴图,打开或关闭对应的宏…override public void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)\n{\n
MaterialProperty emissionMap = ShaderGUI.FindProperty(\"_EmissionMap\", props);\n
bool emissionEnabled = emissionMap.textureValue !=\n\n
Material material = materialEditor.target as M\n
if (emissionEnabled)\n
material.EnableKeyword(\"_EMISSIONMAP\");\n
material.DisableKeyword(\"_EMISSIONMAP\");\n}简单粗暴,完成~","updated":"T17:50:22.000Z","canComment":false,"commentPermission":"anyone","commentCount":7,"likeCount":41,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T01:50:22+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":7,"likesCount":41},"":{"title":"[市场向]一些“Cool Games”的特点总结","author":"kangkang1011","content":"这星期苹果新游推荐的《PinOut》这款游戏市场表现非常好,于是联想到玩过的和这个游戏感觉上“类似”的其他两款游戏,我称它们“cool games”。所以写了这个专题。这类游戏的潜在受众非常大,并且相当容易名利双收。例子都在下方ppt中,一些拙见,望能抛砖引玉。","updated":"T10:01:36.000Z","canComment":false,"commentPermission":"anyone","commentCount":4,"likeCount":11,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T18:01:36+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-de40bb30ae37_r.jpg","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":4,"likesCount":11},"":{"title":"【游戏设计】图形游戏如何做到极致","author":"kangkang1011","content":"拿几个苹果推荐的市场表现比较好的图形游戏举例来说下,如何把图形游戏做到“极致”其实就是一种有规律可循的,性价比较高的产出方式。以下是个人的一些观点,先从Outfolded这款图形益智游戏说起。","updated":"T06:09:59.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"likeCount":17,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T14:09:59+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-cf59d90599_r.jpg","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":0,"likesCount":17},"":{"title":"开发者必读!如何让手游中的视频广告更赚钱","author":"zhaohang","content":"导语:游戏的内视频广告变现,正在改变行业营收格局。今年国内游戏行业沉淀了很多,相比于原来做增长,游戏厂商更加关注收入关注利润。在资本寒冬的“冷静”下,大家在思考如何活下来,如何提升变现效率与能力。而随着渠道更加注重生态建设,游戏内的广告变现越来越受到重视,像小米、360、硬核联盟、应用宝等也在开放支持,App Store、Google Play更不用说早已形成变现套路。据数据统计,在海外的成熟市场上,应用在App Store和Google Play平台上的广告收入要高于内付费收入。同时价值互换类或原生类视频广告形式,正在成为越来越多的移动开发者首选的变现方式,玩家通过观看视频广告获取游戏内道具或应用内增值服务。这样的方式不但不会造成用户流失甚至可以提升留存,并有利于平台更好的构建用户生态。国内在这方面则发展滞后,一方面是受此前移动视频发展相对国外落后,另一方面插屏、banner等广告严重影响用户体验造成流失使得很多开发者望而生畏。而得益于移动视频的发展,新广告形态以及渠道的开放,早在2013年海外兴起的价值互换及原生视频广告也在国内移动游戏及应用产品内开始流行,甚至有爆发趋势。我们已得知国内几家渠道正在筹备推出广告平台,如硬核联盟。为了详细了解移动广告目前发展最快的移动视频广告及相关,联系到了YoMob负责人Frank进行分享。YoMob是目前唯一一家支持国内安卓、海外GooglePlay以及全球iOS的专注于移动视频广告的开发者变现服务平台。YoMob已与国内外众多移动视频广告平台以及像硬核联盟的国内安卓平台建立了合作关系,同时为全球移动开发者提供免费的视频广告优化服务提高收入。YoMob已帮助包括国内及欧美日韩等地众多开发者优化产品内视频广告,收入提升可观。目前YoMob合作的部分视频广告平台,开发者可通过YoMob高效对接这些合作平台连Facebook都要转型做视频
视频广告的魅力何在?11月3日,Facebook对外公布了2016年第三季度财报,表示公司之后将向视频内容方面转型。更多视频内容的呈现,将吸引更多用户的入驻,也能增加他们停留在Facebook及旗下其他诸如Facebook Messenger、WhatsApp和Instagram等应用的使用时长。Facebook CEO马克·扎克伯格解释道,未来Facebook将减少News Feed(信息流)中现有的图文广告投放数量,转而增加更多视频广告。这是因为Facebook在未来五年之内,会转型成以视频为主(video-first)的公司。移动视频广告之所以受到Facebook、今日头条等公司重视,是由其特性和价值所决定:1、全球增长最快的广告形式2、视频流媒体是富媒体最佳形态、用户体验更优;3、用户对移动视频的使用频率大幅提升、对移动视频广告的接受度提高;4、移动应用用户支付类渠道外最好的变现渠道。移动视频广告解决了三个问题:用户体验、创新以及变现。其中价值互换类和原生类广告是移动视频广告的最好形式。大家熟知的游戏内常用的奖励视频广告(Rewarded Video Ads)是价值互换类广告(Value Exchange Ads)的范畴。其实它的本质是改变用户看广告的一个习惯。从原先广告暴力插入的被动体验到主动,用户可以选择看或者不看。当然很多用户选择看其实还是为了拿到一些新的道具,但是这种方式并不会让他们反感,而且如果他们觉得视频内容好则会转化。而原生视频广告与场景结合得非常紧密,在不影响体验的情况下,用户可以看到这些原生的广告。场景贴合、广告代入感强,转化率自然就高。移动端的广告很重要一点是怎么获取用户更多的注意力,因为时间就是金钱,用户可以选择付费,也可以选择花时间看广告,而广告主会为用户花费的时间买单。用户关注的越多,本质上潜在的变现效率就会越高。移动视频广告目前发展较快主要是价值互换型广告与原生广告两类:价值互换型广告(Value Exchange Video Ads)相比传统广告特点:1、被动观看 → 主动观看;2、负面体验 → 正面体验;3、留存降低 → 留存不变/提升;4、变现效率低 → 提升5-10倍;原生视频广告(Native Video Ads)相比传统广告特点:1、广告与产品割裂 → 广告成为产品一部分;2、用户易忽略 → 用户关注度高3、品牌背书感弱 → 强(更合适品牌广告);4、变现效果差 → 非常优异;像重视产品设计和付费系统一样重视视频广告植入和优化海外很多产品都是通过视频广告获取高收入,此前游道易发行的《疯狂动物园》就是这样一个典型的案例,据公开报道,上线3个月下载3000万,纯靠广告收入350万美金。广告是跟市场环境紧密相关,所以不用担心付费不好,只要产品好,用户量高,广告植入优化好,收入一定不会差。对于开发者来说,产品一定得做好,质量是核心。开发者通过付费的模式可以变现,也可以通过广告的模式变现。而我们看到内付费这个形式跟游戏类型、跟本地化有关系,所以很难做到每个国家都不错,但广告不一样,只要广告场景结合产品设计得好,收入就可以比较稳定。目前针对开发者的视频广告优化很重要的一块是产品级的优化。产品完成后,开发者很重要的工作就是思考如何配合产品做好视频广告场景设计,让玩家欲罢不能。当然如果能够在产品设计早期就考虑结合视频广告进行设计会更好。Frank谈到,MMA(Mobile Marketing Association)在2014年4月做过一个调查,15秒到30秒的视频广告综合效果是最好的。用户体验及转化在时间长或者短时效果都会下降。同时他们发现很多产品通过奖励视频广告变现后,用户其实没有对广告产品排斥,反而出现很多用户反馈能不能多看一些广告。通过调研发现有的用户甚至会把这种视频广告当作获取新游戏的一个渠道来源。Frank还谈到目前视频广告是以效果类为主。效果类里面主要有游戏和电商等,品牌类慢慢会有。因为品牌现在更多是在TV电视或者是传统的媒体上投放,移动端比较难追踪它的效果。但像美国这样的市场移动端的广告已经出现品牌类,像HyperMX, MediaBrix都是专注在品牌。而UnityAds, Vungle,AdColony这些视频广告平台的品牌类广告占比也在逐渐增加。未来国内市场的品牌类广告也会增多。对于游戏开发者来讲,目前使用奖励视频广告效果较好,原因是因为效果类广告主中游戏类占比较大,与游戏的用户群会更匹配一些。广告的两大痛点问题:接入平台多、不影响用户体验的高转化率相对于传统告行业在1999年、2000年已经开始发展,而到现在移动视频广告才发展了大概五年左右。整个移动端视频其实在海外接受也是从4G开始,国内则在这一两年刚兴起。在广告接入上,对于现在的开发者会有两个痛点:第一个,为了提升变现效率,要对接多家视频广告平台。因为视频广告的变现效率很大程度要看用户匹配,应用、游戏的用户与广告主投放的用户越匹配,变现效果会越好。而全球范围内不同广告平台的广告主投放在不同时间段,不同地区也都会变化。因此对于开发者来说,应该尽可能多地去对接不同的广告平台,同时时刻优化自身流量在不同广告平台的变现效果。然而接入不同广告平台本身费时费力,同时还有很高的维护成本。第二个,不影响用户体验,提高转化率。用户体验都是跟产品设计有关,视频广告很重要的一点是与产品结合,不影响用户体验。一条通用的方法论是如何结合应用和游戏的产品核心循环并结合用户的心流去设计视频广告植入的场景。这需要提供了一套工具帮助开发者更便捷有效地追踪每一个广告场景设计的效率进而进行优化。需要通过很多数据的支持去了解用户是否认可产品的设计。这也正是视频广告优化服务的价值所在;具体来说对于每一个移动应用或游戏的用户,在使用产品或者玩游戏的过程中其实都有一个核心循环。由于核心循环是用户接触频次最多的环节,在核心循环内合适的时机植入视频广告场景,整体的转化效果会更好,而在核心循环之外,植入效果则会相对较差。同时时机的选择也很重要,需要结合用户在核心循环过程中心流的变化情况来进行设计。比如游戏产品的每日必做任务,当用户在去做任务之前插一个视频广告,效果较差,因为广告打断用户要做任务的动机。同时在用户做任务过程中打断用户体验植入广告的方式也不可取。而当用户完成了这件事之后,属于一个放松的状态,这个时候是用户比较好的转化的时机。当然还有很多其他的场景适合展示一些视频广告而这些都是跟产品的设计紧密相关。如何在视频广告设计时把产品设计和用户的心流结合好,会非常影响视频广告整体展示的效率。以YoMob为例 如何帮助开发者解决广告变现的痛点?所有的服务都是要以用户体验为核心原则,所有影响用户体验的产品服务都可能会被用户体验更优的产品服务所替代。Frank建议开发者如果要用移动视频广告变现的话,一定把用户体验放在第一优先级,并尽可能把移动视频广告当成产品的一部分,在产品设计初期就考虑进去。YoMob的广告优化核心是“用产品的思维设计广告场景,用付费系统的模式优化收入”。广告收益=总展示次数*每次展示收益视频广告优化主要分为产品级广告场景设计优化以及每次展示收益优化两方面:场景设计的优化可以提升游戏或应用内视频广告的整体总展示次数,同时不影响用户体验。YoMob提供开发者相应的经验及数据BI和工具服务。开发者产品上线时可以通过灰度测试几个场景的效果,同时通过使用优化工具进行快速迭代。例如可以通过调整广告展示时的素材,改变颜色、奖励幅度等等,去优化转化率提升展示量。而在每次展示收益优化方面,YoMob和全球众多知名的移动视频广告平台深度合作,并通过大数据分析及机器学习算法,进行全球分区分时的自动化流量控制和视频广告瀑布流的展示优化,帮助开发者最大化提升每次展示收益。简单说就是——接入YoMob等于接入全球视频广告,哪个广告变现效果好就自动播哪个。目前已使用YoMob服务的开发者变现效率均有百分之几十甚至数倍以上的提升。
(Caroline’s Working视频广告优化案例)最后对于广告主方面,Frank建议在投放广告时,可以设计多组不同的视频广告,通过数据反馈快速迭代,视频转化率如果不好可以快速用一组更好的去替换。这其实跟Facebook传统投放一样。千万不要以为只投一个视频可以,效果不好就归因视频广告平台的效果差。视频广告的内容,展现方式对于转化率有非常大的影响,需要深度优化。甚至在投放不同国家地区时,还需尽可能针对不同文化进行视频内容的本地化优化。总之移动视频广告投放的效果优化需要广告主,广告平台以及开发者们共同的努力。2016年是整个游戏行业巨变的一年,这年的游戏公司们更加追求利润,在市场成熟及行业回归理性下,越来越多的公司在寻求改变。而广告这种变现模式并不少见且能力很强,只是由于原本粗暴的方式严重影响用户体验。在视频广告逐渐兴起的过程中,已经证明了其对游戏变现能力的高提升。特别是对于一些中轻度产品,在全球发行方面,广告的方式比内付费更又具有优势。在精细化运作已经成为市场的主流下,我们考虑如何把有限的资源最大化价值。广告变现会被越来越多的游戏公司认可,而移动视频广告也将会改变现有的行业营收格局。市场的新机会或许就在这里。","updated":"T06:02:33.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"likeCount":6,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T14:02:33+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-0bab8a8dffab236b4f37f05fc7f2e4f8_r.jpg","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":0,"likesCount":6},"":{"title":"小团队如何做符合苹果口味的轻度休闲游戏","author":"kangkang1011","content":"苹果推荐的游戏根据玩家群体可以分为3类:1. 重度精品游戏:如迪士尼、WB、漫威、育碧、Gameloft等厂商出品的重量级游戏和常见的SLG、国内的MMO、RPG、ARPG、卡牌。这类游戏相对难上手,有世界观、复杂的核心玩法和相当多的系统功能或者特别考验操作。游戏生命期较长,坑也较深。(A级画面A级投入,通常这类游戏在获得新游推荐的时候推荐位都是数一数二,并且后续会被无数次热门、主题推荐)。由于这类游戏制作成本和制作周期都很长,多数也伴随着热门IP影游联动,所以这类游戏在新游推荐中不是经常会有。(WB出的DC Legends)2. 艺术类:这类是苹果非常喜欢的类型,游戏充满美感,要么是几何之美(《纪念碑谷》)、阴郁暗黑之美等(《The Room》)、要么彰显文化艺术底蕴并且有创新玩法结合的游戏(《说剑》《INKS.》)。这类游戏更少见,属于天才的杰作。一旦被推荐,几乎全部都会伴随着Main Banner推荐,这类游戏也基本都是付费下载,而且是高价。这种盈利方式风险较大。\n3. 休闲类:其实也就是前边提到的两种类型之外的了。玩法相对简单,易理解易操作易上手。基本核心玩法就1个。比如跑酷,就是跑。三消,就是点点点或者连线消除。模拟经营就是一个连续动作的核心循环(比如cooking dash就是”选菜-&切菜-&上锅-&好了端给顾客”,农场类就是“开地-&种地-&收割赚钱),除核心玩法外会结合其他玩法来丰富游戏内容,\n给玩家更长远的追求,比如《疯狂动物园》是跑酷结合模拟经营又融入了收集元素;比如《逃出实验室》把同样的操作做在不同场景的关卡中包装成不同的小玩法,然后通关积累经验值来解锁新关卡获得新的游戏体验,把游戏内容做的非常丰富。但对于独立游戏来说人力、经费、时间都有限,很少会选择做玩法如此丰富的休闲游戏,大多愿意用轻度休闲,也就是只有1个玩法的游戏来搏运气,也算风险较小,产出和投入性价比较高的方式了。下面终于进入到今天的主题了。。。。(好累哦)小团队如何做好一款能符合苹果口味的轻度休闲游戏前言:特别有想法特别有追求的团队除外,这里只说如果想走些捷径,能上苹果推荐,通过推荐免费带来十几万几十万优质用户、赚点小钱的独立小团队,那么这里或许有你可以借鉴的捷径可走。因为许多成功例子已经摆在这,也经历过失败的例子,所以做个最简单的总结。(这里说的轻度休闲游戏不包括图形游戏)苹果爹地除了看中美术、用户体验、游戏稳定性之外,还有不可忽视的一点是”游戏内容的丰富性“,如果前3点都做的很好,但游戏内容不够丰富,比如一种玩法在一个场景中无限玩下去,那这个游戏一定不会获得推荐。如果你的游戏只有一个单一玩法,那么有以下2个方式可供参考:1——1种玩法+多个关卡场景+换皮肤苹果推荐的小游戏里能换皮肤是最基本的,画几个皮肤其实不算多费劲,皮肤也完全可以是没属性的单纯看样子。如果不同皮肤有不同技能那更好,没有也无所谓。多个关卡场景这方面,大家也都知道怎么做,这里只举几个例子不具体说了。《OO弹球》:多个关卡、多种机关、多样Boss下的打砖块玩法。1个玩法,在变换的关卡场景中有了多样挑战。并且有技能各异的皮肤可以组合使用。这是传媒学生的毕业设计作品,2016年7月获得了AppStore中国区新游推荐。《Mikey Jumps》:弹跳冒险小游戏,角色是始终向前前进的,玩家要在适当的时机做适当的操作,遇到障碍要跳跃躲避,注意按屏幕的力度决定角色行为的幅度大小。目标是达到小关卡的终点进入下一关。这款游戏在两周前获得了AppStore新游全球推荐。脑洞大开的《Tentacles》:游戏从始至终是类似《黏黏世界》的玩法。一个玩法,过了一关又一关,关卡比较随机,关卡色调和布怪都有很多变化,闯关越多得分越高,可以解锁游戏中能够携带的Buff。这款游戏上周获得了AppStore新游全球推荐。这类游戏大家都会做,只要有足够的时间策划设计关卡、美术画出关卡就OK了,所以不细说这类,如果团队没有足够多人力和时间来做关卡设计和实现工作那么下边说的方法也许可以借鉴参考。2——1种玩法1个关卡场景+其他上周AppStore推荐了一个非常不错的游戏《陷阱大冒险》,当然美术做的非常Q萌也非常国际化就不说了,说游戏玩法部分。比较讨巧。整个游戏中只有一个角色可用、每次进入下一个level都是同样的关卡背景(哦可能偶尔会换个底板颜色=。=),但是整个游戏玩起来不觉得在无限重复,无聊至极,反而让人停不下来。11月18日苹果新游推荐并全球推荐,在4个国家进入游戏免费榜TOP10中国区游戏免费榜排名48,美国区56,国内一周预计20万+ 下载量对独立游戏来说是个很不错的成绩了游戏简介:游戏名:陷阱大冒险游戏类型:很创新。。。不是常规类型能定义的,在玩法中说明吧美术风格:3D糖果色Q萌画风游戏玩法:按屏幕拖动主角躲避怪物并把怪物引到各种陷阱中结合Buff消灭怪物游戏进度模式:完成一关进入下一关游戏场景:50个关卡用的是1个场景游戏特点:所有美术设计都很国际化,包括主角小女孩的形象是黄头发很Q的脸,在中国独立团队中这类画风很少见,中国游戏设计师笔下的小女孩多数都逃不出浓郁的亚洲感(比如《花语月》的小女孩,《梦之旅人》的主角)。亚洲风的角色设定在全球不吸量。就像欧美卡通风在国内不吸量一样。《花语月》在美国免费榜最高排名95,只在亚洲东南亚能排进top50。病毒传播:只接了苹果的分享系统,没有特别设计病毒传播这块商业模式:激励视频+banner广告(变现这可优化空间很多)在接近20级死亡的时候会提示下个阶段会解锁”恐龙“意味着当我完成19关进入20level的时候,会在场景里碰见恐龙具体它什么样,我不清楚,我只知道我很期待这个同样是提示我40关会有这些怪物出现,我很期待除了一些Buff之外游戏中会有自己的陷阱,比如时而出现激光,可以引怪到激光附近,借助激光消灭怪物。游戏里可以吃随机出现的豆儿,攒3个豆出现一个棒棒糖,吃掉棒棒糖玩家自身会触发Buff——行走的路线有火焰,触碰到火焰的怪物会被烧死。顺便说下,新手引导做的非常好,没有啰嗦的文字,简单易懂(见下图)接下来说下这款游戏的商业化变现。商业化的部分完全可以看出一个独立游戏团队发行方的经验。这也正是我对这个游戏非常惋惜的一个地方。《陷阱大冒险》是由独立团队Shimmer\nStudio研发,独立团队\nWindforce Games发行的独立游戏。据了解Windforce\nGames之前一直与Ketchapp合作,提供产品,Ketchapp发行。《陷阱大冒险》是Windforce Games代理的第一款游戏,在商业化变现这应该没有太多经验。所以先来看看《陷阱大冒险》的变现方式吧所以其实如果用国内20万下载量,全球40万下载量来预估,如果接了YoMob做视频变现优化, 一周下来,视频广告变现最少可以有6万美金。如果《陷阱大冒险》的盈利没达到这个数值,说明商业化变现有问题,有很大优化空间。总结下,《陷阱大冒险》这款游戏虽然玩法始终是一个,关卡场景也没有变换,但是通过玩家晋级获得Buff,让游戏Buff来填充和丰富游戏场景的做法非常棒。而在Buff出现前提示玩家之后可以解锁,又给玩家期待和追求。整个游戏玩了2个小时没停下来,当后续怪物越来越多,Buff也是双刃剑,用的好可以消灭敌人,用不好自己死于陷阱。听说一共50关,50关之后进入无尽模式。整体来看游戏做的很不错,但是商业化做的不太合理。","updated":"T09:00:58.000Z","canComment":false,"commentPermission":"anyone","commentCount":1,"likeCount":13,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T17:00:58+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-d2d2e3aae32dcc0aabd326_r.jpg","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":1,"likesCount":13},"":{"title":"分享一个加速Unity工程C#编译的方法","author":"qian-kang-lai","content":"这个是最近一段时间带着子川一起做的一个小东西:如何优化大项目C#编译速度。这个idea主要是因为使用了slua之后,每次修改C#部分编译实在是太慢了… 下面将介绍直接介绍一个简单思路来优化之 (其他的一些失败尝试和思考我扔在了上,包括一键编译cs文件成dll)。这个思路是来源于在Asset Store上看到的一个插件
(ps. 后来发现雨松MONO之前也提过这个办法:)优化思路官方文档表示引擎默认就会分四步编译,那么只要将不常修改的代码放到特定文件夹就完事儿了其实…这里我选择的是Standard Assets文件夹,因为我们已经有一套切换SDK的脚本会覆盖Plugins内。同样也要修改下slua的载入部分://var assemblyName = \"Assembly-CSharp\";\nvar assemblyName = \"Assembly-CSharp-firstpass\";\nAssembly assembly = Assembly.Load(assemblyName);\nlist.AddRange(getBindList(assembly,\"SLua.BindUnity\"));\nlist.AddRange(getBindList(assembly,\"SLua.BindUnityUI\"));\nlist.AddRange(getBindList(assembly,\"SLua.BindDll\"));\nlist.AddRange(getBindList(assembly,\"SLua.BindCustom\"));在这里遇到了一个mono编译器的BUG,偷懒起见直接用了 解决之,测试发现把Slua挪到Standard Assets之后编译时间从15s左右降到5s左右...ps. 这里只是测试偷懒换了编译器,但是我个人不建议在实际项目里这么干…项目测试使用了手头在优化的一个项目:原版编译时间大概23s左右新版本编译时间大概7s左右说穿了就是把包括插件在内的基本不会修改的代码挪到Standard Assets里就完事儿了,经常修改的代码放在外面原地不动。这样唯一的一个限制是Standard Assets里的代码无法引用外面的代码,不过我这里全是放的插件,完全没有问题。附上简单脚本统计编译时间public class FinishCompiling\n{\n
const string compilingKey = \"Compiling\";\n
static FinishCompiling()\n
compiling = EditorPrefs.GetBool(compilingKey, false);\n
EditorApplication.update += U\n
static void Update()\n
if(compiling && !EditorApplication.isCompiling)\n
Debug.Log(string.Format(\"Compiling DONE {0}\", DateTime.Now));\n
compiling =\n
EditorPrefs.SetBool(compilingKey, false);\n
else if (!compiling && EditorApplication.isCompiling)\n
Debug.Log(string.Format(\"Compiling START {0}\", DateTime.Now));\n
compiling =\n
EditorPrefs.SetBool(compilingKey, true);\n
}\n}\n","updated":"T15:02:58.000Z","canComment":false,"commentPermission":"anyone","commentCount":5,"likeCount":60,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T23:02:58+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":5,"likesCount":60},"":{"title":"利用Adobe ExtendScript实现PSD一键生成UGUI界面","author":"Angel_Zero","content":"UI的开发一直是Unity项目里工作量比较大的部分,传统的UI制作流程一般是美术在PS里做好设计图,导出图片素材以及布局信息给UI策划或程序(个人感觉直接给程序更好,因为一些程序功能的实现需要调整节点的位置,增删等等),而布局信息则很可能是一张PSD对应的png或jpg图。这样就会带来两个问题:(1)程序无法得到精确到像素的局部信息,搭建界面的位置一般近似处理,除非费时费力的去PSD文件里查看;(2)拼界面的过程相对机械重复,效率不高,对于开发周期短,人手不足的小团队来说可以说是一个痛点。为了解决这个问题,最近参考和的两篇文章,从PS的和UnityEditor两方面入手,做了一个将PSD文件快速转换为UGUI界面的小工具『PSD Importer』,新的工作流下如下:美术同学在PhotoShop里完成对界面的设计后,使用编写的Adobe ExtendScript脚本导出PSD图层的信息(XML)以及用到的图片素材(示例素材来源于网络):导出的XML组织信息如下:?xml version=\"1.0\" encoding=\"utf-8\"?&\n&PSD&\n
&PSDSize&\n
&x&1920&/x&\n
&y&1080&/y&\n
&/PSDSize&\n
&PSDGroup&\n
&Name&PreparePanel&/Name&\n
&Index&0&/Index&\n
&Type&Simple&/Type&\n
&PSDGroups&\n
// list of PSDGroup here....\n
&/PSDGroups&\n
&PSDArtLayers&\n
// list of PSDArtLayer
&/PSDArtLayers&\n
&/PSDGroup&\n&/PSD&\n之后将图片素材打包成Atlas导入Unity,推荐使用TexturePacker;最后在Unity里读取XML文件,构建出对应的UGUI界面,程序根据需求再进行微调;结果如图所示,位置布局,层次与PSD文件保持一致(红色部分是TexturePacker未注册所致):新的工作流最大限度的还原了美术所设计的界面,节约了不少手动拼界面所花费的时间和潜在的位置误差等问题。实现上需要解决的核心问题便是得到需要的PSD的结构信息,下面是一些技术细节:PSD组织结构导出为XML主要有两种方式读取PSD文件的信息,一种是直接读取保存好的PSD文件,Git上搜PSD可以找到有很多开源的类库;另一种则是使用Adobe ExtendScript脚本直接扩展PhotoShop的功能,在PS里访问图层的信息,这种方式灵活性比较高,也方便修改,我们采用了第二种方式。在我们可以了解到PS里的所有Group和图层都的父类都是Layer,Group对应LayerSet,其余的都是ArtLayer,因此可以定义以下XML结点类型来桥接PS与Unity的类型:
public abstract class PSDWidget\n
public enum PSDGroupType { Simple, /*Button,
ScrollView, Grid */}\n
public enum PSDArtLayerType { Image, Texture, Label }\n\n
public string N\n
public int I\n
public class PSDGroup : PSDWidget\n
public PSDGroupType T\n
public PSDGroup[] PSDG\n
public PSDArtLayer[] PSDArtL\n
public class PSDArtLayer : PSDWidget\n
public Vector2 P\n
public Vector2 S\n
public bool IsS //Solid Color\n
public PSDArtLayerType T\n
public Image.Type SpriteT\n
public string[] A\n
public class PSD\n
public Vector2 PSDS\n
public PSDGroup PSDG\n
}\n因为要识别特殊类型如Button,ScrollView等,可以在命名时制定一些规则,例如加一些额外的字段和参数(ButtonGroup@Button),之后在jsx脚本中遍历Layer信息生成XML即可,大致过程如下:function main()\n{\n
exportLayerSet(app.activeDocument.activeLayer);\n}\n\nfunction exportLayerSet(targetLayerSet) \n{\n
// export groups\n
for (var i = 0; i & targetLayerSet.layerSets. i++) \n
exportLayerSet(targetLayerSet.layerSets[i]);\n
// export artlayers\n
for (var i = 0; i & targetLayerSet.artLayers. i++) \n
exportArtLayer(targetLayerSet.artLayers[i]);\n
}\n}\n\nfunction exportArtLayer(targetLayer)\n{\n
if(targetLayer is Label)\n
exportLabel(targetLayer)\n
if(targetLayer is Image)\n
exportLabel(targetLayer)\n
}\n}\nUnity解析XML构建UGUI界面反序列化XML之后,遍历整个结点树,创建UGUI组件即可:PSD psdUI = DeserializeXML&PSD&(xmlPath);\nList&PSDWidget& widgets = new List&PSDWidget&();\nwidgets.AddRange(psdUI.PSDArtLayers);\nwidgets.AddRange(psdUI.PSDGroups);\n\nforeach (var widget in widgets.OrderBy(x =& x.Index))\n{\n
if (widget is PSDArtLayer)\n
PSDArtLayer artWidget = widget as PSDArtL\n
RectTransform childNode =\n
switch (artWidget.Type)\n
case PSDWidget.PSDArtLayerType.Image:\n
childNode = BuildImage(artWidget);\n \n
case PSDWidget.PSDArtLayerType.Label:\n
childNode = BuildText(artWidget);\n \n
childNode.name = artWidget.N\n
childNode.SetParent(groupRoot, false);\n
childNode.localScale = Vector3.\n
childNode.localEulerAngles = Vector3.\n
childNode.sizeDelta = artWidget.Size* UI_SCALE_RATE;\n
childNode.anchoredPosition = artWidget.Position* UI_SCALE_RATE;\n
else if (widget is PSDGroup)\n
BuildGroup(widget as PSDGroup, groupRoot);\n
}\n}\n在Editor模式下创建UGUI组件时,可以通过Instantiate prefab的方式创建,但是这种方式需要预先保存一堆Prefab,不易管理,经 指点,直接Copy了部分UGUI创建UI组件的源码来创建,这段代码在。对于Button,ScrollView等复杂的控件,可以在类型中进行扩展,在PSD设计时增加对应的参数即可。一些比较坑的地方1.通过artLayer.textItem.fontSize获取的字体大小,如果Label没有在PS编辑器里被拉伸,那么值是正确的,但是一旦被拉伸,fontSize将不会发生变化,这样将与实际大小不符,解决方案在;创建的Label如果未进行任何修改,将无法访问fontColor和justification(对齐)信息,需要使用try-catch处理。2.处理特殊的图片:一是重复的图片,不需要重复导出,可以减少导出时间;二是九宫格和纯色的图片,导出时记录信息但不需要导出图片,这种的类型的图片最好手动处理。由于实现代码非常暴力,XML都是直接连接string生成的= =,就不贴源码了,希望本文起到能抛砖引玉的效果,让UI制作流程更加高效!附一些参考资料(ExtendScript相关的内容真心不多):1.,帮助文档里有详细的API介绍。2.,介绍了基础的概念和API。3.","updated":"T15:39:18.000Z","canComment":false,"commentPermission":"anyone","commentCount":18,"likeCount":73,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T23:39:18+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":18,"likesCount":73},"":{"title":"【游戏设计&广告变现】Hill Clim Racing 2的进化之路","author":"kangkang1011","content":"下面要介绍的Hill Climb Racing2是近期上线以来就霸榜美国排行榜半个多月之久的休闲游戏是从游戏设计到视频广告变现都做的很不错的一款,罕见的精品游戏AppStore下载榜排名情况
o美国区免费榜上线以来到现在1个月的时间几乎都维持在TOP5,上线第二天就登顶免费榜o前作Hill\nClimbing\n1(2013年11月上线)的免费榜排名就很好,游戏分类中58个国家免费榜第1, 在133个国家排进TOP1,但在美国的排名没有进入过TOP20AppStore畅销榜排名情况
o美国区畅销榜一直在TOP100,最高排名在TOP50内o看畅销榜总体排名,作为一个非常休闲的游戏在畅销榜的成绩也非常不错,是很难得的o但与Hill\nClimbing\n1相比畅销榜成绩不如1,\nHill Climbing\n1在94个国家进入畅销榜TOP10o游戏以内购为主,也加了视频广告变现,Hill\nClimbing\n2的广告与游戏结合的更好游戏宣传图展示Hill Climb Racing2的用户来源 1.IP导向:Hill Climbing 1的各项排名都不错,有一定的知名度和用户基础 2.用户的传承:Hill Climbing 2的FB粉丝页其实就是Hill Climbing 1的,现在在推2所以换了头像和背景图,内容全部都是Hill Climbing 2的,目前粉丝有44万人;1的游戏中也弹出大插屏来向2中导入用户3.视频传播::Youtube上搜索“hill climb racing 2”有400多万个结果,观看量最高的视频有600万次观看4.自传播:游戏中除了有分享功能之外还有为好友特地设置的好友竞赛玩法,是通过FB添加好友或发送链接。虽然玩家匹配的是离线数据,但在自传播这方面,这个游戏确实做事了Hill Climb Racing2与1的进化list
1.美术风格更精致、人物设定更滑稽 &UI 设计更合理、风格从规规矩矩变得平易近人 2.游戏内容更丰富 3. 给玩家更强的目标感 4.给玩家更多的追求——&延长生命周期,也间接促进付费 5.增加了一些小元素来提高游戏在线时长和用户粘性 6.做了自传播方面的设计 7.增加了个性化方面的内容 8.广告变现方面做了更合理的设计 9.游戏过程中优化了用户体验UI风格的变化Hill Climbing1(左图)只有一个界面,所有功能都堆积到这个页面里,玩法也比较单一,就是让车开的更远,所以界面除了【开始】【商店】之外就只有可以升级的部件了\n\n\n\n\n\nHill Climbing2(右图)的主界面中在最上方有每个功能的分类,直观且方便。UI的风格也有很大变化,从单纯用文字展示进化到配合图标了,连字体都变的更Q美术上的细微变化配色和主题内容都没变,人物还是那个人物但是画风更Q更有点冷幽默,很吸引人个性化方面的设计玩法多样性与更强的目
分为【探险模式】和【奖杯赛】两种:探险玩法:就4个关卡主题,花金币解锁,延续了Hill\nClimbing\n1的传统玩法:越远越好。并可以收集金币(为了让玩家不寂寞,与过去自己的离线数据比,伴有“影子人”)奖杯赛:目前有11个场景,但需要达成条件才能依次解锁,给了玩家更明确的阶段性目标奖杯赛中玩家的目标增加荣誉感方面的设计增加了【成就】和【排行榜】功能:点亮42个成就其实也可以作为一个比较重要的目标成就方面,进度条的设定非常好,玩家可以有针对性的去达成容易达成的;但【成就】现在在\"设置\"里,没有在主界面的选项中,可能是后加的,如果能在主界面上方选项里就更好了广告变现方面的优化Hill Climbing 1的广告形式有两种:1.视频广告:在游戏首页界面最上方,看一次给固定的大量金币,可以无限制看;这样前期很有利但后期很鸡肋,不加次数限制也会影响玩家游戏体验、影响付费(猜测HC1的视频广告也是近期加的,几年前还没有视频广告这个形式,老玩家最初玩的时候应该是没广告可看的)2.Banner广告:会出现在游戏首页下方、游戏过程中界面的下方Hill Climbing 2 的广告形式也有两种:1.视频广告:增加了视频广告场景和形式、加了观看次数限制并且不再是看视频给具体数量的金币,是直接在部件升级处,一段时间可以看广告免费升级好处是不受数值增长的限制,只要与需要花费的货币等价即可2.全屏插屏广告:在连续2次或超过2次获胜后会提示“广告时间”,然后载入全屏插屏广告。(应该是设想在玩家心情好的时候放广告)Hill Climbing 2 视频广告植入的具体形式Hill Climbing 2的视频广告场景:1.看视频广告免费升级部件:隔一段时间可以免费升级一个部件,没倒计时,摸不清具体规律2.解锁宝箱:玩家累积赢得比赛次数,达到条件可以获得宝箱。获得后有冷却时间,但可以花费钻石或观看视频广告直接解锁宝箱。(并不是每个都能看视频解锁,看2、3次之后就只能钻石解锁了)总结下Hill Climbing 2的视频广告变现,设计的比较合理和用心,与游戏结合度也很深,但在看了几次广告后发现只接了一家广告平台(非聚合型广告平台),经常出现重复内容的广告,广告内容不够丰富,导致用户转化率低;另外,在DAU庞大用户观看需求又较多的时候游戏只接了一家广告平台,极可能会出现填充率不够,以上两种情况会直接影响eCPM,导致变现收益未能最大化。增加玩家粘性的小方法Hill Climbing\n2中加了倒计时宝箱:可以开出金币、钻石,冷却时间越来越长,是增加玩家重复登录的好方法;可以直接领取,无需看广告赢得比赛获得的宝箱都有冷却时间,并不是每次都可以看视频广告直接解锁,更多的是只能花费大量钻石解锁,所以钻石不够,也需要等冷却时间结束再开启,也促进了玩家的重复登录自传播方面的设计Hill Climbing 1(左图)中游戏结束只有游戏过程回放和保存,没有分享内容,也就是没有做自传播的设计;Hill Climbing 2(右图)中游戏结束有分享界面,接的是苹果自带的分享另外Hill\nClimbing\n2\n还做了“邀请好友”功能,添加好友可以每日挑战、每周挑战(但添加好友只能通过FB链接、FB发送邀请、苹果自带的分享内容中发送链接,对国外玩家来说还比较方便)游戏核心玩法体验上的优化其实和1比起来,核心玩法一点没有变,1的操作体验已经很好了,玩起来非常流畅、车也很容易控制(如果技巧掌握很好的话),所以2的优化并不是技术上的,而是界面上的优化HC1(上图)中内容太多,左上方的货币图标文字都很大,还有油量格子的显示,每走一段距离都看着油量减少,担心会不会够用,会分散玩家操作车的注意力HC2(上图)中左上角只显示金币(也是因为在探险赛中只能获得金币,去掉了钻石),字样很小,视野开阔,野外场景更丰富代入感更强;所有需要操作和注意的图标都集中在下方,不会再分散注意力;而且玩家的昵称和国旗会始终携带,更个性化另外一个增加好感度的点是:玩家腾空时间和单轮着地都会有显示持续了多久,也许会算在计分里,但不管算不算进去,给玩家一个反馈还是不错的:)用户评价首先,从设计角度讲这个游戏堪称完美,它让免费玩家可以通过看广告获得自己想要的宝箱,为开发者提供价值,同时也暗中限制了免费玩家一天看广告的次数;并且在奖杯赛的宝箱积累中,当玩家获得了一次奖杯宝箱,就需要再等十几小时之后,才开始重新计数。就算玩家在这期间赢再多次,只能积攒经验。这是很好的把看广告的总次数、奖励内容分散到更长的生命周期中,理论上是对游戏有利;但从用户评价可以看出这一切“处心积虑”的设定后的效果如何:以下是总结的一些老外的批判性的评价(大部分都是好评,好评就不说了)1.游戏很好玩but,过于简单了2.游戏很好、操作非常好,but,为什么很多时候别人可以看视频广告直接解锁宝箱而我就不得不等十几个小时呢?虽然我知道如果你们让我无限次的解锁宝箱就会有大量金币,而实际上玩家有大量金币也没什么用,因为这个游戏实在没太多东西可买,我一分钱没花现在已经是传奇并且拥有全部车了3.等待开箱子时间太久已经失去兴趣了4.我们凭什么要花钻石或者等很长时间才能获得我们赢得比赛应有的奖励呢!5.现在2中获得金币的方式更多是通过开宝箱,而不像1中是在游戏中可以捡大量的金币(很多1的老玩家吐槽)6.游戏应该有更多的地图、更多的车7.求你能够让我付费去掉广告。。。8.我跟玩游戏花同样多的时间看广告(应该是一局游戏时间太短了)9. Nice\nupdate, terrible ads 玩家对广告的抵触心理是没法避免的,但是似乎让玩家可以看广告获开箱子,之后又不能让他看广告开箱子的设定有点让人反感;另外,游戏时间和看广告时间,这个平衡要把控好也不容易,毕竟休闲游戏一局的时间确实很短;而这个游戏其实已经尽力了,因为奖杯赛一局游戏下来其实是有2~N场比赛。已经尽力拉长一局游戏的时间了。也许控制好积累宝箱的进度,比用长久的冷却时间限制玩家看广告来说会更好。对于冷却时间来说,这个本身没有问题,根本问题还是游戏内容过于单薄,让玩家在游戏玩法之外和“冷却时间内”无事可做;即使已经增加了【奖杯赛】,但还是核心玩法不变多了一个形式而已,游戏中缺少让玩家在核心玩法之外依然停留在游戏中的理由,所以现在更流行1+X的方式,1个核心玩法结合多种养成、经营等模式,能够让玩家脱离核心玩法之外还在游戏中有追求和目标,而这目标也是与核心玩法相辅相成的。这个游戏如果还想优化,应该要思考的是如何把过长的冷却时间合理的利用起来。","updated":"T04:04:29.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"likeCount":15,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T12:04:29+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-c05dc7eb81c_r.jpg","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":0,"likesCount":15},"":{"title":"Shader in AssetBundle","author":"qian-kang-lai","content":": 感谢评论区提出了一个解决方案这个问题,直接把编辑器环境变成opengl es2.0,具体内容在player setting pc的设置 other settings 去掉“Auto Graphics API for Windows”勾,在里面添加opengl es2.0,并且放到第一位。我测试了下Windows下确实可以,但是OSX下没有GLES2/3关于Resources和AssetBundle优劣之前已经提过很多次了(参考官方教程),正好最近
在做框架AssetBundle部分的优化,特此整理一下两个特常见的坑及对应解决办法。之前在里有有人提到过这个问题:Q6: 请问粒子特效的Shader是否不能使用依赖打包? 我们对Shader的模型和特效使用了依赖打包,运行的时候发现模型显示是正常的,但是粒子特效使用的Shader就不能正常运行,特效显示不正常。而在编辑器中,我们看到Material中的Shader是存在的。这时候如果重新手动给这个Material指定同样的Shader,这个粒子特效就能正常显示,请问这是什么原因引起的?这里主要分享如何在编辑器里模拟AssetBundle时处理Shader(之后我们会分享『如何从框架层面实现0冗余』相关经验)在我们的框架里是这么区分资源的:Editor模式开发时直接使用UnityEditor.AssetDatabase.LoadAssetAtPath加载也支持模拟真机行为,使用打包出来的AssetBundle文件Player模式:真机使用StreamingAssets下自带的或热更新下载的AssetBundle文件在开发过程中,Editor模拟模式下会有一个非常麻烦的情况:Android或iOS模式下加载出来的材质球都是紫色的。官方支持里有提到这个问题,论坛里也有相关讨论。根据我的理解,问题就出在:打包到AssetBundle里的Shader是移动平台版本的,但是编辑器需要的是Windows/OSX版本的。找到原因之后,我们使用了以下解决方案:在打包AssetBundle之后,针对所有shader重新打包一个对应编辑器版本的AssetBundle载入AssetBundle时,如果是shader则载入Windows或OSX版本,同时其他资源载入对应Android或iOS版本载入GameObject时,编辑器里会有额外处理:找到所有材质球,并在shader AssetBundle里找到同名shader进行替换(因为原材质球是对应的移动版本的shader)在第一步中,除了需要打包项目内本身所有Shader之外,还需要打包builtin shaders,便于后面几步查找; 第三步利用了反射来修改所有材质球System.Type materialType = typeof(Material);\nComponent[] comps = go.GetComponentsInChildren&Component&();\nforeach (Component comp in comps)\n{\n
System.Type t = comp.GetType();\n\n
var fields = t.GetFields();\n
foreach (var field in fields)\n
if (field.FieldType == materialsType)\n
Material mat = field.GetValue(comp) as M\n
if (mat != null)\n
mat = FixMaterial(mat);\n
if (mat != null)\n
field.SetValue(comp, mat);\n
}\n}这样的最大好处在于不需要额外的操作:还有一个解决方案是每个项目里解压一份builtin shader,然后强制使用项目内的版本而不是Resources/unity_builtin_extra下的版本。相比之下我们的解决方案只是在打包编辑器版本shader时解压出来然后及时删除,同时这样替换的比较干净(包括脚本里的public Material lineM这种也能被处理到),不需要任何人工操作。当然代价就是打包的时候比较慢,同时载入的时候使用了反射来查找所有需要替换shader的材质球也有一定的性能损失。","updated":"T07:56:19.000Z","canComment":false,"commentPermission":"anyone","commentCount":13,"likeCount":35,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","sourceUrl":"","publishedTime":"T15:56:19+08:00","links":{"comments":"/api/posts//comments"},"url":"/p/","titleImage":"/v2-f294e35beec0ec3f4dafd5ad9f745a10_r.png","summary":"","href":"/api/posts/","meta":{"previous":null,"next":null},"snapshotUrl":"","commentsCount":13,"likesCount":35},"":{"title":"Unity 5.x AssetBundle零冗余解决方案","author":"Angel_Zero","content":"最近参考Unity官方介绍和的一些文章做了下AssetBundle打包相关的优化,成功实现了零冗余打包,下面和大家分享一下实现的过程。一.问题概述相比Unity 4.x版本里AssetBundle(以下简称ab)打包复杂的API,Unity 5.x版本里提供了更加人性化的依赖自动管理机制——对指定打包的资源,Unity会自动收集并分析其依赖的资源,如果该资源依赖的某个资源没有被显式指定打包到ab中,就将其依赖的这个资源打包进该资源所在的ab里;如果已经被指定打包进其他ab里,那么这两个ab之间就会构成依赖关系,加载ab时,先加载其依赖的ab即可。这一套依赖管理机制使用方便的同时也会带来一个问题,如果两个ab A和B中的一些资源都依赖了一个没有被指定要打包的资源C,那么C就会同时被打进ab A和B中,造成资源的冗余,增大ab和安装包的体积。而这个被A,B依赖的资源C又可以分为两种类型,一种是Assets下外部导入的资源,即开发者导入或创建的资源;另一种则是Unity内置的资源,例如内置的Shader,Default-Material和UGUI一些组件如Image用的一些纹理资源等等。因此要解决资源冗余的问题,就要分别对这两种被依赖的资源进行处理。下图是我们的一个项目优化前使用UWA提供的资源检测工具检测到的资源冗余情况,可以发现问题较为严重:二. 处理被依赖的外部资源对于没有被指定打包的外部资源,如果多个ab包依赖了它,打包时该资源就会被多次打包进依赖它的ab包中,造成冗余。解决方案就是将这些被多个ab包依赖的资源打包到一个公共ab包中。处理过程如下:使用得到ab依赖的所有资源的路径;统计资源被所有ab引用的次数,将被多个ab引用的资源打包为公共ab包。需要注意的地方:收集到的资源包含了脚本,dll和编辑器资源,这些资源无需打进ab中。更详细的步骤可以参考这篇文章:。至此,再次进行检测我们可以发现冗余的资源数大大减少,冗余的外部资源已经被消灭,只剩下一些冗余的Unity内置资源,接下来我们再来处理这些冗余的内置资源。三. 处理被依赖的内部资源经过上面的处理,ab中为什么还会有冗余的内置资源?我们来看上面获得ab依赖资源的过程,对于外部资源,可以使用获得该资源在Assets下的路径;但是对于内置资源,获取的路径却始终是\"Resources/unity_builtin_extra\"(后面会提到另外一种情况),unity_builtin_extra文件在Assets下并不可见,但会出现在安装包Data/Resources下,可以猜测unity_builtin_extra是Unity内部使用的一个资源库,类似于ab,但无法像对待外置资源那样对其进行打包。因此解决问题的关键就是修改这些资源对内部资源的引用,让其引用外部的资源。第一种方案是不使用内置资源,该方案理论上可行实际上几乎不可行,例如一些Shader的FallBack是Leagcy VertexLit,使用了该Shader的资源会依赖Leagcy VertexLit(Shader也会依赖FallBack Shader);Unity自带的3D Object默认使用了Default-Material材质,粒子系统则默认使用了Default-Particle,UGUI一些则组件会用到Background这些内置Sprite等等。第二种方案则是提取出Unity内置的资源,在打ab前进行预处理,修改引用了内置资源的资源使其引用提取出的那一份资源,接着按处理外部资源的流程进行打包,这样被多次引用的“内置资源”(这里指的是提取出的那一份内置资源)可以被正确的打入ab包,打包完成后再将之前步骤修改过的引用还原即可。这样即不影响项目的正常开发,也从根本上避免了内置资源的冗余。该方案地实现步骤如下:1. 提取出Unity内置的资源使用 可以加载出\"Resources/unity_builtin_extra\"下所有的Object,可以发现共有4种类型的资源:Shader,Material,Texture以及Sprite。对于内置Shader,我们可以直接从下载;而对于后三种,可以通过AssetDataBase提供的相关API来进行创建:Object[] UnityAssets = AssetDatabase.LoadAllAssetsAtPath(\"Resources/unity_builtin_extra\");\nforeach (var asset in UnityAssets)\n{\n
// create asset...\n}\n提取出内置资源之后,我们的做法是将shader和其他资源做成两个压缩包放在项目Editor下,在打ab前解压出来随后进行相关的修改,最后再删除解压出来的内置资源。2.修改相关资源的引用(难点)首先我们将Unity资源分为两种类型:基本类型:Mesh,Texture,AudioClip,Anim等不会引用其他资源的类型复合类型:能引用其他资源的类型,有4种:*.unity,*.prefab,*.material,*.asset。
参考Unity Manual上介绍的章节,我们可以了解到复合类型的资源本质上都是使用这种标记语言编写的序列化文件,用于描述Unity中组件的各种关系,也包含对依赖关系的描述。将EditorSettings下的Asset Serialization Mode设置为Force Text后,在操作系统的资源管理器下可以以文本文件的形式查看这类文件的内容,示例为Default-Material.mat文件的内容:%YAML 1.1\n%TAG !u! ,2011:\n--- !u!21 &2100000\nMaterial:\n
serializedVersion: 6\n
m_ObjectHideFlags: 0\n
m_PrefabParentObject: {fileID: 0}\n
m_PrefabInternal: {fileID: 0}\n
m_Name: Default-Diffuse\n
m_Shader: {fileID: 7, guid: , type: 0}结合对比分析,可以发现以下格式描述了一条对其他资源的引用:{fileID: xxxxxx, guid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, type: x}\nfileId和guid标识了是被引用的资源,而type则表示被引用资源的类型。通过进一步的实验推测出0代表Unity内置资源,2代表复合类型的外部资源,3代表了基础类型的外部资源以及Missing Reference的情况,1的含义未知。在Unity中,每个资源导入或创建时都会被分配一个唯一的guid和fileID,guid可以通过AssetDataBase.AssetPathToGUID()获得,而Unity并没有提供获得file ID的API,只能将Inspector面版设置为Debug模式看到资源的file ID。不过我们依然可以通过反射配合取得file ID的值:private static PropertyInfo inspectorMode = typeof(SerializedObject).GetProperty(\"inspectorMode\", BindingFlags.NonPublic | BindingFlags.Instance);\npublic static long GetFil

我要回帖

更多关于 黑魂3力敏武器 的文章

 

随机推荐