Thi*_*att 5 architecture state multiplayer node.js redux
我正在实施一个在线TCG游戏(想像《炉石传说》 /《魔幻》)作为一个宠物项目,我决定将React / Redux用于客户端UI。这使我考虑在服务器上使用Redux以及维护每个客户端/游戏的全局状态的可能性。
它的工作方式是,游戏中的玩家会将事件(通过socket.io)发送到服务器,该事件将根据游戏状态和规则进行验证,然后触发服务器状态的更改并将其传播到服务器各自的客户。
问题是,我觉得我将不得不跳很多圈来使所有游戏规则/逻辑符合Redux的更多功能/不变方法,而不是将我的所有游戏实体建模为类。另外,由于每个玩家对自己对手的信息都很有限(例如,您看不到另一位玩家的手),因此我必须具有一些自定义逻辑,用于根据接收数据的玩家来过滤状态信息。
另一方面,我喜欢这样的想法:在每个域的不同处理程序之间分配集中状态,可预测的数据流以及回归到先前状态的可能性。同样,Redux中的动作也非常适合命令模式,这对于这类游戏很有用。
我是否应该像状态管理器那样实现自定义Redux,但放弃不变性部分呢?对于这种情况,是否有更“尝试而真实”的方法?
| 归档时间: |
|
| 查看次数: |
549 次 |
| 最近记录: |