感觉有点过坏了,立帖为证提升自己
- 银河城
- 88Plane
- 文字练习
- 美术练习
- 程序练习
每周结束至少做一个,并且有点成果
同比放大移动速度除了可以用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];
}
}
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);
}
}
[CustomEditor(typeof(MyWaveController))]
public class thisEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector();
if (GUILayout.Button("按钮名称"))
{
//把要执行的内容写在这里
}
}
}
什么是二次元?只要幻想就是二次元?绘画和美术才是二次元?还是必须使用动漫表达技法创作出的内容才是二次元?当我们谈论“二次元”的时候,我们到底在谈论什么?
(中略)
在思考了很久之后,我认为二次元固然有表现上的特征要素,如漫画风、幻想风等存在,但更能体现二次元核心的内容其实存在于更深层,存在于幻想与现实的边界。
我认为,二次元的核心是通过幻想获得超越自身的体验(有时候将自身代入,幻想这个世界确实存在以拒绝现实)
在这里解释一下拒绝现实。与仅获得超越自身的体验不同,拒绝现实需要额外的条件,分别是【希望】某个特定的虚幻的世界存在、【认同】某些特定的角色存在于上述世界,【认同】上述角色有着人格存在并且能与世界发生互动,并【幻想】自身也扮演着某个角色,和上述认同存在的角色们发生互动,或是仅仅观察上述角色自身的互动。前三条是基本判定是否为拒绝现实,最后一条是如何拒绝现实(幻想虚幻的世界存在,或是幻想自己于虚幻的世界存在)
拒绝现实并不含褒贬意味,譬如绝大多数幻想创作时都必须要拒绝现实。唯有“明知这么做会导致坏的结果,且意志尚能克服坏选择,仍然选择了坏选择”的情况下才会含有贬义,也就是一般意义的“逃避现实”。更准确的说,上述“拒绝现实”应该表述为”将自己推离现实以进入想要进入的幻想世界”。
如果是“仅获得超越自身的体验而不拒绝现实”,那么实际上此人并不属于一般意义上的“二次元”。对他们来说看“二次元”相关内容和周末大家约好一起去看电影没有区别,看完了,为情节与人物回味一段时间,互相锐评两句吹吹比,然后继续该干啥干啥,享受生活。幻想行为被作为他们现实生活的调味品,而非临时逃离现实生活的途径。和一些人天生喜欢吃辣一样、这些人喜欢二次元,只是因为部分二次元的内容正好戳中他的爱好而已。毕竟电影很难拍各种五花八门的幻想情节,比如机器人天天到处乱飞打架的故事,但二次元可以。
这也是很多人明明表现出来就是个纯粹的二次元,看番一堆手办一堆海报一堆,但其他人一旦了解这个人的主要生活之后都会说他是个现充的原因。
但是,如果存在主动的“拒绝现实”,也就是此人真的是一个“二次元”……那么在完全念头通达前,他都会持续地被痛苦所困扰。这份痛苦分为几个阶段。
第零阶段是进入幻想并面对美好事物后,认为自身不配与之并列,产生的自惭形秽的痛苦。你进入幻想世界,以主角的身份和各式各样的角色发生交集,体会她们的故事。那么你在对幻想世界产生归属感,并且开始喜欢上这些美好角色的同时,必然存在的退出幻想的流程则会像一根刺一样,提醒你自己并不属于幻想世界。这时候就会产生一个问题:现实的你假如到了幻想世界,真的能成为那个被那些耀眼角色共同喜欢的主角吗?幻想世界的主角(你)具有这样那样的能力与性格,但现实的你则完全比不上(至少是自认比不上)。在纠结于自身的现实身份和幻想身份的情况下,你会被自惭形秽,或是自我厌恶的痛苦所困扰。(当然,如果具有比较强烈的自我则不会……而是会成为中二病)
实际上,很多人根本不会进入第零阶段,因为这纯度实在太高了。他们是真的很认真地在考虑自己配不配的问题,即使他们自己都有时候觉得有这样想法的自己实在是太蠢了。但,这一阶段的人非常有趣,也是非常可怕的一点,正是在这种纠结中体现的。
会考虑这种问题的人,不管他们嘴上怎么否认,潜意识仍然将幻想的角色当成和他等同的人——“那里一定有一个世界,生活着这样一群角色。她们有自己的喜好,自己的性格,自己的故事。在这个世界里,她们和我一样,都是确实地活着的人。”
……即使,这份人格是他自己赋予的。
这一阶段的读者拒绝现实的程度不低。他们会把幻想中的角色当成真实的角色一样对待,因此,他们也会受到很多人的不理解,也会说出一些看起来很逆天的发言(比如认真的说你这样对得起XXX吗,或者认真的说我干了XXX事情,对不起XXX了,没脸见她们了)。他们看故事的时候很容易情绪波动大,因为角色的故事对别人来说是故事,对他们来说则带有部分移情的感同身受。他们经常会体会到【他们自认为的】角色的快乐与痛苦,并在现实与幻想的对比中迷茫不定。
第一阶段是因明悟了幻想世界的虚幻属性,而产生的与现实割裂的痛苦。在反复穿过现实与幻想的边界后,你会意识到幻想终究不是现实,你所爱的角色不会是真实的具有人格的人,她们只存在于幻想世界里。但即便如此,你会仍然希望他们能在幻想世界里永远活着,能够在幻想世界中一直陪伴着你。
但是,做不到。
角色的鲜活仅仅停留在故事之中,停留在纸面或者动画未结束之前。当你结束阅读的时候,关于这个角色的一切就都结束了。她们不会再多说一句话,多做任何一件事,对你的任何行为作出反应。你只能重头再来一遍,在故事里,按照设定的剧本,用固定的反应,和她们做出这样那样的互动,和角色们再表演一场盛大的傀儡剧。而当故事走到尽头的那一刻,这些角色就被禁锢在了永恒静止的时间之中。像穿越千年,光鲜亮丽却毫无生气的琥珀一样,美丽又永恒……但那不是你想要的。
自然,处于这一阶段的你会费尽心力,有意识或无意识地尝试延续这些角色的鲜活,于是你会去找设定集、找二创,让角色继续“活”下去;或者紧紧握住创作还未完结,角色的故事还可能继续的希望,一直等着、等着。但,不管怎样,最终还是要面对幻想只能是幻想的无情现实。
所有被认可的幻想世界完全被禁锢在有限的对它的描述上,只有自己的想象才能将其无限,但任何一个将你推出幻想世界的行为都会提醒你这只是你的想象。你终将明悟和你和角色们实际上的联系,并没有你自己想象得那么紧密。即使再怎么爱角色,能抓住的也不过是空中垂下的蛛丝而已。
这一阶段的读者虽然承认幻境仅仅是幻境,但他们无法割舍幻境给他们带来的美好……也因此常常感受痛苦。
第二阶段是了解了创作过程后,无法继续对角色产生纯粹的喜爱,无法接受光鲜亮丽的角色背后的黑暗而产生的痛苦。
当你因为难度甚至运气被反复无意义拷打的时候,你很难将为你作战的角色和对游戏本身的怒气区分开。脾气上来的时候,你很容易骂一句“你TM怎么这么脆啊?”或者“你这时候给我不暴击?”。这种行为在PVP里面更为常见,尤其是你和对手采用了极其相似的阵容但你仍然输了的时候。
你很快就会发现你的怒气似乎发错了地方。于是你去论坛发帖,猛烈喷了一顿设计师,转头却又说自己的角色还是很可爱的。
但仔细想想就会发现这种言论有点奇怪。你喜欢角色,于是设计师创造的好的一面被你拿走,角色变成了只属于你的角色。你讨厌游戏体验,因此设计师就是混蛋,即使这些你喜爱的角色都是他创造的。可是,创造你喜爱的和你讨厌的东西的人,难道不是一个人吗?最少最少,难道不是同一个公司吗?
即使上述情况可以用好活烂活分开看来解释,但另一种情况,也就是同一个人创作出的同一个角色,在故事的前后期几乎是两个人:前期人人爱,后期突然就变成了个混蛋。大多数人只会觉得这作者写爆了,是能力不行。但,另一些人就会发表评论,将故事后期的角色切割走,只留下前期的角色。在她们还很可爱的时候,这些角色是我的。在她们“因为作者”变混蛋的时候,这些角色……仍然不属于作者,只是作者故意搞鬼而已。
他们为何会如此地执着于将角色的最终解释权握在自己手里这件事呢?为什么一定要将幻想和现实区分得如此泾渭分明呢?
当你真正思考创作的时候,立刻就会发现隐藏在你爱、或是爱你的角色的真相。角色存在的本意就是达成作者的目的(为了讨读者喜欢,为了挣钱等),属于“刻意营造的幻想商品”。角色本身并不纯粹。作者为了让你喜爱,为了让你讨论,为了让你阅读,为了让你掏钱。于是,角色必然要讨你喜欢,且只能讨你喜欢。
不讨喜的设定,不好看的设计,在一开始就会被废弃掉。即使角色终于能在故事里出现了,创造者们也会根据风向调整各个角色的出场机会。如果一个角色不被大多数人关注,那么很明显,调高他的出场机会后获得的收益是明显比不过人气角色的。所以,在游戏里,这些角色仍然有延续故事的可能,但我们都知道,在商业上,这些角色已经被判死刑了。
那为爱发电又如何呢?不好意思,这里才是切割角色的重灾区。为爱发电越纯粹,越意味着一意孤行,越容易整出大多数人不喜欢的活。只要故事还在被创作,你就逃不掉这个命运。
这一阶段的读者开始知道“自己喜爱的角色”完全是为了“让你喜爱”而创造出来的产品,你喜欢的事物完全不像你想象的那么纯粹。在她们诞生的那一刻起,便带有最重要的任务:好好在故事里表演,向你展现出最吸引人的特质,让读者尽量喜欢上她们,然后狠狠爆他们的金币。
在第三阶段中,读者走向了创作者,想要创作关于自己所爱的角色的,只属于自己的故事。不管别人怎么想,我创作的角色对我来说最为纯粹。你会借此离开原作创造出的功利角色的深渊,但随着创作的深入,却反而会慢慢滑向另一个深渊——虚无。
刚开始创作的时候很美妙。你会反复观看已有故事,回忆自己与角色相遇时候的感觉,想象着与角色互动时的样子,并在甜蜜的感情驱动下将只属于自己的角色故事写下,期望者更多人看。
如果没人看还好。如果不能坚持创作,那么也就到不了第三阶段了。在第二阶段,随着时间推移,很多人会掌握“无视”的技巧,以便让自己能纯粹地享受故事,享受和自己所爱的角色在一起的时光。但如果创作受到了欢迎,你也被鼓励,决定不停创作下去的话,那么有一个困难是必须要克服的:你的素材不是无限的,你很快就会感觉没东西可写了。
于是你开始找灵感,看资料,记笔记。看的资料越来越多,笔记越来越长,创作得越来越得心应手。你了解你所爱的角色的萌点,知道什么样的性格最适合,也知道用什么样的情节最能凸显角色。你继续写,继续写,却发现你看的资料记的笔记已经和你的角色完全重合了。你惊觉不对,抬起头,结果看到市面上早就已经被类似的东西所塞满。放一个记忆点,加一个萌点,再配一个能强化上述两点的性格,好了原创角色完成。黑长直,金马尾,眼镜娘,搞笑役,不管是什么只要能让人记住就行。你开始觉得好像其他角色和你爱的角色也没什么不同,除了名字和所在的世界背景也不一样,她们的性格,记忆点,甚至于情节,都是大差不差的。你发现工业流水线上的产物或是功力不够的你自己的产物,全部都是这种复制人一样的东西。只要这么做,就会有人看,只要这么做,就会有人喜欢,只要这么做,就能爆人家的米,引来更多的关注。角色对于你不再是纯粹的角色,而成为了你手中的工具。你技巧运用得越是熟练,你的创作目的性就越明确。
然后,你会发现你已经无法纯粹地欣赏一个角色了。你不可避免地带着有色眼镜去看角色。你发现不管大家怎么创作,好看的故事大多数必然有其定式,不按套路来的故事没几个好看的。你想逃开形式的桎梏,想逃开这一切,但你逃不开。你用你的技巧创作的故事受到了一致差评,大家都觉得你的故事落了窠臼。你随手发的癫却被一群人疯狂叫好,交口称赞,而现在的你根本不知道为什么。你觉得故事不是你的,角色不是你的,什么都不是你的。你想要什么就有什么,但你仍然觉得虚无,因为你同时失去了一切。
第四阶段的你则会更加现实。在明白了工业快餐产出的东西是如此惊人的一致后,你会对原来疯狂喜欢的东西快速失去兴趣,只是会偶尔翻一下,惊讶于我以前为啥居然会喜欢这种玩意。你逐渐对幻想失去兴趣,想要转向于现实,却发现你原本羡慕的,那些看起来非常活跃的交际花们,甚至比你更虚无。你至少知道有趣背后隐藏着的,令人不快的逻辑,而他们只是单纯的消耗着他们自己的生活。你发现他们对任何东西没有一个评价标准,甚至没有一个固定的价值观。抛开事实不谈,喜欢的东西就要全力夸赞,讨厌的东西就是要全力打倒。他们过着嘈杂而无趣的生活,自己却乐在其中。
有时候你也会羡慕他们,但冷静下来又会觉得这样的自己很蠢,很丢脸。你又回去看了之前你喜欢的角色们,发现这些角色至少比那些把无聊当作有趣来炫耀的人好得多。你开始又能欣赏一点以前喜欢的角色,但你始终逃不开一个问题:你无法抛开一切,像最开始一样纯粹地喜欢她们了。她们仍然是那么地令人喜爱,丝毫没变,但你变了。你继续玩之前喜欢的游戏,继续写之前常写的文,但这些东西对你来说更像一种习惯。你要这样做只是因为你觉得你也许应该这样做,或是如果你不这样做,也没别的什么好做了。
你终于意识到你的空虚不是因为幻想破灭的空虚,而是生活和情感上的空虚。你渴求不一样的生活但你做不到。你的生活一无所有。你过去的日子已经过去了不值一提。你现在的生活一成不变没有人关注。你也不知道你的未来会是什么样。你有过梦想,但现在已经基本放弃了,只是偶尔突然想到,感叹一下“我也有过这样的想法呀”然后把它们按下。
你发现不是你选择了二次元而是二次元选择了你。从一开始就只有这一个命运。
你变得不爱表达自己,即使你什么都知道。你知道你喜欢故事里的妹妹围着你转是因为你缺少关爱。你知道每次看完震撼人心的故事之后怅然若失的感觉是因为你生活的空虚。你开始附和一些烂梗,在无聊里找乐子。你逐渐能和人打成一片,但更多时候你则是什么也不干,什么也不想。你又开始羡慕之前的那些人,即使他们很蠢,他们的快乐好像也没有作假。他们不是痛苦的苏格拉底而是快乐的猪——你想着,但你连快乐的猪都做不了,你是想做快乐的猪而不得的猪,更加扯淡。
最后,你开始接纳和这种空虚。你发现只要能好好欺骗自己,生活总还是能过得下去的罢。你逐渐开始故意忽略掉背后的一切,只为了能重新享受故事本身。你避免去参与任何过于认真的讨论,而号召别人像你一样专心得享受故事,享受幻想世界里和那些你爱着,也爱着你的角色经历的一切。你看严肃二创,也看发癫,你都觉得很乐呵。你认为对故事性还是乐趣性的争论完全没必要。你能理解很多东西,很多人,但你只希望能安静地享受一切,即使这种享受并不纯粹。
你觉得你老了。
在第四阶段之后是什么这点暂且先按下不表,是不是觉得上面几种人非常有二次元的“味儿”?这也是我认为二次元的核心在于拒绝现实的原因。其实第四阶段基本就是那种一团和气的老二次元了,他们不喜欢看的坚决不看一点,喜欢看的也不会多么激动地讨论。好像对一切都不是特别在乎,但有时的意见又好像看得很清楚。
写到这里,突然觉得一首诗很应景,暂且附上:
少年听雨歌楼上,红烛昏罗帐。
壮年听雨客舟中,江阔云低,断雁叫西风。
而今听雨僧庐下,鬓已星星也。
悲欢离合总无情,一任阶前,点滴到天明。
那么,第四阶段之后呢?
“世界上只有一种真正的英雄主义,那就是在认识生活的真相后依然热爱生活。”
你觉得之后会是什么?
你所想所做所爱的一切真的没有意义吗?
正因为有虚无,所以存在才有意义。如果抛开存在,那么虚无就是完全。
你想逃避的生活可能没有你想的那么毫无作用。正因为它以这样的方式存在,因此你才能领略到常人无法获得的风景,获得独属于你的故事。
不管对象是谁,是什么,甚至是不是存在,爱本身就是最大的意义。
我知道这些角色不存在,也知道她们是为了爆别人的米而创造出来的,还知道她们非常工业化,凹人设凹标签凹这个那个的。但那又怎样?
我喜欢这样的角色。换个名字我喜欢,换个背景我还是喜欢,怎么着吧?
你要是只想说这堆屁话就赶紧滚边去算了。你的目的到底是为了揭露现实还是为了你那点可怜的优越感啊?
老子喜欢——关你屁事?
后记
起因是看到邮箱贴吧有8u发了个癫……就是纯度非常高的那种,有点现实和幻想区分不清,大致就是“真的爱上了一个不存在的人该怎么办”。我第一反应是“这也太二次元了吧……”,但后来一想,我为什么会觉得这非常二次元?我认为的二次元到底什么?于是就有了上文。
你看,真要认真思考的话这份爱非常奇怪,因为任何不存在的角色只有侧写。你可能知道她是个傲娇,性子别扭,责任感强,会帮你处理工作,有时还会训你……你看,这全部是角色的侧面。你所认知的角色本质就是这些侧面的集合体,证据就是以上内容我其实说的是黑猫,哈哈。
你知道如果你偷懒的话就会被说,连被说什么话你都能一字不差地复述出来。你当然知道,因为剧情就是这样的。但如果你对她说今晚我们一起去吃超辣火鸡面吧,她会怎么回应你能知道吗?你不知道,因为剧情没有写。你确实可以一遍遍的看剧情来让角色活过来,但在角色的各个侧面之间的缝隙里仍然是什么都没有。
所以你爱上的只是戳一下按固定流程复读一句台词的洋娃娃吗?你自然可以脑补出一百个符合设定的回应,但在这一刻,这个角色成为了你的一部分:你希望她这么回应,于是她就会这么回应。这个侧面的她完全由你的心意而动。她是她,她也是你。
你爱上的是你的幻想……这其中并没有第二人能插足之处。你其实爱上的是另一个自己,是你喜欢的另一个自己,是你想成为但没能成为的自己,是平行世界穿越而来的,有着你喜欢的样子,想要像你所期望地那样,温柔安抚你的自己。
你用你的幻想来逃避现实。在另一个世界,你成为了完全。你可以成为任何你想成为的人,拥有任何你想拥有的感情。
你用这种方式和自己对话。你用这种方式治愈你。
这大概也是很多人不喜欢二次元的原因,因为看起来真的很傻……
不过我要说的是,逃避既不可耻而且还很有用。毕竟站着说话不腰疼的人没办法帮你承担任何东西。人家是嘴爽了,你自己回头一看处理自己生活的还是只有你自己。
我的意思不是只要逃避就好。单纯的逃避是一条死路,因为你毕竟没有活在幻想里面也没办法活。逃避是手段不是目的。
你过的是你自己的人生。你想做什么就可以做。你可以把角色当故事,可以把角色当作人,可以把角色当你自己。只有你才能为你自己的人生负全责。一件事让你感到不快,你就可以不做。让你开心,你就可以做。权衡情感与得失之后,选择你认为能做到的最好的方法去做就可以了。至于其他人,关他们屁事。
“He who has a ‘why’ to live for can bear almost any ‘how’。”
没有人是为了逃脱痛苦而活下去的。大家都是为了生活中各种各样美好事物而活下去的。
你爱角色,你需要角色,你把角色当成人即使你知道她们不是,你对角色的感情让你感受到被爱——这就已经很好了。如果这是你生活中的色彩,那就不要让别人夺走它。
……写的好长,完全成论文了都。干脆直接用大刘的一段话作为结尾好了——
“但是我喜欢上了一个不存在的人,她只是我虚构出来的,这难道不是一种病态?”
“不,不是,其实你很幸运,不管她是不是真实存在,能爱就很幸运了。”
做蛋炒饭的时候最好准备两个蛋,先打一个蛋做炒蛋,要炒得一块一块的,捞出待用。
然后做炒饭,记得和炒蛋一样,炒饭也是要多放油的。然后要多炒一会儿,把水汽蒸出来,让口感不粘,并且让饭粒不容易粘在一起。
再打一个蛋搅散,均匀地浇在炒饭上,趁没有凝固前快速翻搅均匀。这一步是为了上金黄色,并且让饭粒口感更弹。
饭粒表面的蛋液熟了后,加入之前的炒蛋,加盐调味,出锅。
这样做出来的炒饭又好看又好吃,还能吃到大块的蛋。
如果仅用炒好的蛋和饭一起炒,那么饭不会是金黄色。如果仅用蛋液炒,那么饭里只有蛋花,没有一块块的蛋。
游戏策划是设计游戏的人,所以并不是“喜欢玩游戏”就适合成为游戏策划的。只有喜欢玩游戏,喜欢思考游戏为什么要这么做,同时还抱有想要创作游戏给其他人玩的心态的人才适合做游戏策划。
游戏策划关注点相对于玩游戏本身,更在于游戏设计得好不好,也就是“要达成什么目的”,“采用什么方法”,“这些方法有什么优缺点”。即使一个策划干的都是非常事务性的工作,也不能放弃对设计的思考。不管是什么策划,都一定要清楚自己在做什么以及为什么这么做。
严格来说,这些基本素质并不是判断一个人是否算是一个好策划的条件——而是判断一个人能不能够做策划的条件。只要算得上是一个策划,那么必然不能缺少以下素质中的任何一个。
职业素养
自从决定从事这个职业开始,你对自己的定位就不能是“游戏爱好者”,而必须是“职业的游戏设计者”。能力暂且不论,职业二字意味着你不能再随着自己的喜好来对待工作。也许有时候你会觉得派给你的工作很傻,很没意思,不想做,但你至少要把这件事给做到合格。如果上司给了你修改意见,即使你觉得这样做很蠢,那仍然也要做到合格。如果觉得公司不适应或者工作不适应没法待,可以随时离职——但在离职之前,你要对你手上的所有工作负最基本的责任,即尽自己最大努力让它们合格。
思考设计背后的逻辑
无论是在工作中还是自己玩游戏的时候,都要思考游戏为什么要这么设计,有什么优缺点,可以怎么修改。这也是游戏策划和一般玩家最大的不同。玩家知道他喜欢玩哪些游戏,但当他描述游戏好玩在哪里的时候,大多数玩家都仅仅会关注体验层,也就是“我玩的爽的时候,我的感受是什么”。游戏策划则应当想得更深,也就是“游戏做了什么让我有这种感受”。思考“为什么要这样做”是学习游戏设计最快的方法,也是游戏策划不可缺少的素质。
兼收并蓄,求同存异
创作者如果对自己的作品没有自信,那他就不可能成为创作者。但在工作中,一个一意孤行的人不仅处理不好与同事的关系,也有可能导致很严重的后果,甚至导致项目整体停摆(现成的例子,少女前线2……)
游戏策划更应如此。不懂得听其他人意见的人,只会做出只有自己喜欢玩的游戏。
在工作中,要积极表达意见,但也要包容别人的意见,仔细思考做出取舍,和其他人充分沟通,讨论完成后,听从最应该对此事负责的人(也许是你自己!)的意见行动。
很多人对游戏策划这个职业有一种常见的理解:游戏策划就是满脑子想一些有的没的,大致描述一下,写成文档之后叫程序做,完事!
但实际上,策划打交道最多的东西反而不是策划案,而是表格。
注意,游戏是由一系列数据构成的。如果没有数据源,那么游戏就没办法称之为游戏。在写完策划案之后,更多的时间将会被用来完善体验与验收游戏表现,很多策划戏称自己为填表工具人就是因此。所以策划应当熟练使用Excel。
另外,同样常做的事则是跟进,也就是你需求提完发给程序后,确认并保证程序按时按质做完的整个行为。这也是主催为什么叫主催,是因为真的很能催……
整体来说,策划的工作内容就是写策划案,维护表格,以及跟进和汇报进度。
策划案
说一下最容易出现的误解。策划案实际上是给程序、美术等需求下游人员看的,而不是给策划自己看的。因此,你的策划案至少需要具有可执行性,而不是仅仅你的思路文档。这也是我建议策划都应该学一点程序的原因。你得知道你写成什么样,程序才能知道该怎么做,不过于简略也不过于详细。
你写的策划案,其实是程序的工作任务说明书。一定要认真对待它们。
维护表格
合格的策划可以单从表格设计上就看出很多东西,不过作为萌新,只要知道Excel的基本操作、公式以及数据类型就可以了。
注意,维护表格的时候千万记得写字段注释,否则的话这表格离了负责人没人能接手得了,或是要花费大量时间和程序对清楚了才能交接。
可以把“维护表格”的行为理解为“面向Excel编程”,哈哈。
跟进以及汇报进度
是很多人容易忽略的一点,但其实是策划最核心的技能了。如果你不会跟进,不好好跟进,那你就必然没有任何产出,因为你把是否能产出合格的成品这件事完全赌在了程序一个人身上。程序只有跟你有足够的默契,给你排足够的时间,并且对你的需求有足够的职业素养的情况下才能按时做好功能,就这还不能保证有没有bug。
因此,一定要常常跟进进度和汇报进度。
锚点可以理解为图片的四个角到其对应锚点的距离始终不变。图片右上对应锚点右上,等。
锚点会显示各锚点相对于屏幕的占比。这意味着当改变屏幕分辨率时,锚点也会按照对应百分比改变。如一个50%,30%,20%的锚点,当拉长100像素时,从左到右的两个锚点会向右移动50像素和80(50+30)像素。可以利用这个预想分辨率改变后的情况。
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;
}
上面的全局变量是只在当前场景使用的
统筹工作优先级问题
工作前想一下对于项目来说最紧急的事情是什么,并且是否正在开始工作,不要被催的事情影响到
可以两次上班的时候想一下,确认一次
出不来
玩不好
不赚钱
不好玩
以上问题才是统筹工作中的核心问题,不要被细节带偏。
合/切版本的问题以及原则
版本目的:切出一个1.稳定2.完全可控的版本
其次是尽量进已做的东西,但不能和前两条抵触
最重要的其实是稳定和完全可控,否则的话切版本没什么意义。这就意味着,只有一个东西全部测好了,才能进版本,否则的话就不要进。
使用禅道或表格进行工作内容管理的好处与缺点
禅道
--好处
--坏处
表格
--好处
--坏处
因此,工作中尽量使用禅道,只有在突然要做一批关联性很弱且内容非常多的工作时,才使用表格。此时,策划控制禅道和表格,优先以表格处理内容,但禅道单子不能少。程序看表格完成工作,不看禅道,只听策划说“这个单子可以点解决了”就点解决。最终仍然是走打印出来的纸质禅道单子。
晨会
以清理一批遗留问题,增加游戏的可游玩性(能够当作游戏来玩的程度,而不是乐趣程度)为主要工作内容时的优先级
S优先级:
正常游戏过程中,固定复现或有一定概率复现的卡死
A优先级:
非正常游玩或是非常见操作导致的固定复现或是有一定概率复现的卡死
不卡死,但相对于其他游戏像bug的体验,或是确实有这个bug(先不考虑是否h5只能做成这样,除非给出了结论目前这段时间怎么都解决不了)
正常游戏过程中,小概率复现的卡死(连续10次未复现,或20次测试只复现1次)
已经完成的功能,游玩体验理应和参考竞品一样,但是实际上不一样的地方
B优先级:
不像bug但是感觉较差的体验,或是观看感受较差的表现,包括图片,音效,特效,点击反馈等,主要在于是不是感觉体验上这里还没有做任何的反馈优化,或是反馈优化比较差
C优先级:
不像bug但是感觉不好的体验,或是观看感受不好的表现,包括图片,音效,特效,点击反馈等,主要在于反馈优化是不是已经有了,感觉能过得去但还能提升
新功能需求
就是按照影响程度大的优先做。快速从0分堆到60分这样子。
逻辑上做不了的才能说这个事情不能做,要表达【从逻辑上就无法实现】。
逻辑上做得了,但是自身能力可能做不了的时候,要表达【我估计做不来】。
逻辑上做得了,但是需要其他支持(如时间,资源,人力等)才能做到满足的条件时,要表达【要给xxx支持】。
逻辑上做得了,但是自己不太想做的时候,要表达【这件事我不太想做】,并说明原因。
逻辑上做得了,但是这么做会存在xx风险的时候,要表达【这事这么做能做,但是xx风险怎么办】。
拒绝【这事我做不了】和【之后这种事情别找我】的表达方式。并且,以上的表述不是推脱事情的借口。
聚焦于问题
事务详情分析
这件事情理应是我做还是理应是其他人做?
这件事情是当前已经排期的工作吗?
这件事情工作量如何?
以上,本质上都是聚焦于问题:我希望所有人都要有这个素质。胡乱扯皮是一件很简单的事情,但这没有意义,因为问题还是在那。如果聚焦于问题,就算最后扯到“这个问题无法解决”或者其他非常困难的结论,起码我们也知道了问题在那,为什么出现这个问题,谁能为解决问题负责,能负责多少,尽力去做的话这事能做成什么样。这个结论出来了之后,即使事情失败了,起码自己和团队问心无愧。另外,扯皮的目的不是为了“让其他人担责”,而是“让该担责的人担责”(不是“让该被惩罚的人被惩罚”!千万注意这一点)。问题清楚了,来源清楚了,权责清楚了,那么事情就只是一个协调资源,或者无能为力的简单判断了。
很明显,这里的活动类型只有一种:“完成XXX任务”的活动。该类活动能够覆盖大多数需要的活动情况。
易得需要的资料为id,活动显示所在位置,活动时间,活动类型,活动任务及任务奖励。
其中,id、显示所在位置、活动时间、活动类型、引用的任务组和奖励组为一张表,命名为活动表。该表用作具体活动的配置。
具体的任务为另外一张表。该表用于活动任务及奖励的配置。
达到的目标是可以使用活动类型与任务目标和奖励的组合实现多种多样的任务。
例如:
和1的区别是一个类型对应多组页签。因此活动任务(及奖励)需要有页签的区分,需要增加对应数据。数据可以增加在活动表里,也可以增加在奖励表里,不过推荐放在活动表里。注意,这个地方的意思是【一个】活动有【多个】任务组,也就是任务id只有一个,但是任务组有两个。例如:ID1,名称开服基金,任务内容为[[开服基金:kfjj1,kfjj2,kfjj3,kfjj4],[全民福利:qmfl1,qmfl2,qmfl3,qmfl4]]。
例如:
那么现在的活动类就包括了大活动和小活动。很明显大活动是由小活动组成的,因此将它们配在同一张表里就有点逻辑混乱。因此需要新建一张表。
不过大活动也是活动,同样属于活动类,因此也需要小活动所需要的字段,只是额外增加了“由哪些id的小活动组成”的新字段。
其实这里的表现和上一个有点像,但区别是上一个的逻辑是(活动表)活动是一个id,这里是多个id。这个其实就是正常的多活动,本质上是1的复数形式,同时配了一堆活动,只不过显示在一个地方。
例如:
综合123即可得出结论。
例如:
@Pamisu 感谢!国际化这个晓得,但是写的时候忘记了
补充一点,采用国际化的时候就尽量少使用角标这类型的设计,因为很容易角标写不下
面的烹饪技巧:
鸡汤的烹饪技巧:
鸡腿排的烹饪技巧:
主要是为了快速【从零】搭建一个大致能用的框架
持续更新,需要查漏补缺
是否通过后台配置活动
如果通过后台配置所有活动,那么客户端就能少更新,活动通过服务端来发送。好处在于所有内容可以随时替换而无需更新/热更新,坏处在于如果使用单独的配制方法,一是不好维护(除非做一个专门的查看、配置活动工具,或者传入的配置本身就是明文,否则这只能在后台上配,难以对比,存在一定风险),二是需要做好SVN管理,否则的话容易掉配置。
如果不通过后台配置活动,那么每更新一次活动配置,客户端就要做一次更新。好处是明文配置,好维护,坏处是仅更新活动时需要热更。不过一般而言,没有单独更新活动的需求。
用什么样的方式防作弊
权限管理
服务器修改
玩家信息操作
玩家渠道、UID、区服、昵称、注册时间
玩家资源
体力
货币、代币资源
角色装备等资源
相关次数资源
玩家社交关系
邮件
好友
私聊记录
所属公会
玩家付费状况
玩家游戏进度
公会信息操作
运营功能
礼包码
注意事项
功能
兑换码的类型
限时-同用户单类单次-多个兑换码
限时-同用户单类多次-多个兑换码
不限时-同用户单类单次-单个兑换码
另外有的还有渠道礼包码,将限定条件添加上去就可以
兑换码操作功能
查看兑换记录
重定义兑换码时间
已有类型下新增/删除一批兑换码
删除某类型兑换码
更改某类型兑换码奖励内容
公告修改
邮件
邮件发送时间、发送人、发送内容、附带奖励、自动删除时间
信息监控
聊天监控
邮件监控
首次充值返利与充值返利重置
删档返利
回归活动与回归邮件
玩家封禁
白名单
虚拟充值
数据面板(全渠道/分渠道,全服/单服)
每日新增用户数,对应渠道,对应服务器以及新增时间
用户活跃
活跃用户的定义
用户留存
新增用户留存
付费用户留存
未付费用户留存
流失风险用户
用户付费
用户付费率
用户付费构成
ARPU(阶段内平均每用户收入)
ARPPU(阶段内平均每付费用户收入)
ROI(投资回报率)
LTV(用户平均生命周期价值)
用户消耗
用户钻石消耗
其他资源消耗
玩家分析
玩家等级分布
停留关卡分布
停留新手引导分布
充值途径统计
活动排期
单服整体排期
单服阶段活动内容
UI设计规则
文字描述规则
多面板跳转规则
同时开启多个弹窗规则
红点规则
通用获得道具展示规则
进入游戏之前的功能
报错、修复
更新
开发
运行体验
兼容性
数据后台,GM后台
卖点,亮点,不同点
好玩的地方,和别人不同的地方,相比于其他游戏让人眼前一亮的地方
目标用户,目标用户需求,变现方式,商业化基础逻辑
游戏想要谁玩,他们为什么确实想玩,通过什么赚钱,赚钱链路是什么
大范围目标用户是没多长时间或者精力玩重度游戏,简单的挂机收菜就可以玩的玩家。
精确范围目标用户是喜欢抽卡这一套东西的用户与随机装备刷刷刷的用户。可以算是开宝箱+挂机刷暗黑破坏神刷随机装备的结合。可以玩词条搭配,但不能太麻烦。
主要是通过时间赚钱,加速各种需要挂机的时间。将普遍性的其他游戏付费充值转换成看广告,有点类似于另一种挂机。但不清楚同用户不停看广告究竟有没有收益。
赚钱链路:0.商业化活动,纯广告版本没有也估计不准备做,这个先不考虑;1.加速时间,这个是最主要的;2.背包格子,这个是硬性需求;3.VIP以及VIP相关福利(看广告奖励VIP经验)
核心玩法策划案
可玩性最大的是什么东西?怎么玩?相关内容有什么?有什么挑战?什么地方有成就感?
可玩性最大的是开宝箱,宝箱养成和装备养成。
整个流程(可以考虑做的像暗黑2刷的感觉)
打不过怪物,需要养成的时候有挑战,一方面是抵消自己的急迫感,另一方面是挑战装备与技能搭配。
抽到好卡、收菜之后提高自己、搭配好装备后砍瓜切菜或者突破打不过的关卡会有成就感。
核心游玩循环,单局游戏时长,每日游玩最小、标准、最大时长策划案
每天在里面干嘛?一局游戏多快?什么时候算今天打完了?最快刷完,粗略刷完和按照最大价值刷完分别要多长时间?极限刷游戏呢?
暂定,不过每小时挂机送当前等级10抽应该比较合理。最大挂机24小时,可以抽240下。每日任务可以送抽卡券160下,每日24小时共400下。
每次上线收菜之类的如果按照最快速度应该在15分钟以内,每日单纯完成任务应该不会超过30分钟,所有任务完成和领地都已经开始挂机且本日不能继续挂机就完成了。
但玩家可以在里面研究配装以及洗装备之类的事情,可以多玩玩
需要考虑每人每日可支配时间,一般最快刷完日消耗30分钟算是有点肝的
随着时间的大致体验策划案
首日次日三日七日十四日三十日的体验与成长如何?分别都在玩什么?推进度到什么程度?
相应成长线与数据投放规划策划案
游玩过程中有什么东西是成长性的?成长速度如何?
和随着时间的大致体验相关
难度曲线以及数据验证方案
核心游玩过程中挑战的难度以及自身的技巧与数值成长通过难度的验证方案
付费方向与付费价值确定
游戏内道具和时间怎么定价?怎么赚钱?购买力如何
行为树是使用树状结构来描述一个物体在各种情况下执行什么行为的行为列表。例如,周末傍晚固定去某家店吃饭,就可以构成一个行为树。
行为树有水平结构与垂直结构,不过本质上没有差别,只是阅读习惯上的差异(从左到右,或是从上到下)。
行为树从根节点开始,依据从上到下,从左到右的顺序执行行为。
行为树每逻辑帧执行一次。每次执行时,继续从上一次正在执行的行为开始,按顺序执行下一个行为,直到所有行为均执行完毕。
按照实现的方式不同,行为树可能存在循环执行的情况(如果行为树完成了最后一个行为,那么重新从根节点开始执行)
行为树的节点存在各种状态的区分。包括:
成功Success
代表节点包含的所有内容执行成功的状态。
失败Failure
代表节点存在任意内容执行失败的状态。
运行Running
代表节点正处于执行行为的过程中,尚未得出成功或失败的结论的状态。
根节点root
最基础的节点,本身无实际意义,所有行为的出发点。可有多个子节点。
复合节点composite
依照特定的规律,控制多个子节点执行方式的节点。可有多个子节点。
常见复合节点包括:
顺序节点sequence
从左到右依次执行其子节点。如果有任意节点返回失败,那么认为该复合节点失败,只有所有节点全部成功时才认为该复合节点成功。
选择节点selector
从左到右依次执行其子节点。如果有任意节点返回失败,那么继续执行下一个子节点,任何一个节点全部成功时就认为该复合节点成功。
并行节点parallel
同时执行所有子节点。如果有任意节点返回失败,那么停止执行所有子节点并返回失败,只有所有全部成功时才认为该复合节点成功。
动作节点action
执行动作的最小单元,不会有任何子节点。由于该特点,动作节点也叫叶节点。
条件节点condition
仅判断条件,不执行实际动作的节点。同样不会有任何子节点。
装饰节点decorator
修饰其他节点的行为或结果的节点,只能有且只有一个子节点。