B站弹幕互动游戏开发教程

前言

有一次逛B站看到弹幕互动游戏这种直播内容,觉得很好玩,然后就花了两天写了个初版上线了。

后来B站开放了接口(我没有做视频教程),我也上线了两个游戏,不过没啥收益(截至到2023年8月30日,加起来收益不超过一百块钱)。

我也和别人合作过开发抖音的弹幕互动游戏,那个时候是卖月卡,不怎么赚钱。我写代码,另一个人负责卖。我们六四分成。标价100元一张,我到手60。一般自己卖不动的,要找代理。一个100的游戏代理转手就能卖300以上。主播如果播得好的话就很赚钱,一场至少几千块收入。后来我觉得这个不赚钱(2022年11月3日开卖,统计截止2022年12月31日24:00,到我手上的钱共1790元),累死累活肝了一个月的代码,钱都被代理和主播赚了,就不干了。最后把源码挂闲鱼上5000块钱卖了,运气不错,遇到个很好的买家。

后面抖音也跟风开放接口了,不过我没搞了。我没经商头脑,给人打工的命……

B站视频

v1.0版本: 弹幕互动游戏开发教程

v2.0版本: 弹幕互动游戏开发教程v2.0

视频文字稿

v1.0

前两周我突然发现B站还有弹幕互动游戏这种直播,觉得很好玩,于是给自己立了个flag,两天完成开发上线,这个是第一版的效果。我比较喜欢玩RTS游戏,所以我开发的是一个RTS类型的弹幕互动游戏。当时我观察了一下B站的直播内容,还没有这类游戏,所以我觉得应该挺有前景吧。游戏上线一段时候后,我陆续增强了一些功能,现在大家看到的是第二版。游戏规则很简单,玩家加入游戏后,会定时获得金钱,花钱出兵,摧毁敌方基地就胜利了。

下面简单介绍一下这个游戏是怎么实现的。游戏引擎是Unity。我们先看最重要的代码,获取弹幕内容并解析。这里用到了B站的一个弹幕API,我们直接请求,然后会返回一个json,直接解析就可以了。然后逐条处理用户指令。这是我这个游戏的用户指令处理流程。首先处理加入游戏的指令,如果用户已经加入了游戏,就计算一下他出兵要花多少钱,再进行对应的处理。然后我们来看游戏本身的逻辑。每分钟刷一条龙,定时加钱,刷新UI。就这么简单。还有一个游戏里面单位的逻辑。单位的移动直接用Unity自带的导航,代码里基本不用处理。创建单位的时候设置导航目标为敌方基地就可以了。单位在移动的过程中,会判断攻击范围内是否有敌人,如果有,就进行攻击。否则继续前进。整个游戏的代码就只有这么少。最后我们来看下游戏的场景。就放了两个基地,还有小兵和龙的出生点,其他就没什么了。接下来就能开始直播弹幕互动游戏了。

v2.0

半年前我发了一个简短的弹幕互动游戏开发教程的视频,很多人找我要源码,这次我把一个升级版的弹幕互动游戏代码免费分享给大家学习参考,获取方式可以看视频简介。

之前那个版本的弹幕互动游戏是只能够获取弹幕,不能获取礼物的,而且有时候还会失效。这次这个版本增加了礼物的获取功能,不过同时也引入了一个外部依赖。

我们需要通过WebSocket来获取直播的送礼数据,因为在Unity里面实现这个功能很麻烦,所以我写了一个Python脚本来实现。这个脚本通过WebSocket连接B站的服务器,并且不断的获取弹幕和送礼数据,然后提供一个HTTP的API接口,供游戏获取弹幕和送礼信息。

那么在Unity里面,弹幕获取的这部分代码需要稍微修改一下,来适配我的脚本。这里注释掉的这些代码是上一个版本直接调用B站API获取弹幕信息的代码,下面这部分是新版本的代码。改动不多,新增了一个处理送礼的函数。大家到时候自己看代码吧,我写了很多注释。

运行的时候,先执行Python脚本。关于Python环境搭建相关的内容不是本视频的重点,所以麻烦大家自行去B站搜索相关视频学习。脚本执行后就可以获取到弹幕和送礼信息了。这个时候我们再运行游戏就可以了。

以上就是这个视频的全部内容,投币过一百我会更新下一期弹幕互动游戏制作的视频,谢谢大家。