为了在我的空间探索型rogue-lite游戏中增加流媒体主播的参与度,我决定暂停游戏的开发,添加一些可能对社区有价值的内容。花了一天时间添加了Twitch聊天投票功能,使得能力选择变得更加互动。
让我感到惊讶的是,即使不使用Twitch SDK或OAuth,只要读取聊天就不需要它们。通过WebSockets连接到Twitch的IRC服务器,使用“justinfanX”(他们的匿名只读模式)进行身份验证,就可以读取任何公共频道的聊天,没有开发者应用设置的必要。
我在这个过程中发现了几个事项:
建议性投票,非强制性投票:投票计数是可见的,但流媒体主播仍然有选择权。这种方式可以创造紧张感(聊天中争论),而且不会移除主播的控制权。这样也可以避免零投票、平票和垃圾信息的边缘案例,因为主播仍然有最后的决定权。添加强制模式并不是很困难,如果有需求的话。
简单命令:!1、!2、!3用于选择能力。!r、!b、!s用于动作。这些命令很容易输入,也很容易在屏幕上阅读。
流媒体主播可见的HUD小部件:一个小的“TWITCH: VOTING ACTIVE”指示器,让流媒体主播知道连接是活跃的。如果这个功能被禁用,这个指示器就会隐藏起来。
实现成本:大约花了一天时间,包括UI工作。WebSocket连接本身在Unreal中可能需要100行代码。
集成功能是容易的。UX花了更长的时间。除了它只是UMG...哈...,还需要考虑很多问题,如投票计数显示的大小、动作按钮投票的位置、如何表示剩余时间而不让它干扰选择。它可以进一步改进,但目前应该是足够的。
我可以添加更多的聊天互动。让聊天生成敌人、从聊天中拉取参与者姓名作为boss等功能都很容易。暂时不添加这些功能,等待需求的指引(如果这项功能没有效果,那就白费时间了!)。回到完成游戏之前的下一个节目(Next Fest)和6月23日的发布。
如果有谁打算添加类似的功能,我很乐意深入探讨细节。
- Chris / NQR Games
评论 (0)