这次的主题是【Re】,我很直觉的联想到:轮回,再一次的意思。 比赛的节点正好也是我事情最多最慌乱的一段时间,我会一直问自己:【如果能重来来一次,是不是会做的更好?】,不停在为每一个选择后悔。所以很自然的把这样的想法一股脑倒进去。
和这个游戏一样,这篇文章也是压线赶出来的,非常流水账,感兴趣的大佬更建议去先看我B站乱录的小视频:
<内嵌内容,请到原网页查看>
【玩法&故事】混乱的自我表达
这个游戏被设定成玩家与过去的自己进行对话,每个NPC被设计成不同时期的【我】。玩家的目标是避开危险顺利走到每个NPC位置,帮助后悔的【我】再次选择。 在玩家前进的过程中,有希望】意向的星星追着玩家走,碰到星星就会进入【死亡结局】
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/09478a9f981f7ec46fc6257949b48536-1908-1081.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
然后就要引入这个游戏的核心玩法:随着BGM的重拍【在第5拍按下鼠标或空格就能发波驱逐星星】
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/c4da1872c9939a697188ebb792ce2f31-1906-1069.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
除此之外,在玩家遇到对话选项时,也需要在第5拍点击才能正常进行对话。 游戏开始时第一段跟自己的对话,有两次选择,正好当新手教学了。教学完才会有星星过来,这样离开选项后玩家也能尝试着在5拍按下。希望能通过这样的设计让玩家自己发现【5拍按下可以发波攻击】,能更有成就感。
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/6c3b6603f8f813a430e21b979fa7875c-1896-1066.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
【重拍攻击】这个玩法来源我一个不好的习惯:我每次做决定的时候总会怀疑自己,所以经常通过当下时间的尾数来确认选择,会对自己说:【如果是双数我就选这个】【如果的双数我这次的选的就是对的】。我现在已经过度依赖这个习惯了,以至于时间不是双数的时候就会焦虑甚至崩溃。
虽然帮每个【我】的从新选择有好有坏,会触发不一样的结局,最后一个对话里也有【C/B/A//S】这样的结算,但就算拿到最高评价,最后给玩家结算的【我】也是不会满意的。不管怎样选择还是会进入Boss战斗,这个S评价目前的文案:
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/8597b467c100d8010749c9195e8f3113-807-182.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
Boss战会触发新的机制玩法机制,在这里就不剧透啦,只有在Boss战中胜利,主角突破了心魔才会进入【TrueEnd】。失败后则根据玩家选择进入不同的【FakeEnd】(共有6个假结局)
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/f306e5235215e908f79ce764a426c6ad-1906-1068.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
【音乐】 为什么是第5拍?
用五拍是因为第五拍也是第2个循环小节的第1拍,我给的音符强度也是这拍最重,虽然根据游戏玩法他有5这个名字,但更像是1.2.3.4. 1.2.3.4,这两个小节里的第二个1。
后面3拍我是空出来的,两个8拍是这样的:1.2.3.4.5.空.空.空 1.2.3.4.5.空.空.空 空拍的存在其实应该在音乐上给出暗示比较好,但因为我编曲水平太烂,这次还没有实现这样的效果。本来很重要的Boss战变奏也受制于自己的能力迟迟没有实现。
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/20a0c88c2bc84cba2547cd35a7b9abe0-2325-1106.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
【美术】 在有限的时间内至少能看
实在没有搭建场景的心力和时间,整个游戏只有几张图片和一个小幽灵建模的美术资产,主要还是通过码Shader来提升画面质感。对我来说编写渲染是创作的一部分,夸张点来说是一种艺术手法。这些代码里除了技术融入很多我自己的创意和审美,也试着拿渲染画面表达氛围和内心的感觉。
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/cce8396f77e1143a7c21693eb07c6cd8-3705-934.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
小幽灵的模型是Blender建模完成,UI和立绘是PS快速手绘或者贝塞尔曲线拉出来的,角色设计玩了日本漫画《五等分の花嫁》的梗,似乎并没有玩家看出来233333 。
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/1a3cf74a377d7f5707533038a0a2e9e0-1117-631.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
【代码】 逐步熟练的框架编写
因为写Shader用VSCode实在是干净和方便,我以前在明知没有代码补全的情况下也一直用VSCode来编写逻辑(甚至希望通过这种方式来让自己牢记API。 这次终于换成用Studio来写C#了,效率疯狂提升。看来还是不要过度相信自己的码感为好。
经历了1年断续的自学和疯狂单刷Jam锻炼。慢慢对框架和设计模式有一丢丢自己的认知。这次的项目用到事件管理器、对象池等经典技术。GameManager脚本控制整个流程,但它只负责发命令和记录数值(干净到只有237行)。具体执行逻辑放在【敌人】【玩家】【节奏管理】等脚本里,也算是实现了亲近性原则?
这是我首次尝试写大段对话,和有不同分支结局的作品。文本量对比以前可以说是断崖式升高。对话系统是和Excel绑定的。对话还是选项、选项后修改什么游戏参数等功能都直接在表里用符号标记,代码再用逻辑判断,很方便就能编写和修改剧情。
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/4dd809afabc75fe3f4d46bc6b527279e-1451-363.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
值得一提的是整个游戏没有用到任何动画组件,像是Boss战演出、攻击受击等动画都是代码+Shader编写完成的。因为有大佬感兴趣,我具体讲一下波攻击效果实现:
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/162df706a3917cf0330f83fe34f169af-1177-983.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
首先我们需要把角色位置实时传入Shader。然后用顶点世界位置算出与角色的距离,距离+-一定区间值是波的范围。因为顶点数不多,所以在VS里计算距离本来就有一棱一棱的效果。根据这个算出来的权重向上偏移顶点。最后把权重传入PS叠加一个波的颜色就OK了。
最重要的话:
非常感谢游玩【幸运5】这个游戏的每一位!感谢每一份评价!你们对这个游戏的建议和鼓励都给了我很多很多勇气,也是让我坚持做自己游戏最重要的动力~谢谢你们!
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/923300e0418c5a3c3b871414f733ccc1-1292-609.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
这个游戏玩法既不巧妙也不独特,但还算在符合题目的同时恰好倾诉了我最近问自己的问题:我这个看时间做决定这个习惯,说到底是不是因为自己的懦弱。这个逃避选择的习惯一开始带来了轻松轻松,最后反倒变成了我对时间的偏执,对所谓【正确の选择】的偏执。
我平时会写点随笔,在制作过程中写了这么一条:
![【半桶水】《幸运5》の创作小记 【半桶水】《幸运5》の创作小记](https://image.gcores.com/2fac0a6356b587b81b3639b936f36f77-1275-150.jpg?x-oss-process=image/resize,limit_1,m_lfit,w_700,h_2000/quality,q_90/watermark,image_d2F0ZXJtYXJrLnBuZw,g_se,x_10,y_10)
这是我想对自己说的话,也是这个游戏最想表达的东西。
![post-qrcode](https://aigc.luomor.com/wp-content/uploads/2023/03/qrcode_for_gh_ada6dea0c7e9_258.jpeg)