面对老朋友BUG,我想,我有想法了

精华修改于10/11843 浏览综合

我决定将我们队伍的思路全然分享出来,希望可以得到更加多的交流和意见交换

我们的队伍决定将这次GameJam的设计思路完全公开,期待与更多开发者交流碰撞!欢迎加入QQ群:760674992一起探讨。
在这里提前感谢能够看到最后的朋友们!!非常感谢你们的耐心,也非常期待你们的建议!
TapTap
聚光灯主题

从“这什么破BUG”到“这什么神仙特性”

看到“BUG”这个主题,我们经历了这样的思考过程:
第一阶段做Meta游戏?——太常见了,而且容易陷入自嗨,偏离主题。
第二阶段恶搞BUG?——让角色抽搐、飞天、音效错位?这确实很“BUG”,但和普通BUG有什么区别?给玩家添堵还是带来乐趣?

那有没有一种想法,让bug成为游玩的一部分?

“有什么游戏有知名的bug,最后这个bug甚至被作者认可并且成为了游戏的一部分?”
有的,兄弟有的!!!!!我想我们知道答案了——序列号。

泰拉瑞亚

泰拉瑞亚的所有物品都有一个独一无二的id——他们存在一个表格里,有y轴和x轴。利用“失谐门”BUG,根据坐标不同爆出装备——我想你应该明白了原理,系统把坐标当成了物品的序列号!!!!!!!
TapTap
失谐门正在爆装备
TapTap
物品列表

杀戮尖塔

出圈的鸡煲被人常常调侃——通过无数次SL找到“唯一存活的时间线”。
游戏的“随机”事件其实来自固定的随机数表——只需要知道随机事件里对应的数字代表什么你就可以完美的控制其“随机”出来的东西。
也许这是代码的疏漏,但给玩家带来了更多的玩法——开发者甚至表示会在续作中保留这个“特性”。
TapTap
尖塔第四强的角色——故障机器人

noita

noita的系统比较复杂,用简单的话来说,就是他做到了代码的“统一性”:
  • 回血法术 = 负的伤害
  • 伤害提升 = 隐形法术跟随
  • 穿刺修正 = 消失时生成复制体
这种“偷懒”的写法,肯定会带来意想不到的bug——用回血法术举例
给回血法术加伤害提升,它就不再回血;加穿刺修正,就能多次回血。这些“漏洞”最终变成了官方认可的玩法,甚至还有相关成就。
这是bug吗?不,这是特性!

我们的游戏思路

如果我们的物品也都存在序列号?
在c语言中,如果用%d的格式强行输出一个字符,那他就会把相应的ASCII码给你,反之亦然。
想象两个相邻的存储空间:
  • 区块A:存储发射角度(sin函数)
  • 区块B:存储子弹轨迹(直线函数)
TapTap
发射的角度是遵循sin格式,而子弹轨迹就是直线
当玩家装备新角度修正却忘了卸下旧的,sin函数就被挤到了子弹轨迹区块!
TapTap
公式被挤到了其他存储区块里面去了!!
该死,我的子弹以sin的路径乱飘!
等等,你说原本子弹的公式怎么办?公式被挤出来了,实际上他仍是一个数,系统把它误认为物品序列号——凭空掉落了新物品!

是的,我们更希望玩家除了游玩游戏本身,还可以从游戏代码上面去游玩这个游戏的bug!所以我们的代码也是存在着十分多的可能性。

TapTap
这是一种玩家的buff
游戏中存在这样子的buff,玩家需要选择其子弹,比如填写了榴弹和火焰弹,也就是榴弹飞行耗尽的时候其位置又会发射一颗火焰弹
我们的思路是从代码上面出发的,所有的物品都会有一个序列号——那么这就意味着,如果我将火焰弹和穿甲弹同时卡进二号位呢???其序列会叠加,1=3变成了4号,麻痹弹!!!
仅仅是子弹吗?如果是3+4呢?——那么就会生成对应的7号物品!
这样子也许玩家每一枪都会生成一个回血瓶?又或是陷阱?
如果在后者叠加出了枪械的序列号呢?——是的,递归。枪生子弹,子弹又生枪,子子孙孙,无穷无尽也!
在我们的系统中,枪械本质上是个速度为0的子弹,当它的动画耗尽,就会发射出真正的子弹。甚至回血道具,也不过是个没有移动速度的负伤害子弹。

我们想创造的,是一个让玩家不仅在玩游戏,更在“玩BUG”的游戏体验。

非常感谢大家能看到最后,期待在评论区看到大家的想法!完整设计文档将在开发过程中持续更新。

45
9
59