代码中的幻想乡
前排提示:这篇文章初次发表于2021年9月11日,时隔一年,我将它迁移至这个博客。俗话说的好,狎兴生疏,酒徒萧索,一年之后,自然对这篇文章有了新的思考。因此,这篇文章里,粗体的为一年后我的回看闲言,细体为原文。
以下正文
按Ken兄的说法,这个栏目是五花八门的,我本人文笔不行,故而只能乱写一通,倒应了五花八门之理。希望各位可以把这篇文章读下去,仅仅只是一个故事而已
想法很伟大,现实很渺小
因为本人的脑回路有点奇怪,导致我在看到高中校园地图时,脑子里就想做成一个RPG(笑)。这样的想法在学校建了天象厅后愈加强烈,实在是由于一个金蛋状的建筑出现在学校里有点奇怪,总想把它拆了(雾)。
总之,高考结束后,我便开始了游戏的规划和素材的搜索。随着目标逐渐清晰,我意识到了工作量的庞大……实在是太可怕了!!单论RPG的素材就是天文数字,再加上剧情,战斗系统,平衡,音乐,特效,已经到了我一个人单干根本做不下去的地步。所以大概在七月中旬的时候,我基本上放弃了RPG这条路,转投STG(弹幕射击游戏)的坑里去了。
没想到,STG也是很难做的,前期最折磨我的就是选材了。如何写一段无厘头又很有趣的剧情来引出故事,游戏系统又应该怎么设计,这一切都与游戏主题息息相关。经过几秒的思考,我就决定了整个故事的走向——这是一个弱者变强复仇的故事,就如同基督山伯爵一般(浓雾)。
这就是中二病吗…一年前的我都在干嘛…
最需要的知识,高中数学选修竟然没学?!
对于大多数同学来说,《坐标系与参数方程》这门数学选修课只是答题时的奇技淫巧,但对于STG的设计者而言,这玩意就是入门必备。好巧不巧的,从我们这届起(18届),高考就不用考选修了,我们理所应当的没学……
大学高数第一节课就把高中没讲的讲完了(
于是乎,我只能悲催的在高考后的这个假期中从头学起,总算是把这块烂泥凑合着捏好了。
我使用的引擎是Luastg,从字面上看就是可以用Lua脚本编写来生成游戏的引擎。这个引擎不只是为了STG这一特殊的游戏类型而制作的,理论上可以做格斗,音游,甚至是galgame(。所以这又意味着什么呢? 我又要苦逼的修改引擎了……
大概是在七月二十多号的时候,我终于成功的在游戏里内置了音乐室。
支撑这样一个小小画面的是什么呢?是以下编写了两三天的代码:
代码将近1000行。所以大学打算学计算机的朋友,这就是你们的(也是我的)明天……
已经是今天甚至昨天了(大悲)
还有接下来的弹幕设计,实在是数学学渣的噩梦。
这个简单的3D球要用什么科技实现呢?首先是万能的球坐标系,然后是透明度渲染,接下来为了实现球体的旋转,还要自修三维坐标系的变换,由此引出了该死的矩阵算法。一环扣一环,子子孙孙无穷尽也。
又像下面激光的运动(俗称“佛光”),又该怎么实现呢?
“佛光”的说法出自《怒首领蜂:大复活》
答案就是
用几何画板建模,再用代码硬算……
好惨啊,有些公式再也没精力重新推一遍了
冲突!可玩性与美观性之间的取舍
不同于《雷电》《雷霆战机》这种为了让你氪金而往死里增加难度的街机STG,东方project系列的弹幕演出一直以美感著称。作为二次同人创作的虹典洞,自然也要努力向该方向靠近。
虽然但是,在美观度上调的同时,会带来一个不可避免的问题,就是可玩性的下降。最明显的就是游戏运行帧率的下降,也就是掉帧。如下图的花,原先设计为玫瑰花的形状,但这样做会让子弹数目增加,高光渲染下会掉帧10f,这样的代价是不可接受的。因此,最终做出了减少子弹数目,改变整体形状的取舍。
又例如「苍白之王的神德」这张符卡,原先设计时白色子弹的运动轨迹是没有辅助线的表现的,但经过实际测试后,深感到没有辅助线的游戏难度之大,于是又加上了辅助线。个人认为辅助线的存在是一种限制玩家行为的做法,但迫于难度的平衡,最终将辅助线的透明度降低,让玩家从意识上就能预判子弹运行轨迹。
激战!开发者与玩家之间的斗智斗勇
游戏开发最大的一个难题:开发者永远无法预料到玩家会做出什么样的操作。这就要求开发者想方设法预估玩家可能做出的一切做法,这在编程上就称为“鲁棒性”(这个说法并不严谨)。
现在的说法是在面包店点一份42号混凝土拌意大利面
举个例子:
因为“铜钱”会砸下来,我在设计时自然就考虑到会有玩家运用邪道方法,在“铜钱”生成的位置之上来逃课。于是,我设计boss在玩家位置高于发弹位置时,便会发射一排狙弹,也是一种对玩家的变相“惩罚”。
另一个例子是
假如只在屏幕下方躲避,难度将会很高,但我特地在这里留下了一个贴近boss内避弹幕的空间。若玩家发现这一故意留下的邪道,便会轻松过关。这是开发者与玩家心照不宣的默契,也是玩家乐在其中的奥秘。
事实上,开发的时候就完全没发现,这里的说法死要面子了
另外比较重要的一点就是难度的分配。玩家在游玩游戏时不是必须紧绷神经的,游戏中途要有喘息的时间。这就是游戏后半段仍然会出现比前半段简单的弹幕的原因。时刻记得:玩家不是开发者,他们没有开发者开发的经历,也就意味着他们对即将发生的事件一无所知。不要用全知全能的视角来预估玩家的做法,以及过分拔高难度放飞自我。
蕴藏其中的文化……也有玩梗与致敬
接下来你会看见凑不满字于是乱写一通垂死挣扎的样子,谈文化输出属实离谱至极,太野蛮了
文化是游戏的一个重要组成部分,即便是简单的STG制作也是如此。
看看游戏最终boss典的出处典故,红线部分就是可以提炼放进游戏里的设定。
根据典故,拟定了以下的符卡:
因为我本人对佛家文化有些许兴趣,因此在游戏中自然糅合了部分佛家元素。当然,并不是所有人都能看得出来。比如以下的一些内容,你在游玩时有无注意到呢?
-
典的原型是管狐,是饭纲权现的坐骑,而饭纲权现在中国又有一个更出名的法相,就是虹典洞隐藏boss荼吉尼天。
-
boss典背后的背光,原型是佛家的六字真言。
-
隐藏boss荼吉尼天引用其为大黑天眷属的典故,战斗场景和弹幕全为黑白色。
这当时怎么扯上关系的,我很迷惑,纯粹是因为黑白shader好写而已
-
游戏的loading界面
这张照片是我自己实拍的
-
对于其他方面的neta也是做足了功夫
-
典的一张符卡「喷涌而出的钱泉」,来源于《聊斋志异》中的一篇典故,其实原本是想以聊斋里的“伏狐”为主题制作弹幕的,但考虑到画面将会十分谔谔(笑),故而更换了典故。
《伏狐》是个好故事,推荐!
-
由游戏标题《虹典洞》也不难猜到,弹幕是以“虹”为主题的。从第一张非符开始,典的弹幕颜色依次由黄,橙,绿,翠,紫,蓝,红,白排序。
-
符卡「colorful rose prince」neta自《小王子》中的故事,还记得小王子的玫瑰花吗?
-
符卡 天狐「星云奥秘」neta自著名2D沙盒游戏《Terraria》的一款武器。
-
符卡 庇护「苍白之王的神德」neta自著名银河恶魔城类型游戏《空洞骑士》。
-
符卡 「狐之太阳雨」是一句著名俗语的引用,具体意思你自己去查~~
-
Neta是制作者在游戏开发之余设下的彩蛋,与心有灵犀的玩家相应,贴近与同好们之间的距离。玩梗与找梗,是游戏中的另一场游戏。
熙攘同人今何在? 二次创作的未来展望
虹典洞的发布是在8月30号上午11点多。
事实上,直到那天早上,我还在制作游戏的隐藏boss。内测人员也只测试了几遍,可以认为整款游戏都是在高压高危的情况下仓促发布的。我个人对于这个作品只是抱练习的态度,也没想着能激起多大水花。
没想到,作品发布几小时后也就是当天下午,我竟然在国外discord上看见了老外的游戏截图。
紧接着,那天晚上,几个stg制作群里都有人议论我的游戏。
这是一种怎样的体验呢?
我没有激动,也并不那么开心(通宵代码谁能开心了),更多的是充满期盼。
疫情所造成的影响,在二次同人界引起了巨大的震荡。展会停办,制作者个体破产等等令人痛心的事件时有发生。可以说在疫情发生后,同人市场一片死气沉沉。熙攘同人今何在?恐怕这是无数制作者在这几年的疑问。他们迫切寻求一条出路,哪怕求人跪佛都在所不惜。(别笑,这是真实发生的事情。一个人要到多么无助的境地,才能放弃膝下黄金?)
而当我这样一个小小制作者,用一种微乎其微的方式参加二次创作,却引起如此“巨大”的影响时,我便突然发现了同人制作的未来方向。个体的力量也可以被重视,个体的声音也可以被听见,个体的作品也可以被拥护。
救赎之道,就在其中。
但愿同人创作者的幻想乡,不止为行行代码而束缚。希望熙攘市场的复苏,就在当下。
真没想到疫情会闹腾那么久,二次同人要撑住啊
一年后回看,别的没好意思说,但是要再做这么一个作品,恐怕不太可能了
附游戏下载链接:
https://pan.baidu.com/s/1i-MorYyfMA4UUVP6cTf7LA 提取码: mbip
B站视频链接:
https://www.bilibili.com/video/BV1nU4y177KB?share_source=copy_web
视频也放在这里了: