Design Hub

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    1. 主页
    2. GShion
    3. 帖子
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 39
    • 帖子 54
    • 群组 2

    GShion 发布的帖子

    • 不开心,加油搞钱吧

      感觉有点过坏了,立帖为证提升自己

      • 银河城
      • 88Plane
      • 文字练习
      • 美术练习
      • 程序练习

      每周结束至少做一个,并且有点成果

      发布在 综合讨论
      GShion
      GShion
    • RE: 【Unity】一些个人心得

      没发生碰撞检测的常见原因:
      rigidbody没得
      onCollisionEnter(2D)写错了

      动画移动错误的一些原因
      应用了动画根运动

      发布在 游戏开发
      GShion
      GShion
    • RE: 【Unity】一些个人心得

      @GShion 使物体朝着前方移动一般是使用各种.forward .up什么的,然后向这个方向更改位置或者速度。

      发布在 游戏开发
      GShion
      GShion
    • RE: 【Unity】一些个人心得
      • 同比放大移动速度除了可以用Vector2(xSpeed * param,ySpeed * param)以外,还可以用Vector2(xSpeed, ySpeed) * param;另外为了避免不同电脑的帧数差别导致的巨力,可以使用Vector2(xSpeed, ySpeed) * param * Time.deltaTime

      • 用velocity做跳跃移动
        跳跃的时候向量速度=向量速度.x , 跳跃速度
        移动的时候向量速度 = 移动速度,向量速度.y

      • class默认不会被序列化,想要class显示的话需要using System.Collections.Generic;里面的 [Serializable],相应的,如果你的public了一个class,但这个class没有在inspector里面显示,那么就是因为你这个class没有被序列化,在对应class前面加[Serializable]就可以了

      • 使用[SerializeField]强制将private的属性显示在inspector里

      • 使用[Range(1,3)]控制某个值在inspector里面拖拽可以更改的范围(代码里不限制)

      • 如果在使用动画的情况出现了某些操作上的bug,检查一下动画本身是否自带动作,导致动画动作覆盖了你的操作

      • 移动除了使用路点移动以外,还可以使用贝塞尔曲线移动,以下是对贝塞尔曲线的解释和代码

      //贝塞尔曲线解释:
      //定一个0到1的比例t,n个点组成n-1条线段,然后求每段线段在比例t下的点的位置,如果求取后点的数目大于1,那么继续将它们按顺序组成线段,求取这些线段在比例t下的点位置
      //然后t从0到1移动,就组成了曲线
      
      
      //静态贝塞尔类的定义,用于计算
      public static class Bezier
      {
          //定义GetPoint方法
          //作用是获取一系列点依据贝塞尔曲线计算规则后,位于比例t的点
          public static Vector3 GetPoint(Vector3[] points, float t)
          {
              //建立一个新数组,复制传入的数组后,使用Unity自带的插值算法,从第一个点开始,依次计算两点之间的插值点
              //计算一轮过后,总共的点的数目就减少了1,重复此过程,直到只剩一个点,该点就是所有原始点连成的贝塞尔曲线在比例t下的点的位置
              //然后返回这个点就行了
              Vector3[] newPoints;
              int pointsNumber = points.Length;
              newPoints = new Vector3[pointsNumber];
              //要用array.copy函数,否则的话就传了地址,会出bug
              Array.Copy(points, newPoints, pointsNumber);
              while (pointsNumber > 1)
              {
                  for (int i = 0; i < pointsNumber - 1; i++)
                  {
                      newPoints[i] = Vector3.Lerp(newPoints[i], newPoints[i + 1], t);
                  }
                  pointsNumber -= 1;
              }
              return newPoints[0];
          }
      }
      
      • AnimationCurve类可以创建曲线,用途多多,以下是清除所有曲线点的示例:
        (正序的做法会删除一半的点,我还不清楚为什么)
              for(int i = animationCurve.keys.Length-1; i>-1;i--)
              {
                  animationCurve.RemoveKey(i);
              }
      
      //然后这里是将贝塞尔曲线分为100段,算出每段的平均速度并将其添加到曲线上的代码,GetPoint方法的作用是传入一个三维向量数组和比例t,返回使用这个数组计算的贝塞尔曲线在比例t下的位置
              for (int i = 0; i < 100;i++)
              {
                  t = (float)i / 100f;
                  nextT = (float)(i + 1) / 100f;
                  length = (GetPoint(points, t) - GetPoint(points, nextT)).magnitude;
                  deltaTime = length / speed;
                  deltaSpeed = 0.01f / deltaTime ;
                  animationCurve.AddKey((float)i/100f, deltaSpeed);
                  if(i == 99)
                  {
                      animationCurve.AddKey(1, deltaSpeed);
                  }
              }
      
      
      
      • 在挂载了对应脚本的物体的inspector下面额外显示按钮
      [CustomEditor(typeof(MyWaveController))]
         public class thisEditor : Editor
         {
             public override void OnInspectorGUI()
             {
                 DrawDefaultInspector();
                 if (GUILayout.Button("按钮名称"))
                 {
                     //把要执行的内容写在这里
                 }
             }
         }
      
      发布在 游戏开发
      GShion
      GShion
    • 关于二次元的一些思考

      什么是二次元?只要幻想就是二次元?绘画和美术才是二次元?还是必须使用动漫表达技法创作出的内容才是二次元?当我们谈论“二次元”的时候,我们到底在谈论什么?

      (中略)

      在思考了很久之后,我认为二次元固然有表现上的特征要素,如漫画风、幻想风等存在,但更能体现二次元核心的内容其实存在于更深层,存在于幻想与现实的边界。

      • 我认为,二次元的核心是通过幻想获得超越自身的体验(有时候将自身代入,幻想这个世界确实存在以拒绝现实)

        • 在这里解释一下拒绝现实。与仅获得超越自身的体验不同,拒绝现实需要额外的条件,分别是【希望】某个特定的虚幻的世界存在、【认同】某些特定的角色存在于上述世界,【认同】上述角色有着人格存在并且能与世界发生互动,并【幻想】自身也扮演着某个角色,和上述认同存在的角色们发生互动,或是仅仅观察上述角色自身的互动。前三条是基本判定是否为拒绝现实,最后一条是如何拒绝现实(幻想虚幻的世界存在,或是幻想自己于虚幻的世界存在)

        • 拒绝现实并不含褒贬意味,譬如绝大多数幻想创作时都必须要拒绝现实。唯有“明知这么做会导致坏的结果,且意志尚能克服坏选择,仍然选择了坏选择”的情况下才会含有贬义,也就是一般意义的“逃避现实”。更准确的说,上述“拒绝现实”应该表述为”将自己推离现实以进入想要进入的幻想世界”。

        • 如果是“仅获得超越自身的体验而不拒绝现实”,那么实际上此人并不属于一般意义上的“二次元”。对他们来说看“二次元”相关内容和周末大家约好一起去看电影没有区别,看完了,为情节与人物回味一段时间,互相锐评两句吹吹比,然后继续该干啥干啥,享受生活。幻想行为被作为他们现实生活的调味品,而非临时逃离现实生活的途径。和一些人天生喜欢吃辣一样、这些人喜欢二次元,只是因为部分二次元的内容正好戳中他的爱好而已。毕竟电影很难拍各种五花八门的幻想情节,比如机器人天天到处乱飞打架的故事,但二次元可以。

          这也是很多人明明表现出来就是个纯粹的二次元,看番一堆手办一堆海报一堆,但其他人一旦了解这个人的主要生活之后都会说他是个现充的原因。

        • 但是,如果存在主动的“拒绝现实”,也就是此人真的是一个“二次元”……那么在完全念头通达前,他都会持续地被痛苦所困扰。这份痛苦分为几个阶段。

          • 第零阶段是进入幻想并面对美好事物后,认为自身不配与之并列,产生的自惭形秽的痛苦。你进入幻想世界,以主角的身份和各式各样的角色发生交集,体会她们的故事。那么你在对幻想世界产生归属感,并且开始喜欢上这些美好角色的同时,必然存在的退出幻想的流程则会像一根刺一样,提醒你自己并不属于幻想世界。这时候就会产生一个问题:现实的你假如到了幻想世界,真的能成为那个被那些耀眼角色共同喜欢的主角吗?幻想世界的主角(你)具有这样那样的能力与性格,但现实的你则完全比不上(至少是自认比不上)。在纠结于自身的现实身份和幻想身份的情况下,你会被自惭形秽,或是自我厌恶的痛苦所困扰。(当然,如果具有比较强烈的自我则不会……而是会成为中二病)

            实际上,很多人根本不会进入第零阶段,因为这纯度实在太高了。他们是真的很认真地在考虑自己配不配的问题,即使他们自己都有时候觉得有这样想法的自己实在是太蠢了。但,这一阶段的人非常有趣,也是非常可怕的一点,正是在这种纠结中体现的。

            会考虑这种问题的人,不管他们嘴上怎么否认,潜意识仍然将幻想的角色当成和他等同的人——“那里一定有一个世界,生活着这样一群角色。她们有自己的喜好,自己的性格,自己的故事。在这个世界里,她们和我一样,都是确实地活着的人。”

            ……即使,这份人格是他自己赋予的。

            这一阶段的读者拒绝现实的程度不低。他们会把幻想中的角色当成真实的角色一样对待,因此,他们也会受到很多人的不理解,也会说出一些看起来很逆天的发言(比如认真的说你这样对得起XXX吗,或者认真的说我干了XXX事情,对不起XXX了,没脸见她们了)。他们看故事的时候很容易情绪波动大,因为角色的故事对别人来说是故事,对他们来说则带有部分移情的感同身受。他们经常会体会到【他们自认为的】角色的快乐与痛苦,并在现实与幻想的对比中迷茫不定。

          • 第一阶段是因明悟了幻想世界的虚幻属性,而产生的与现实割裂的痛苦。在反复穿过现实与幻想的边界后,你会意识到幻想终究不是现实,你所爱的角色不会是真实的具有人格的人,她们只存在于幻想世界里。但即便如此,你会仍然希望他们能在幻想世界里永远活着,能够在幻想世界中一直陪伴着你。

            但是,做不到。

            角色的鲜活仅仅停留在故事之中,停留在纸面或者动画未结束之前。当你结束阅读的时候,关于这个角色的一切就都结束了。她们不会再多说一句话,多做任何一件事,对你的任何行为作出反应。你只能重头再来一遍,在故事里,按照设定的剧本,用固定的反应,和她们做出这样那样的互动,和角色们再表演一场盛大的傀儡剧。而当故事走到尽头的那一刻,这些角色就被禁锢在了永恒静止的时间之中。像穿越千年,光鲜亮丽却毫无生气的琥珀一样,美丽又永恒……但那不是你想要的。

            自然,处于这一阶段的你会费尽心力,有意识或无意识地尝试延续这些角色的鲜活,于是你会去找设定集、找二创,让角色继续“活”下去;或者紧紧握住创作还未完结,角色的故事还可能继续的希望,一直等着、等着。但,不管怎样,最终还是要面对幻想只能是幻想的无情现实。

            所有被认可的幻想世界完全被禁锢在有限的对它的描述上,只有自己的想象才能将其无限,但任何一个将你推出幻想世界的行为都会提醒你这只是你的想象。你终将明悟和你和角色们实际上的联系,并没有你自己想象得那么紧密。即使再怎么爱角色,能抓住的也不过是空中垂下的蛛丝而已。

            这一阶段的读者虽然承认幻境仅仅是幻境,但他们无法割舍幻境给他们带来的美好……也因此常常感受痛苦。

          • 第二阶段是了解了创作过程后,无法继续对角色产生纯粹的喜爱,无法接受光鲜亮丽的角色背后的黑暗而产生的痛苦。

            当你因为难度甚至运气被反复无意义拷打的时候,你很难将为你作战的角色和对游戏本身的怒气区分开。脾气上来的时候,你很容易骂一句“你TM怎么这么脆啊?”或者“你这时候给我不暴击?”。这种行为在PVP里面更为常见,尤其是你和对手采用了极其相似的阵容但你仍然输了的时候。

            你很快就会发现你的怒气似乎发错了地方。于是你去论坛发帖,猛烈喷了一顿设计师,转头却又说自己的角色还是很可爱的。

            但仔细想想就会发现这种言论有点奇怪。你喜欢角色,于是设计师创造的好的一面被你拿走,角色变成了只属于你的角色。你讨厌游戏体验,因此设计师就是混蛋,即使这些你喜爱的角色都是他创造的。可是,创造你喜爱的和你讨厌的东西的人,难道不是一个人吗?最少最少,难道不是同一个公司吗?

            即使上述情况可以用好活烂活分开看来解释,但另一种情况,也就是同一个人创作出的同一个角色,在故事的前后期几乎是两个人:前期人人爱,后期突然就变成了个混蛋。大多数人只会觉得这作者写爆了,是能力不行。但,另一些人就会发表评论,将故事后期的角色切割走,只留下前期的角色。在她们还很可爱的时候,这些角色是我的。在她们“因为作者”变混蛋的时候,这些角色……仍然不属于作者,只是作者故意搞鬼而已。

            他们为何会如此地执着于将角色的最终解释权握在自己手里这件事呢?为什么一定要将幻想和现实区分得如此泾渭分明呢?

            当你真正思考创作的时候,立刻就会发现隐藏在你爱、或是爱你的角色的真相。角色存在的本意就是达成作者的目的(为了讨读者喜欢,为了挣钱等),属于“刻意营造的幻想商品”。角色本身并不纯粹。作者为了让你喜爱,为了让你讨论,为了让你阅读,为了让你掏钱。于是,角色必然要讨你喜欢,且只能讨你喜欢。

            不讨喜的设定,不好看的设计,在一开始就会被废弃掉。即使角色终于能在故事里出现了,创造者们也会根据风向调整各个角色的出场机会。如果一个角色不被大多数人关注,那么很明显,调高他的出场机会后获得的收益是明显比不过人气角色的。所以,在游戏里,这些角色仍然有延续故事的可能,但我们都知道,在商业上,这些角色已经被判死刑了。

            那为爱发电又如何呢?不好意思,这里才是切割角色的重灾区。为爱发电越纯粹,越意味着一意孤行,越容易整出大多数人不喜欢的活。只要故事还在被创作,你就逃不掉这个命运。

            这一阶段的读者开始知道“自己喜爱的角色”完全是为了“让你喜爱”而创造出来的产品,你喜欢的事物完全不像你想象的那么纯粹。在她们诞生的那一刻起,便带有最重要的任务:好好在故事里表演,向你展现出最吸引人的特质,让读者尽量喜欢上她们,然后狠狠爆他们的金币。

          • 在第三阶段中,读者走向了创作者,想要创作关于自己所爱的角色的,只属于自己的故事。不管别人怎么想,我创作的角色对我来说最为纯粹。你会借此离开原作创造出的功利角色的深渊,但随着创作的深入,却反而会慢慢滑向另一个深渊——虚无。

            刚开始创作的时候很美妙。你会反复观看已有故事,回忆自己与角色相遇时候的感觉,想象着与角色互动时的样子,并在甜蜜的感情驱动下将只属于自己的角色故事写下,期望者更多人看。

            如果没人看还好。如果不能坚持创作,那么也就到不了第三阶段了。在第二阶段,随着时间推移,很多人会掌握“无视”的技巧,以便让自己能纯粹地享受故事,享受和自己所爱的角色在一起的时光。但如果创作受到了欢迎,你也被鼓励,决定不停创作下去的话,那么有一个困难是必须要克服的:你的素材不是无限的,你很快就会感觉没东西可写了。

            于是你开始找灵感,看资料,记笔记。看的资料越来越多,笔记越来越长,创作得越来越得心应手。你了解你所爱的角色的萌点,知道什么样的性格最适合,也知道用什么样的情节最能凸显角色。你继续写,继续写,却发现你看的资料记的笔记已经和你的角色完全重合了。你惊觉不对,抬起头,结果看到市面上早就已经被类似的东西所塞满。放一个记忆点,加一个萌点,再配一个能强化上述两点的性格,好了原创角色完成。黑长直,金马尾,眼镜娘,搞笑役,不管是什么只要能让人记住就行。你开始觉得好像其他角色和你爱的角色也没什么不同,除了名字和所在的世界背景也不一样,她们的性格,记忆点,甚至于情节,都是大差不差的。你发现工业流水线上的产物或是功力不够的你自己的产物,全部都是这种复制人一样的东西。只要这么做,就会有人看,只要这么做,就会有人喜欢,只要这么做,就能爆人家的米,引来更多的关注。角色对于你不再是纯粹的角色,而成为了你手中的工具。你技巧运用得越是熟练,你的创作目的性就越明确。

            然后,你会发现你已经无法纯粹地欣赏一个角色了。你不可避免地带着有色眼镜去看角色。你发现不管大家怎么创作,好看的故事大多数必然有其定式,不按套路来的故事没几个好看的。你想逃开形式的桎梏,想逃开这一切,但你逃不开。你用你的技巧创作的故事受到了一致差评,大家都觉得你的故事落了窠臼。你随手发的癫却被一群人疯狂叫好,交口称赞,而现在的你根本不知道为什么。你觉得故事不是你的,角色不是你的,什么都不是你的。你想要什么就有什么,但你仍然觉得虚无,因为你同时失去了一切。

          • 第四阶段的你则会更加现实。在明白了工业快餐产出的东西是如此惊人的一致后,你会对原来疯狂喜欢的东西快速失去兴趣,只是会偶尔翻一下,惊讶于我以前为啥居然会喜欢这种玩意。你逐渐对幻想失去兴趣,想要转向于现实,却发现你原本羡慕的,那些看起来非常活跃的交际花们,甚至比你更虚无。你至少知道有趣背后隐藏着的,令人不快的逻辑,而他们只是单纯的消耗着他们自己的生活。你发现他们对任何东西没有一个评价标准,甚至没有一个固定的价值观。抛开事实不谈,喜欢的东西就要全力夸赞,讨厌的东西就是要全力打倒。他们过着嘈杂而无趣的生活,自己却乐在其中。

            有时候你也会羡慕他们,但冷静下来又会觉得这样的自己很蠢,很丢脸。你又回去看了之前你喜欢的角色们,发现这些角色至少比那些把无聊当作有趣来炫耀的人好得多。你开始又能欣赏一点以前喜欢的角色,但你始终逃不开一个问题:你无法抛开一切,像最开始一样纯粹地喜欢她们了。她们仍然是那么地令人喜爱,丝毫没变,但你变了。你继续玩之前喜欢的游戏,继续写之前常写的文,但这些东西对你来说更像一种习惯。你要这样做只是因为你觉得你也许应该这样做,或是如果你不这样做,也没别的什么好做了。

            你终于意识到你的空虚不是因为幻想破灭的空虚,而是生活和情感上的空虚。你渴求不一样的生活但你做不到。你的生活一无所有。你过去的日子已经过去了不值一提。你现在的生活一成不变没有人关注。你也不知道你的未来会是什么样。你有过梦想,但现在已经基本放弃了,只是偶尔突然想到,感叹一下“我也有过这样的想法呀”然后把它们按下。

            你发现不是你选择了二次元而是二次元选择了你。从一开始就只有这一个命运。

            你变得不爱表达自己,即使你什么都知道。你知道你喜欢故事里的妹妹围着你转是因为你缺少关爱。你知道每次看完震撼人心的故事之后怅然若失的感觉是因为你生活的空虚。你开始附和一些烂梗,在无聊里找乐子。你逐渐能和人打成一片,但更多时候你则是什么也不干,什么也不想。你又开始羡慕之前的那些人,即使他们很蠢,他们的快乐好像也没有作假。他们不是痛苦的苏格拉底而是快乐的猪——你想着,但你连快乐的猪都做不了,你是想做快乐的猪而不得的猪,更加扯淡。

            最后,你开始接纳和这种空虚。你发现只要能好好欺骗自己,生活总还是能过得下去的罢。你逐渐开始故意忽略掉背后的一切,只为了能重新享受故事本身。你避免去参与任何过于认真的讨论,而号召别人像你一样专心得享受故事,享受幻想世界里和那些你爱着,也爱着你的角色经历的一切。你看严肃二创,也看发癫,你都觉得很乐呵。你认为对故事性还是乐趣性的争论完全没必要。你能理解很多东西,很多人,但你只希望能安静地享受一切,即使这种享受并不纯粹。

            你觉得你老了。

        • 在第四阶段之后是什么这点暂且先按下不表,是不是觉得上面几种人非常有二次元的“味儿”?这也是我认为二次元的核心在于拒绝现实的原因。其实第四阶段基本就是那种一团和气的老二次元了,他们不喜欢看的坚决不看一点,喜欢看的也不会多么激动地讨论。好像对一切都不是特别在乎,但有时的意见又好像看得很清楚。

          写到这里,突然觉得一首诗很应景,暂且附上:

          少年听雨歌楼上,红烛昏罗帐。

          壮年听雨客舟中,江阔云低,断雁叫西风。

          而今听雨僧庐下,鬓已星星也。

          悲欢离合总无情,一任阶前,点滴到天明。

        • 那么,第四阶段之后呢?

          “世界上只有一种真正的英雄主义,那就是在认识生活的真相后依然热爱生活。”

          你觉得之后会是什么?

          你所想所做所爱的一切真的没有意义吗?

          正因为有虚无,所以存在才有意义。如果抛开存在,那么虚无就是完全。

          你想逃避的生活可能没有你想的那么毫无作用。正因为它以这样的方式存在,因此你才能领略到常人无法获得的风景,获得独属于你的故事。

          不管对象是谁,是什么,甚至是不是存在,爱本身就是最大的意义。

          我知道这些角色不存在,也知道她们是为了爆别人的米而创造出来的,还知道她们非常工业化,凹人设凹标签凹这个那个的。但那又怎样?

          我喜欢这样的角色。换个名字我喜欢,换个背景我还是喜欢,怎么着吧?

          你要是只想说这堆屁话就赶紧滚边去算了。你的目的到底是为了揭露现实还是为了你那点可怜的优越感啊?

          老子喜欢——关你屁事?

      后记

      起因是看到邮箱贴吧有8u发了个癫……就是纯度非常高的那种,有点现实和幻想区分不清,大致就是“真的爱上了一个不存在的人该怎么办”。我第一反应是“这也太二次元了吧……”,但后来一想,我为什么会觉得这非常二次元?我认为的二次元到底什么?于是就有了上文。

      你看,真要认真思考的话这份爱非常奇怪,因为任何不存在的角色只有侧写。你可能知道她是个傲娇,性子别扭,责任感强,会帮你处理工作,有时还会训你……你看,这全部是角色的侧面。你所认知的角色本质就是这些侧面的集合体,证据就是以上内容我其实说的是黑猫,哈哈。

      你知道如果你偷懒的话就会被说,连被说什么话你都能一字不差地复述出来。你当然知道,因为剧情就是这样的。但如果你对她说今晚我们一起去吃超辣火鸡面吧,她会怎么回应你能知道吗?你不知道,因为剧情没有写。你确实可以一遍遍的看剧情来让角色活过来,但在角色的各个侧面之间的缝隙里仍然是什么都没有。

      所以你爱上的只是戳一下按固定流程复读一句台词的洋娃娃吗?你自然可以脑补出一百个符合设定的回应,但在这一刻,这个角色成为了你的一部分:你希望她这么回应,于是她就会这么回应。这个侧面的她完全由你的心意而动。她是她,她也是你。

      你爱上的是你的幻想……这其中并没有第二人能插足之处。你其实爱上的是另一个自己,是你喜欢的另一个自己,是你想成为但没能成为的自己,是平行世界穿越而来的,有着你喜欢的样子,想要像你所期望地那样,温柔安抚你的自己。

      你用你的幻想来逃避现实。在另一个世界,你成为了完全。你可以成为任何你想成为的人,拥有任何你想拥有的感情。

      你用这种方式和自己对话。你用这种方式治愈你。

      这大概也是很多人不喜欢二次元的原因,因为看起来真的很傻……

      不过我要说的是,逃避既不可耻而且还很有用。毕竟站着说话不腰疼的人没办法帮你承担任何东西。人家是嘴爽了,你自己回头一看处理自己生活的还是只有你自己。

      我的意思不是只要逃避就好。单纯的逃避是一条死路,因为你毕竟没有活在幻想里面也没办法活。逃避是手段不是目的。

      你过的是你自己的人生。你想做什么就可以做。你可以把角色当故事,可以把角色当作人,可以把角色当你自己。只有你才能为你自己的人生负全责。一件事让你感到不快,你就可以不做。让你开心,你就可以做。权衡情感与得失之后,选择你认为能做到的最好的方法去做就可以了。至于其他人,关他们屁事。

      “He who has a ‘why’ to live for can bear almost any ‘how’。”

      没有人是为了逃脱痛苦而活下去的。大家都是为了生活中各种各样美好事物而活下去的。

      你爱角色,你需要角色,你把角色当成人即使你知道她们不是,你对角色的感情让你感受到被爱——这就已经很好了。如果这是你生活中的色彩,那就不要让别人夺走它。

      ……写的好长,完全成论文了都。干脆直接用大刘的一段话作为结尾好了——

      “但是我喜欢上了一个不存在的人,她只是我虚构出来的,这难道不是一种病态?”
      “不,不是,其实你很幸运,不管她是不是真实存在,能爱就很幸运了。”

      发布在 综合讨论
      GShion
      GShion
    • 【文案基础】总而言之、勇士最后击败了魔王

      总而言之、勇士最后击败了魔王 by Shion.zip
      4d294811-83b8-441c-825f-a420e78f0f6f-image.png

      发布在 游戏文案
      GShion
      GShion
    • 现在直播弹幕游戏好像很火

      就是直播中发弹幕来玩游戏的那种。
      ……但是,我没懂……我是那种不看直播的人,所以基本可以算完全不了解。

      发布在 相关资讯
      GShion
      GShion
    • RE: 早知道当策划这么苦逼,我就提桶跑路了!

      做蛋炒饭的时候最好准备两个蛋,先打一个蛋做炒蛋,要炒得一块一块的,捞出待用。
      然后做炒饭,记得和炒蛋一样,炒饭也是要多放油的。然后要多炒一会儿,把水汽蒸出来,让口感不粘,并且让饭粒不容易粘在一起。
      再打一个蛋搅散,均匀地浇在炒饭上,趁没有凝固前快速翻搅均匀。这一步是为了上金黄色,并且让饭粒口感更弹。
      饭粒表面的蛋液熟了后,加入之前的炒蛋,加盐调味,出锅。
      这样做出来的炒饭又好看又好吃,还能吃到大块的蛋。
      如果仅用炒好的蛋和饭一起炒,那么饭不会是金黄色。如果仅用蛋液炒,那么饭里只有蛋花,没有一块块的蛋。

      发布在 相关资讯
      GShion
      GShion
    • 【行业知识】策划的发展路径

      前言

      游戏策划是设计游戏的人,所以并不是“喜欢玩游戏”就适合成为游戏策划的。只有喜欢玩游戏,喜欢思考游戏为什么要这么做,同时还抱有想要创作游戏给其他人玩的心态的人才适合做游戏策划。

      游戏策划关注点相对于玩游戏本身,更在于游戏设计得好不好,也就是“要达成什么目的”,“采用什么方法”,“这些方法有什么优缺点”。即使一个策划干的都是非常事务性的工作,也不能放弃对设计的思考。不管是什么策划,都一定要清楚自己在做什么以及为什么这么做。

      游戏策划的基本素质

      严格来说,这些基本素质并不是判断一个人是否算是一个好策划的条件——而是判断一个人能不能够做策划的条件。只要算得上是一个策划,那么必然不能缺少以下素质中的任何一个。

      1. 职业素养

        自从决定从事这个职业开始,你对自己的定位就不能是“游戏爱好者”,而必须是“职业的游戏设计者”。能力暂且不论,职业二字意味着你不能再随着自己的喜好来对待工作。也许有时候你会觉得派给你的工作很傻,很没意思,不想做,但你至少要把这件事给做到合格。如果上司给了你修改意见,即使你觉得这样做很蠢,那仍然也要做到合格。如果觉得公司不适应或者工作不适应没法待,可以随时离职——但在离职之前,你要对你手上的所有工作负最基本的责任,即尽自己最大努力让它们合格。

      2. 思考设计背后的逻辑

        无论是在工作中还是自己玩游戏的时候,都要思考游戏为什么要这么设计,有什么优缺点,可以怎么修改。这也是游戏策划和一般玩家最大的不同。玩家知道他喜欢玩哪些游戏,但当他描述游戏好玩在哪里的时候,大多数玩家都仅仅会关注体验层,也就是“我玩的爽的时候,我的感受是什么”。游戏策划则应当想得更深,也就是“游戏做了什么让我有这种感受”。思考“为什么要这样做”是学习游戏设计最快的方法,也是游戏策划不可缺少的素质。

      3. 兼收并蓄,求同存异

        创作者如果对自己的作品没有自信,那他就不可能成为创作者。但在工作中,一个一意孤行的人不仅处理不好与同事的关系,也有可能导致很严重的后果,甚至导致项目整体停摆(现成的例子,少女前线2……)

        游戏策划更应如此。不懂得听其他人意见的人,只会做出只有自己喜欢玩的游戏。

        在工作中,要积极表达意见,但也要包容别人的意见,仔细思考做出取舍,和其他人充分沟通,讨论完成后,听从最应该对此事负责的人(也许是你自己!)的意见行动。

      游戏策划的工作内容

      很多人对游戏策划这个职业有一种常见的理解:游戏策划就是满脑子想一些有的没的,大致描述一下,写成文档之后叫程序做,完事!

      但实际上,策划打交道最多的东西反而不是策划案,而是表格。

      注意,游戏是由一系列数据构成的。如果没有数据源,那么游戏就没办法称之为游戏。在写完策划案之后,更多的时间将会被用来完善体验与验收游戏表现,很多策划戏称自己为填表工具人就是因此。所以策划应当熟练使用Excel。

      另外,同样常做的事则是跟进,也就是你需求提完发给程序后,确认并保证程序按时按质做完的整个行为。这也是主催为什么叫主催,是因为真的很能催……

      整体来说,策划的工作内容就是写策划案,维护表格,以及跟进和汇报进度。

      1. 策划案

        说一下最容易出现的误解。策划案实际上是给程序、美术等需求下游人员看的,而不是给策划自己看的。因此,你的策划案至少需要具有可执行性,而不是仅仅你的思路文档。这也是我建议策划都应该学一点程序的原因。你得知道你写成什么样,程序才能知道该怎么做,不过于简略也不过于详细。

        你写的策划案,其实是程序的工作任务说明书。一定要认真对待它们。

      2. 维护表格

        合格的策划可以单从表格设计上就看出很多东西,不过作为萌新,只要知道Excel的基本操作、公式以及数据类型就可以了。

        注意,维护表格的时候千万记得写字段注释,否则的话这表格离了负责人没人能接手得了,或是要花费大量时间和程序对清楚了才能交接。

        可以把“维护表格”的行为理解为“面向Excel编程”,哈哈。

      3. 跟进以及汇报进度

        是很多人容易忽略的一点,但其实是策划最核心的技能了。如果你不会跟进,不好好跟进,那你就必然没有任何产出,因为你把是否能产出合格的成品这件事完全赌在了程序一个人身上。程序只有跟你有足够的默契,给你排足够的时间,并且对你的需求有足够的职业素养的情况下才能按时做好功能,就这还不能保证有没有bug。

        因此,一定要常常跟进进度和汇报进度。

      发布在 游戏设计
      GShion
      GShion
    • 【Unity】一些个人心得

      UI锚点相关知识

      3335f7e8-7bda-41a0-ad7c-1d8f4e24a802-image.png

      锚点可以理解为图片的四个角到其对应锚点的距离始终不变。图片右上对应锚点右上,等。
      锚点会显示各锚点相对于屏幕的占比。这意味着当改变屏幕分辨率时,锚点也会按照对应百分比改变。如一个50%,30%,20%的锚点,当拉长100像素时,从左到右的两个锚点会向右移动50像素和80(50+30)像素。可以利用这个预想分辨率改变后的情况。

      UI(或某物体)看向某物体

          public Transform target;
          public Vector3 axisY = Vector3.up;
          void Update()
          {
              Vector3 dir = target.position - transform.position;  //指向目标物体的向量
              Quaternion ang = Quaternion.LookRotation(dir, axisY);  //让物体看向上述向量方向。如果省略axisY,那么值默认为Vector3.up
              //具体实现方法是首先令物体z轴朝向dir,然后根据dir和axisY做乘法求出向右垂直于dir和axisY两向量形成的平面的向量,作为物体的x轴,然后用z轴和x轴再来一次求出y轴。
              transform.rotation = ang;
          }
      

      类明日方舟点击拖拽上阵方式

      使用

      public class UIDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
      

      然后再分别实现

      public void OnBeginDrag(PointerEventData eventData)
      OnDrag
      OnEndDrag
      

      就可以完成一套拖拽流程了。
      之后给塔基座添加射线碰撞检测

      if (Input.GetMouseButtonDown(0))
              {
                  if (EventSystem.current.IsPointerOverGameObject() == false)
                  {
                      Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                      RaycastHit hit;
                      bool isCollider = Physics.Raycast(ray, out hit, 1000, LayerMask.GetMask("Towerbase"));
                      if (isCollider)
                      {
                          //hit.collider.GetComponent<xxx>();
                      }
                  }
              }
      

      再加入鼠标移上去变色效果和建造功能

      void OnMouseOver()
          {
              if (Level_GlobalVariable.CAN_BUILD == true)
              {
                  myRenderer.material.color = Color.red;
                  if(Input.GetMouseButtonUp(0))
                  {
                      if(isBuilded == false)
                      {
                          Instantiate(tempTower,transform.GetChild(0).transform.position,Quaternion.identity,transform);
                          isBuilded = true;
                      }
                  }
              }
              else
              {
                  myRenderer.material.color = Color.white;
              }
          }
          void OnMouseExit()
          {
              myRenderer.material.color = Color.white;
          }
      

      上面的全局变量是只在当前场景使用的

      发布在 游戏开发
      GShion
      GShion
    • 【项目管理】项目管理杂记

      统筹工作优先级问题

      工作前想一下对于项目来说最紧急的事情是什么,并且是否正在开始工作,不要被催的事情影响到

      可以两次上班的时候想一下,确认一次

      • 出不来

        • 有没有什么事情会导致这个游戏出不来,也就是无法按时面世,或是无法按节点给出里程碑内容的情况。
      • 玩不好

        • 有没有什么事情会导致这个游戏的体验很差,尤其是断线,卡住,报错,无法正常进行游戏的情况。
      • 不赚钱

        • 有没有什么事情会导致这个游戏不赚钱,常见于没商业化,商业化不好,或者游戏数值体验很差的情况。
      • 不好玩

        • 基本上就是指的游戏循环有问题,游戏的核心玩法不够有趣,养成不够激励,活动让人没动力参加等。

      以上问题才是统筹工作中的核心问题,不要被细节带偏。


      合/切版本的问题以及原则

      版本目的:切出一个1.稳定2.完全可控的版本
      其次是尽量进已做的东西,但不能和前两条抵触
      最重要的其实是稳定和完全可控,否则的话切版本没什么意义。这就意味着,只有一个东西全部测好了,才能进版本,否则的话就不要进。


      使用禅道或表格进行工作内容管理的好处与缺点
      禅道

      --好处

      • 有较为详细的工作进程以及修改记录,可以进行多次备注,记录均有留档而且不对可读性产生影响
      • 可以方便地找出负责处理的人和负责跟进的人
      • 内容记录支持各种格式

      --坏处

      • 相对而言,不那么容易对一类工作进行统筹规划与更新(使用标题/类别/关键词)
      • 每完成一个工单,只能由负责处理的人变更状态,寻找到该工单并立刻即时更新工单这个行为较为繁琐
      • 工单名字不足以描述需求内容时,需要点进去才知道详细内容,工单列表信息完整度低
      • 无法支持特定自然语言筛选,或是支持起来稍有繁琐(需要增加关键词栏目)

      表格

      --好处

      • 可自由定制,一张表格所属的内容全部就是同类内容,不用额外花心思去点开一个个禅道单子看是否有更新
      • 可以方便地复制信息,支持开发端额外的自定义处理
      • 支持特定自然语言筛选
      • 标题与内容在同一个页面,列表信息完整度高,无需额外操作,容易统筹规划
      • 可以由策划变更状态,无需完成每个东西就要进行工单操作
      • 可同时支持禅道

      --坏处

      • 工作记录本身与工作记录的过程无法留档
      • 如果同时支持禅道,要附加额外的操作,且禅道信息滞后

      因此,工作中尽量使用禅道,只有在突然要做一批关联性很弱且内容非常多的工作时,才使用表格。此时,策划控制禅道和表格,优先以表格处理内容,但禅道单子不能少。程序看表格完成工作,不看禅道,只听策划说“这个单子可以点解决了”就点解决。最终仍然是走打印出来的纸质禅道单子。

      晨会

      1. 大件事问一下工作中没什么困难
      2. 有排期的事情可以问一下能不能按时做完
      3. 紧急的事情确认一下状态
      4. 同步一下方向与进度相关的信息
        其实比较重要的是如果没有特殊事情的话,稍微提振一下士气,或者至少清一下心情和脑子,摆脱起床气和起床迷糊,进入工作状态。不过这个好难……之后有心得再更新吧。

      以清理一批遗留问题,增加游戏的可游玩性(能够当作游戏来玩的程度,而不是乐趣程度)为主要工作内容时的优先级

      S优先级:

      • 正常游戏过程中,固定复现或有一定概率复现的卡死

        • 1792 【1.0.027_2023.07.06】bug:1-10副本退出卡死

      A优先级:

      • 非正常游玩或是非常见操作导致的固定复现或是有一定概率复现的卡死

        • 1736 【1.0.027_2023.07.06】bug:新人引导快速点击不同区域,引起卡死
      • 不卡死,但相对于其他游戏像bug的体验,或是确实有这个bug(先不考虑是否h5只能做成这样,除非给出了结论目前这段时间怎么都解决不了)

        • 1712 【1.0.027_2023.07.06】bug:眩晕技能结算异常
      • 正常游戏过程中,小概率复现的卡死(连续10次未复现,或20次测试只复现1次)

        • 目前没有这类单子
      • 已经完成的功能,游玩体验理应和参考竞品一样,但是实际上不一样的地方

        • 1733 【1.0.027_2023.07.06】bug:指引光圈太模糊

      B优先级:

      • 不像bug但是感觉较差的体验,或是观看感受较差的表现,包括图片,音效,特效,点击反馈等,主要在于是不是感觉体验上这里还没有做任何的反馈优化,或是反馈优化比较差

        • 1691 【1.0.027_2023.07.06】优化:补签次数显示调整

      C优先级:

      • 不像bug但是感觉不好的体验,或是观看感受不好的表现,包括图片,音效,特效,点击反馈等,主要在于反馈优化是不是已经有了,感觉能过得去但还能提升

        • 1694 【1.0.027_2023.07.06】优化:技能图标修改
      • 新功能需求

        • 1805 【1.0.027_2023.07.06】需求:嘉年华功能

      就是按照影响程度大的优先做。快速从0分堆到60分这样子。


      发布在 游戏设计
      GShion
      GShion
    • 【项目管理】对问题的讨论以及沟通方式

      沟通方式

      1. 逻辑上做不了的才能说这个事情不能做,要表达【从逻辑上就无法实现】。

      2. 逻辑上做得了,但是自身能力可能做不了的时候,要表达【我估计做不来】。

      3. 逻辑上做得了,但是需要其他支持(如时间,资源,人力等)才能做到满足的条件时,要表达【要给xxx支持】。

      4. 逻辑上做得了,但是自己不太想做的时候,要表达【这件事我不太想做】,并说明原因。

      5. 逻辑上做得了,但是这么做会存在xx风险的时候,要表达【这事这么做能做,但是xx风险怎么办】。

      拒绝【这事我做不了】和【之后这种事情别找我】的表达方式。并且,以上的表述不是推脱事情的借口。


      (当这玩意我不想做的时候)该怎么沟通

      1. 聚焦于问题

        1. 任何表达最终都是为了解决这个问题,而不是仅仅表达我不想做
        2. 无论是延期解决,交给别人解决还是更改工作内容,讨论出来的结果都是合适的结果,而不能没有任何结果。
      2. 事务详情分析

        1. 这件事情理应是我做还是理应是其他人做?

          • 理应是我做:进入2
          • 理应是其他人做:表达这件工作理应给其他人做,并且说明自己当前没有时间做,或者帮助他人的这个工作需要进入排期。
        2. 这件事情是当前已经排期的工作吗?

          • 已经排期:如果当前已经正在做某项工作,那么询问一下这件事是否紧急到现在立刻做,并进入3。
          • 没有排期:除非确认该工作重要且紧急,不然就要要求该项工作排期到空余时间或者下个版本再做。
        3. 这件事情工作量如何?

          • 比较大:说明该事情工作量较大,需要的时间比较长,建议考虑整体的排期是否符合情况。
          • 无法确定:说明当前事情工作量无法确定,需要给一段时间预研,完成后才能大致估一个时间。(需要注意的是,此处只是将“完全无法预估”的时间分了段,本质是还是“完全无法预估”,只不过是“先用xx时间做第一步,然后得出初步调查结果。如果预研时间也无法确定,那就先给一天时间看看工作进度,然后再大致得出比较合适的预研时间。在这个阶段其实是策划衡量投入和产出的时候,程序在这一阶段无法完全保证产出。很有可能出现这样一个结果:花1天时间看代码,得出大致看一遍需要7天。大致看了7天之后,没有看出任何问题,可能需要更细致地看——这时候就是策划来决定当前是否有必要投入x人每日x时间去做这一件事情。)
          • 工作量不多,但目前工作比较繁杂:说明这一点,并且建议将该事情排后,或者将目前在做的其他事情排后,或是分出部分活给别人做。
          • 我现在很烦:直接说明这一点,并且说明自己的状态可能不适合将要分派的这个活,不太能保证完成结果。当然,要注意说“自己为什么很烦”和“怎么分配目前的工作,我才能不那么烦”。不要对说这些感到羞耻,但也不要拿这个当作挡箭牌。尤其是,不能一直用这个理由——容易被开。
          • 其他不想做的原因:说明这一点。并和策划沟通看看如何才能解决这个问题,最好带上自己的思考与方法。
      3. 以上,本质上都是聚焦于问题:我希望所有人都要有这个素质。胡乱扯皮是一件很简单的事情,但这没有意义,因为问题还是在那。如果聚焦于问题,就算最后扯到“这个问题无法解决”或者其他非常困难的结论,起码我们也知道了问题在那,为什么出现这个问题,谁能为解决问题负责,能负责多少,尽力去做的话这事能做成什么样。这个结论出来了之后,即使事情失败了,起码自己和团队问心无愧。另外,扯皮的目的不是为了“让其他人担责”,而是“让该担责的人担责”(不是“让该被惩罚的人被惩罚”!千万注意这一点)。问题清楚了,来源清楚了,权责清楚了,那么事情就只是一个协调资源,或者无能为力的简单判断了。

      发布在 游戏设计
      GShion
      GShion
    • 【表格配置】与任务相关的活动配置逻辑

      很明显,这里的活动类型只有一种:“完成XXX任务”的活动。该类活动能够覆盖大多数需要的活动情况。

      1.一个活动对应一组任务

      易得需要的资料为id,活动显示所在位置,活动时间,活动类型,活动任务及任务奖励。

      其中,id、显示所在位置、活动时间、活动类型、引用的任务组和奖励组为一张表,命名为活动表。该表用作具体活动的配置。

      具体的任务为另外一张表。该表用于活动任务及奖励的配置。

      达到的目标是可以使用活动类型与任务目标和奖励的组合实现多种多样的任务。

      例如:3620c885-040a-40e9-b417-f5108afdc420-image.png

      2.一个活动对应多组任务

      和1的区别是一个类型对应多组页签。因此活动任务(及奖励)需要有页签的区分,需要增加对应数据。数据可以增加在活动表里,也可以增加在奖励表里,不过推荐放在活动表里。注意,这个地方的意思是【一个】活动有【多个】任务组,也就是任务id只有一个,但是任务组有两个。例如:ID1,名称开服基金,任务内容为[[开服基金:kfjj1,kfjj2,kfjj3,kfjj4],[全民福利:qmfl1,qmfl2,qmfl3,qmfl4]]。

      例如:

      d428d4a2-01d0-4480-9eb1-28f6b8ab0b55-image.png

      3.一个大活动,由多个单独的小活动组成,每个小活动对应一组任务

      那么现在的活动类就包括了大活动和小活动。很明显大活动是由小活动组成的,因此将它们配在同一张表里就有点逻辑混乱。因此需要新建一张表。

      不过大活动也是活动,同样属于活动类,因此也需要小活动所需要的字段,只是额外增加了“由哪些id的小活动组成”的新字段。

      其实这里的表现和上一个有点像,但区别是上一个的逻辑是(活动表)活动是一个id,这里是多个id。这个其实就是正常的多活动,本质上是1的复数形式,同时配了一堆活动,只不过显示在一个地方。

      例如:

      6b00d7d4-3686-48e9-9e40-f7287707692f-image.png

      4.一个大活动,由多个单独的小活动组成,每个小活动对应多组任务

      综合123即可得出结论。

      例如:

      6e3ce1ba-b7df-49aa-8edc-355890f93f61-image.png

      发布在 游戏设计
      GShion
      GShion
    • RE: 【游戏设计】一套完整的商业游戏包含的内容

      @Pamisu 感谢!国际化这个晓得,但是写的时候忘记了
      补充一点,采用国际化的时候就尽量少使用角标这类型的设计,因为很容易角标写不下

      发布在 游戏设计
      GShion
      GShion
    • RE: 最近好累,一直在加班

      现在在家一直没加班,哈哈哈

      发布在 综合讨论
      GShion
      GShion
    • RE: 早知道当策划这么苦逼,我就提桶跑路了!

      面的烹饪技巧:

      1. 宽面的话起码5分钟,细面的话起码3分钟,刚好到时间捞出来会有点硬,有点嚼劲,合适的时间是各多加一分钟。
      2. 水的量以煮完后倒出来就是一碗面的程度为宜,这个就需要多试。合适的水量更易于调味。
      3. 一般一勺盐就够。

      鸡汤的烹饪技巧:

      1. 鸡处理干净后一定要焯水。冷水下锅
      2. 焯水时间不定,一边焯水一边用铲子或汤勺按压鸡肉。出浮沫的时候撇掉浮沫,时间以看不出来继续出沫为标准。如果喜欢吃风味浓郁的一不继续出沫就可以出锅,喜欢吃淡一点的就再继续焯三分钟。
      3. 用清水揉搓洗净鸡肉,切/斩成小块。烧一锅开水,然后放入鸡肉和调料。炖煮约30分钟。
        4.40分钟后视情况调整水量和调料。如果味道没问题,可以直接出锅;如果加了水,那还要继续炖煮15分钟左右。

      鸡腿排的烹饪技巧:

      1. 鸡腿去骨,用刀背敲松肉质。
      2. 在肉厚的地方划刀,易于入味。
      3. 加入生粉、盐(视口味和喜好添加其他材料),略微在鸡皮上抹一点油,腌制大概20分钟。
      4. 锅烧热,鸡皮下锅,大火煎1分钟后改小火慢煎,煎大概4分钟后开大火,将两面煎至部分金黄(要不要继续煎出脆皮随个人口味)后出锅。
      5. 改刀切成长条,码在饭上或者盛盘。
      发布在 相关资讯
      GShion
      GShion
    • 【游戏设计】一套完整的商业游戏包含的内容

      主要是为了快速【从零】搭建一个大致能用的框架
      持续更新,需要查漏补缺


      通用后台

      基础功能

      • 是否通过后台配置活动

        • 如果通过后台配置所有活动,那么客户端就能少更新,活动通过服务端来发送。好处在于所有内容可以随时替换而无需更新/热更新,坏处在于如果使用单独的配制方法,一是不好维护(除非做一个专门的查看、配置活动工具,或者传入的配置本身就是明文,否则这只能在后台上配,难以对比,存在一定风险),二是需要做好SVN管理,否则的话容易掉配置。

          • 适合小游戏等更新不方便的情况。
        • 如果不通过后台配置活动,那么每更新一次活动配置,客户端就要做一次更新。好处是明文配置,好维护,坏处是仅更新活动时需要热更。不过一般而言,没有单独更新活动的需求。

          • 适合大部分情况。
      • 用什么样的方式防作弊

        • 不同情况有不同的处理方式,一般是使用后台计算,或是前后端联合验证防作弊。

      GM后台

      必备功能
      • 权限管理

        • 管理各个后台账号能访问、能操作的功能
        • 查看各个账号的操作行为记录
      • 服务器修改

        • 开新服、老服状态修改(新服、老服、满员、维护)
      • 玩家信息操作

        • 玩家渠道、UID、区服、昵称、注册时间

        • 玩家资源

          • 体力

            • 体力的获取及消耗记录
          • 货币、代币资源

            • 货币、代币资源来源以及变动记录
          • 角色装备等资源

            • 角色装备等资源来源以及变动记录
          • 相关次数资源

            • 各模块单独计数的资源以及变动记录
        • 玩家社交关系

          • 邮件

            • 邮件发件人、收取时间、附件、领取状态
          • 好友

            • 好友UID、昵称
          • 私聊记录

            • 对方UID、聊天记录
          • 所属公会

            • 所属公会ID、昵称
        • 玩家付费状况

          • 订单时间、订单号、购买商品ID、价格、内容、折扣、商户订单号(支付宝等)、支付状态
          • 玩家付费代币消耗记录
          • 累充、阶段累充
        • 玩家游戏进度

          • 玩家等级、经验
          • 新手引导步骤
          • 主线任务状况
          • 每日每周任务状况
          • 成就状况
      • 公会信息操作

        • 类似与玩家信息统计的设计
      • 运营功能

        • 礼包码

          • 注意事项

            • 出现礼包码的地方默认有复制按钮,以便记录
            • 如果没有复制按钮,那么如果使用字母则使用大写字母。避免出现lI这类情况。最好是全部用大写字母。
          • 功能

            • 兑换码的类型

              • 限时-同用户单类单次-多个兑换码

                • 限时:该兑换码有时间限制,过期后失效
                • 同用户单类单次:该类兑换码同用户只能使用一次。即使一个用户获取了多个兑换码,如开小号,拿朋友的兑换码,也无法重复激活该类兑换码。
                • 多个:生成一批兑换码。
                • 该类型一般做网页活动的时候发,或者开服的时候当开服奖励。
              • 限时-同用户单类多次-多个兑换码

                • 同用户单类多次:该类兑换码同用户可以使用多次。如果一个用户获取了多个兑换码,那么他们就能使用多个,直到使用上限(或者没有使用上限,比较少见)。
                • 比较少见,因为这类兑换码附带了交易属性,玩家是可以在游戏外交易兑换码的,所以一般不发这类兑换码,或者获取这类兑换码的方式就是官方购买
              • 不限时-同用户单类单次-单个兑换码

                • 不限时:有效时间无限。
                • 单个兑换码:只有一个兑换码
                • 该类型一般是开服的时候从市场里游戏页面一起放出的兑换码。所有人都使用同一个兑换码且只能使用一次。
              • 另外有的还有渠道礼包码,将限定条件添加上去就可以

            • 兑换码操作功能

              • 查看兑换记录

                • 用户在什么时间兑换了什么类型的、什么ID的兑换码,获得了什么奖励。
              • 重定义兑换码时间

                • 将无限期兑换码变为有限期,或是更改有效时间等。
              • 已有类型下新增/删除一批兑换码

                • 在已有类型下继续新增一批兑换码,以便追加奖励。
                • 在已有类型下删除一批未使用的兑换码。一般不使用这一功能。仅用作操作失误后补救的情况。
              • 删除某类型兑换码

                • 删除某类兑换码。一般用作销毁兑换码,也用作操作失误后补救的情况。
              • 更改某类型兑换码奖励内容

                • 更改兑换码激活后的奖励。一般不使用这一功能。仅用作操作失误后,还未发送兑换码时补救的情况。
                • 解决兑换码奖励发错且已流入用户的事故,可以从兑换记录清查并且重置对应奖励的情况入手。
        • 公告修改

          • 不同渠道不同公告
          • 公告类型(系统/活动/其他)
          • 默认显示的公告,公告排列顺序与默认排列顺序
          • 公告标题与内容(视情况可能要做富文本)
        • 邮件

          • 邮件发送时间、发送人、发送内容、附带奖励、自动删除时间

            • 邮件类型(系统邮件、新手邮件、普通邮件)
        • 信息监控

          • 聊天监控

            • 支持查找角色名、角色ID、关键字。便于筛选出广告
          • 邮件监控

        • 首次充值返利与充值返利重置

          • 所有玩家首次充值某个档位都会获得额外付费代币返利。可以手动重置所有玩家的充值返利状况。
        • 删档返利

          • 具体情况具体设计,大致就是参加了一测二测的玩家在下一次测试时获得额外付费代币返利
        • 回归活动与回归邮件

          • 具体情况具体设计,大致就是离线超过xx天的玩家在登录当天开启一连串的回归活动以及获得回归邮件。
          • 注意玩家半夜登录会导致当天没有时间完成活动的情况,因此建议首日不做要求,只要登录即可。
        • 玩家封禁

          • 封禁,解封(时间封禁)
          • 禁言,解禁(时间禁言)
          • 永久封禁(封账号,封设备,封IP等等)
        • 白名单

          • 账号、设备、IP白名单
        • 虚拟充值

          • 具体就是触发各种充值相关数据的充值,除了没充钱以外其他的东西都有。充值内容和档位一样。
      • 数据面板(全渠道/分渠道,全服/单服)

        • 每日新增用户数,对应渠道,对应服务器以及新增时间

        • 用户活跃

          • 活跃用户的定义

            • 常见的定义有:在APP内在线时长大于等于10分钟的、每日登录次数1次或1次以上的,等等。
            • 合适的定义依据应用环境的不同而不同,但活跃用户的核心是真正认为产品有价值的用户,其他的都是表象。
            • 同样,也可以依据活跃行为的程度,如累计在线时长等,给活跃用户分级。
            • 注意留存和活跃不一样,有可能存在用户始终不活跃但始终留存的情况。这时候这部分用户应当被划为流失风险用户。
        • 用户留存

          • 新增用户留存

            • 新增用户到第N天是否还在登录
            • N日留存率计算方法为:在第一日注册,第N日存在登录的用户数/第一日注册的用户数。注意不是当日登录数/注册总数。
            • 假如数据是3日和7日留存,而某玩家登录时间为首日次日和七日,那么该玩家不计入3日留存,但计入7日留存。
          • 付费用户留存

            • 付费用户N日留存率计算方法为:第一日付费用户到第N日时还存在登录的用户数/第一日付费的用户总数
          • 未付费用户留存

          • 流失风险用户

            • 即存在登录,但是没有达到活跃用户标准的用户。
            • 可以对流失风险用户单独进行分析。
        • 用户付费

          • 用户付费率

            • 一般来说,N日用户付费率计算方法为:在某个服务器的第N日时,付费用户总数/所有用户总数。
            • 假如数据是7日付费,那么第六日注册的玩家在第七日付费了,也会计入7日付费。
            • 另外用户付费率有时候也指活跃用户付费率。即:在某个服务器的第N日时,活跃付费用户总数/活跃用户总数。在游戏行业一般将两个分开看待。
          • 用户付费构成

            • 新增付费用户
            • 老付费用户
            • 付费栏位比例
          • ARPU(阶段内平均每用户收入)

            • N日ARPU的计算方法为:在某个服务器的第N日时,所有用户收入/用户总数。
            • 用来衡量玩家平均付费欲望。
            • 如果起始阶段不是首日的话,一般会采用AU(活跃用户)而非所有用户来计算。
          • ARPPU(阶段内平均每付费用户收入)

            • N日ARPPU的计算方法为:在某个服务器的第N日时,所有用户收入/付费用户总数。
            • 用来衡量付费玩家的付费欲望。
            • 如果起始阶段不是首日的话,一般会采用AU(活跃用户)而非所有用户来计算。
          • ROI(投资回报率)

            • 投资回报率的计算方法为:总收益/总支出
            • 总支出可以使用用户单价×用户数计算
            • 总收益可以直接统计,也可以使用LTV、ARPU或者ARPPU计算
          • LTV(用户平均生命周期价值)

            • 也就是用户平均从注册到流失的的时间内所产生的价值。
            • 阶段内LTV计算时按所有用户生命周期只到这个阶段为止来计算。
            • N日LTV的计算方法为:从首日到第N日为止,累计收益/用户总数
            • 如果都从首日开始计算,N日LTV等于N日ARPU。
        • 用户消耗

          • 用户钻石消耗

            • 核心的观察点,用户把钻石都花到哪里去了,根据这个做后续的付费设计。
          • 其他资源消耗

            • 基本上是观察用户的养成选择消耗。
        • 玩家分析

          • 玩家等级分布

          • 停留关卡分布

          • 停留新手引导分布

          • 充值途径统计

            • 包括直充和礼包
        • 活动排期

          • 单服整体排期

            • 也就是从开服开始到后面的所有活动排期。
          • 单服阶段活动内容

            • 最好可以便利地查看从第X天开始到第Y天这期间的所有活动排期,以便于数据分析。

      通用设计规则

      • UI设计规则

        • 标准弹窗框体、标准按钮大小、各种功能的按钮标准形状与颜色
        • 独立Icon大小、以及是否有Icon底图、文字底图
        • 不要出现半透明叠底下有前面的按钮盖住了后面的按钮的情况
        • 如果两个页面的按钮操作逻辑与位置相似,那么尽量把按钮放置在相同的位置上
      • 文字描述规则

        • 适用于不同状况的标准字体,字号(标题、一般正文、按钮、Icon文字等)
        • 适用于不同功能,不同说明类型的文字格式(强调/区分)
        • 通用,可复用格式的信息格式、字色字号(如当前值/最大值,红/绿=>绿/绿)
        • 图标+文字/数目的说明形式是否统一

      通用系统

      • 多面板跳转规则

        • 有没有类似打开页面为A-B-C-A的循环嵌套设计。
        • 如果存在循环嵌套,返回和不停嵌套的表现是什么样的。
        • 注意信息的刷新,常见的是A-B-C-A,一顿操作后返回C,此时A的操作结果应该在C的信息面板上反映出来。
      • 同时开启多个弹窗规则

        • 连续开启弹窗时,如何处理可能出现过多弹窗的问题(非默认弹脸,而是弹窗跳转)
        • 可以定义最多3弹窗,如果继续开启弹窗则先关闭最后一个弹窗,再打开新的弹窗。注意该行为需要测试,避免频繁操作的功能要反复开启关闭。
      • 红点规则

        • 红点由前端控制还是后端控制,消了红点后换设备了,红点还在不在
        • 红点的出现、消除、穿透规则,不要复杂。
        • 红点的刷新规则。
      • 通用获得道具展示规则

        • 主要是每类单独列出,并且默认做成可复用的形式。

      通用中台功能

      • 进入游戏之前的功能

        • 公告
        • 服务器组、选服、合服
        • 上次登录、服务器里的玩家信息记录
        • 渠道SDK
        • 登录、登录页定制、登录加载页
      • 报错、修复

        • 修复功能
        • 运行时Debug面板
        • 玩家报错日志自动上传到服务器
        • 内存分析工具
      • 更新

        • 热更、强更、停服维护
        • CDN工具、刷CDN流程、FTP工具
        • 停服更新流程,踢下线热更流程
      • 开发

        • 自动打包工具,Jenkins
        • 开发服、体验服、正式服
      • 运行体验

        • 低中高配的定义
        • UI加载、响应速度,以及相应合格标准
        • 加载策略,加载速度,加载页面与进度条
        • 预下载/预加载,预下载常见于小游戏刚进新手引导时下载后面要用的资源
        • 切后台再切回后的体验
        • 断线重连
        • 弱网重连,弱网提示,弱网bug(一次性发一堆消息或执行了一堆操作)
      • 兼容性

        • TopN机型测试
        • 常见模拟器测试
        • 电脑端小游戏测试
      • 数据后台,GM后台

      运营公告模板

      • 版本更新公告
      • 服务器维护公告
      • 开服合服公告
      发布在 游戏设计
      GShion
      GShion
    • RE: 自制的使用Excel的文件批处理小工具

      excel文件操作工具v1.2.zip

      更新了一点,重写了帮助文档

      发布在 资源仓库
      GShion
      GShion
    • 【想法】请给我最好的装备-基础设计文档
      • 卖点,亮点,不同点

        • 好玩的地方,和别人不同的地方,相比于其他游戏让人眼前一亮的地方

          • 将挂机和开宝箱结合起来,显得有趣一些
          • 需要让开宝箱给人单抽或者十连的感觉
          • 类似于咸鱼之王的放置系统,但主打开宝箱,然后挂机战斗给人一种暗黑2刷随机装备,然后搭配随机装备的感觉
      • 目标用户,目标用户需求,变现方式,商业化基础逻辑

        • 游戏想要谁玩,他们为什么确实想玩,通过什么赚钱,赚钱链路是什么

          • 大范围目标用户是没多长时间或者精力玩重度游戏,简单的挂机收菜就可以玩的玩家。

          • 精确范围目标用户是喜欢抽卡这一套东西的用户与随机装备刷刷刷的用户。可以算是开宝箱+挂机刷暗黑破坏神刷随机装备的结合。可以玩词条搭配,但不能太麻烦。

          • 主要是通过时间赚钱,加速各种需要挂机的时间。将普遍性的其他游戏付费充值转换成看广告,有点类似于另一种挂机。但不清楚同用户不停看广告究竟有没有收益。

            • 纯广告很有可能做不来,不要有多大期望挣钱。可以在采用国内试试然后上谷歌的方案?不过还是项目能成数据够好再说。
          • 赚钱链路:0.商业化活动,纯广告版本没有也估计不准备做,这个先不考虑;1.加速时间,这个是最主要的;2.背包格子,这个是硬性需求;3.VIP以及VIP相关福利(看广告奖励VIP经验)

      • 核心玩法策划案

        • 可玩性最大的是什么东西?怎么玩?相关内容有什么?有什么挑战?什么地方有成就感?

          • 可玩性最大的是开宝箱,宝箱养成和装备养成。

            • 整个流程(可以考虑做的像暗黑2刷的感觉)

              • 实际上做的是付费设计,但是将对应付费改成了看广告(设计思路是看广告=充值)
              • 玩家等级和开箱出来的装备等级分开
              • 玩家抽卡获得装备,使用该装备打副本,直到打不过去
              • 玩家与怪物1v1战斗,打副本挂机收获材料与提升等级,并且掉落钻石
              • 玩家使用获得的钻石开箱子,获得更稀有的装备
              • 玩家用到最稀有的装备也打不过,就把抽出来多余的装备分解,分解得到一部分材料用来提升箱子等级,另一部分用来提升武器强化等级。注意到开出来的装备等级不会变,因此会造成高稀有低等级装备没有低稀有高等级装备厉害的情况,存在装备迭代过程。
              • 同类同稀有度装备可以用来升星,增加武器强化等级每级的加成数值。要求是同类同稀有度,所有装备的累计等级达标,这要求了抽卡概率以及能抽到的最好装备,玩家可以用每日任务和VIP每日获取的付费钻石来升级箱子概率。
              • 等级足够高后开启副本,分为技能(掉技能原料)、职业(掉职业原料)、材料(掉宝箱概率强化道具)。这三个本有每日次数,0点刷新(所有活动之类的全部0点)。玩家使用对应的材料挂机获得对应道具或加成。技能有两个主动技能,按12的顺序触发,存在CD计算。职业算被动技能,比如重甲加成之类的。
              • 等级继续提升会开启领地,基本是本地挂机+偷菜玩法,产出药水食物的原材料,以及合成首饰的材料,但别人可以偷菜。在这一部分主要是投重要道具,但是重要会被偷走之类的来负社交。首饰投百分比属性,成长线也是和装备一样的搞法。
              • 开启领地的时候开启公会。获得额外的任务,公会副本与公会援助等。公会援助可以加快收菜速度或者保卫不被偷菜,正社交。
              • 主要玩法大概就是以上内容。打到不想打的时候可以转生。转生之后新增天赋点,可以买技能树,提供全局加成。转生之后开启领地的港口功能,就是派商队出去执行一个随机任务之类的。
              • 转生也打到不想打之后可以超越,此时将所有数据重置,但增加所有装备默认稀有度一个阶级。
            • 打不过怪物,需要养成的时候有挑战,一方面是抵消自己的急迫感,另一方面是挑战装备与技能搭配。

            • 抽到好卡、收菜之后提高自己、搭配好装备后砍瓜切菜或者突破打不过的关卡会有成就感。

      • 核心游玩循环,单局游戏时长,每日游玩最小、标准、最大时长策划案

        • 每天在里面干嘛?一局游戏多快?什么时候算今天打完了?最快刷完,粗略刷完和按照最大价值刷完分别要多长时间?极限刷游戏呢?

          • 暂定,不过每小时挂机送当前等级10抽应该比较合理。最大挂机24小时,可以抽240下。每日任务可以送抽卡券160下,每日24小时共400下。

            • 得解决垃圾装备不停抽是否收益更大的问题,不能出现这种情况。
          • 每次上线收菜之类的如果按照最快速度应该在15分钟以内,每日单纯完成任务应该不会超过30分钟,所有任务完成和领地都已经开始挂机且本日不能继续挂机就完成了。

          • 但玩家可以在里面研究配装以及洗装备之类的事情,可以多玩玩

        • 需要考虑每人每日可支配时间,一般最快刷完日消耗30分钟算是有点肝的

      • 随着时间的大致体验策划案

        • 首日次日三日七日十四日三十日的体验与成长如何?分别都在玩什么?推进度到什么程度?

          • 后续接着写,期望是每七日到转生卡点转生一次,后续逐渐延长。这意味着首日可以开技能,次日就要开副本,次日三日就要开领地和公会。
          • 可以定义每次转生或超越后能额外推的关
      • 相应成长线与数据投放规划策划案

        • 游玩过程中有什么东西是成长性的?成长速度如何?

          • 所有和装备相关的养成,其中玩家等级最快,装备等级次之,装备概率最慢。
        • 和随着时间的大致体验相关

          • 期望是三日结束时所有功能都要开启,能够组一套成型装备(强度随意)
      • 难度曲线以及数据验证方案

        • 核心游玩过程中挑战的难度以及自身的技巧与数值成长通过难度的验证方案

          • 待定
      • 付费方向与付费价值确定

        • 游戏内道具和时间怎么定价?怎么赚钱?购买力如何

          • 待定
      发布在 游戏设计
      GShion
      GShion
    • 【程序知识】行为树相关知识

      定义说明

      行为树是使用树状结构来描述一个物体在各种情况下执行什么行为的行为列表。例如,周末傍晚固定去某家店吃饭,就可以构成一个行为树。

      行为树有水平结构与垂直结构,不过本质上没有差别,只是阅读习惯上的差异(从左到右,或是从上到下)。

      行为树从根节点开始,依据从上到下,从左到右的顺序执行行为。

      行为树每逻辑帧执行一次。每次执行时,继续从上一次正在执行的行为开始,按顺序执行下一个行为,直到所有行为均执行完毕。

      按照实现的方式不同,行为树可能存在循环执行的情况(如果行为树完成了最后一个行为,那么重新从根节点开始执行)

      节点状态

      行为树的节点存在各种状态的区分。包括:

      • 成功Success

        代表节点包含的所有内容执行成功的状态。

      • 失败Failure

        代表节点存在任意内容执行失败的状态。

      • 运行Running

        代表节点正处于执行行为的过程中,尚未得出成功或失败的结论的状态。

      节点类型

      • 根节点root

        最基础的节点,本身无实际意义,所有行为的出发点。可有多个子节点。

      • 复合节点composite

        依照特定的规律,控制多个子节点执行方式的节点。可有多个子节点。

        常见复合节点包括:

        • 顺序节点sequence

          从左到右依次执行其子节点。如果有任意节点返回失败,那么认为该复合节点失败,只有所有节点全部成功时才认为该复合节点成功。

        • 选择节点selector

          从左到右依次执行其子节点。如果有任意节点返回失败,那么继续执行下一个子节点,任何一个节点全部成功时就认为该复合节点成功。

        • 并行节点parallel

          同时执行所有子节点。如果有任意节点返回失败,那么停止执行所有子节点并返回失败,只有所有全部成功时才认为该复合节点成功。

      • 动作节点action

        执行动作的最小单元,不会有任何子节点。由于该特点,动作节点也叫叶节点。

      • 条件节点condition

        仅判断条件,不执行实际动作的节点。同样不会有任何子节点。

      • 装饰节点decorator

        修饰其他节点的行为或结果的节点,只能有且只有一个子节点。

      发布在 游戏设计
      GShion
      GShion
    • 1
    • 2
    • 3
    • 1 / 3