我刚刚发布了 RPS联盟 的 世界Bosses 更新,这一更新引入了服务器级别的合作式BOSS战斗,每个连接的玩家都将与同一个BOSS战斗。 RPS联盟 是一个实时基于浏览器的石头剪刀布预测游戏,每5秒都会有一个全球比赛结束,并且每个玩家都将预测比赛的结果。 进展是围绕着攀升到 40+ 个动画点等级的, 从 百万 到 四十万亿,每个里程碑都会引入一个完全新的视觉身份。 在路上,闪烁事件、玩家节日和预定的全球事件不断地转变着这个体验。 长期目标包括遗物建造、竞争性排行榜、一个包含100+成就的成就编码以及可选的升级,使进展成为一个速度跑式的优化循环。 世界Bosses 更新完全替换了正常的预测竞技场,在战斗中使用一个专门的BOSS战斗界面。 在一个30秒的警告阶段之后,所有连接的玩家都会进入一个同步的战斗,通过 服务器发送事件(SSE) 共享一个单独的BOSS生命值池,并在一个实时伤害排行榜上竞争。 更新引入了四个独特的BOSS,带有自定义动画、音频、战斗主题、一个从普通到彩虹的六个等级的宝箱奖励系统、十四个独特的世界BOSS遗物、八个新动画的末日点等级、基于玩家参与度的动态生命值缩放以及每个贡献伤害的玩家都能获得奖励。 从开发的角度来看,一些更有趣的实现挑战包括: 无限缩放:原生 BigInt 结合 PostgreSQL NUMERIC 允许进展从百万到 四十万亿 而不丢失浮点精度。 实时事件编排:一个优先级排序的 Zustand 队列序列重叠的UI事件,如闪烁事件、成就、遗物掉落、升级和BOSS奖励,使高优先级动画在五秒的比赛周期中永远不会碰撞。 高频率性能:实时活动流是通过 React refs 与定时渲染循环而不是连续状态更新进行分阶段的,保持界面响应性,尽管有一个实时事件的不断流动。 服务器同步:世界BOSS战斗、全球事件和实时比赛更新是通过 服务器发送事件(SSE) 同步的,而浏览器API则协调客户端行为跨浏览器标签。 该项目还包括一个基于 Gemini API 的 AI 驱动的 Oracle,它将一个受控的游戏知识库与实时 PostgreSQL 传感器结合起来,回答机械问题、分析实时比赛,并通过严格的意图护栏保持在其预期的域内。 我非常欢迎对架构、实时系统、进展设计或其他任何引人注目的方面的反馈。 实时游戏:https://rpsleague.fi GitHub:https://github.com/AlexDegerman/rps-league-app
我在我的实时石头剪刀布预测游戏中添加了合作式世界BOSS战斗
评论 (0)