Project1

标题: 获取B站直播弹幕和利用弹幕接收指令 [打印本页]

作者: ppspssss    时间: 2021-8-2 22:42
标题: 获取B站直播弹幕和利用弹幕接收指令
本帖最后由 ppspssss 于 2021-8-3 12:58 编辑

本贴仅本人猜测和研究, 请勿尝试, 看完就算

前几天看到有个人@jimmy167 说使用直播软件的弹幕来参加游戏, 我就想研究一下
https://rpg.blue/forum.php?mod=viewthread&tid=486528
可他几天没有上线, 就想有没些软件能获取一下用户弹幕发言, 搜索百度, 发现有"B站彈幕姬"
粗略说 (无視我)
并实时输出储存至一个lastrun.txt的文本中, 这就利用读取文本 "Ruby 文件的输入与输出" 的方式读取遍历每一行, 获取文本后include?("收到彈幕:") 和split(/:/) 分割出用户名 和 所说的话  然后利用枚举法自行定制指令控制游戏, 例如jimmy167的游戏是获取B站用户之名字, 当用户发出之指令为"参加",就把用户加至游戏里


RUBY 代码复制
  1. ##以下代码没经测试纯粹参考用
  2. $subject=[]
  3. $subject = File.readlines("lastrun.txt")
  4. for i in 0...$subject.size  #遍历所有行数
  5. $subject[i].chomp! #!發生變化并返回  删换行符
  6. if $subject[i].include?("收到彈幕:")
  7. nnn = $subject[i].split(/:/)[4].to_s #分割利用冒号
  8. 名字 = nnn.sub!(/ .*?说/, "")  #分别删除空格和说
  9. 内容 = $subject[i].split(/:/)[5].to_s #注意前多了一个空格
  10. end #if
  11. end #for
  12.  
  13. ####以下清空文本用 (每获取指令后清空一次)
  14.  
  15. f = File.open("lastrun.txt","w+") #a+意思:讀取,写入,覆盖原文件,文件不存在自动创建
  16. f.write("") #清空用
  17. f.close #关闭文本



相关文章: 几万人同时用弹幕控制一个游戏人物
https://www.sohu.com/a/162950053_628730

互动游戏缺点 很明显 :
1.指令发送延迟很大,twitch直播低延迟模式也要3秒钟, B站8秒最短, 我觉得策略游戏比较合适
2.由于指令发送简单, 所以基本也只能应用于简单游戏, 玩家输入也较麻烦
3.弹幕发送间隔有限, 只能低速操作, 不能频发(B站測了是4秒)
4.指令字数有限 (B站20个中英占用1个) (twitch中英500个字符)
5.指令要公示到直播屏幕上, 还要简单易懂, 因文字较多需要1080P并且要全屏幕才看得清, 但这发弹幕又不能全屏幕缩小屏的, 比较麻烦, 而且屏幕位置极为有限, 占用很多位置
6.游戏种类限制极大, 由于种种缺点, 实质上能做的游戏屈指可数,像植物大战僵尸,塔防游戏还行,
7.指令不像键盘一样, 要每次操作也要输入

综合缺点其实直接做联机游戏更为合适,


作者: guoxiaomi    时间: 2021-8-2 23:49
本帖最后由 guoxiaomi 于 2021-8-2 23:50 编辑

我觉得这个想法很好,可以做一个B站直播间的游戏,游戏内容就是一个咖啡厅,如果有人进来了,就创建这个人对应的角色,然后在咖啡厅里乱走。弹幕也可以控制这个角色跟其他人打招呼或者买咖啡坐下,还可以打打工啥的,总之也算是个MMO
作者: 走出300加    时间: 2021-8-3 00:10
guoxiaomi 发表于 2021-8-2 23:49
我觉得这个想法很好,可以做一个B站直播间的游戏,游戏内容就是一个咖啡厅,如果有人进来了,就创建这个人 ...

那天我看到那个帖子后就去B站玩了下,先玩了仙剑,可以控制方向,不过要一直输入,太坑了没法玩。
然后玩了连连看和打僵尸,
感觉还是不太行,还需要开发下玩法。
你说的MMO就和仙剑一样,想的很好,实际体验差。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1