大家好,我想在不朝错误方向走太远之前就寻找建筑设计的建议。

我已经为2v2的4人局卡片游戏编写了大部分游戏逻辑,使用Java。
引擎处理每轮/套餐,转场,计分,捕捉/偷窃规则,以及状态转换。
我还制作了局部测试程序(控制台+基本Swing UI),因此游戏循环起作用。

现在我试图决定制作什么样的产品流程,特别是如果我要在Steam上发布。

目前的问题:

  1. 设计选择

  2. 我应该只用Java,并在桌面客户端上建立一个完整的客户端(JavaFX)吗?

  3. 或者我应该让客户端迁移到Unity / Godot / Electron中,只用Java来做后端/游戏逻辑?
  4. 如果Steam是目标,那么最长期最实用的UI/客户端路径是什么?

  5. 基础架构选择

  6. 这是否是一个好的分离:Java游戏引擎 + Spring Boot后端 + 单独的客户端应用?

  7. 后端是否应该对所有移动都负责(来 Prevention CHEATING/デスポ)的??
  8. 为4人局比赛 structura 房间/会话状态的最佳方法?

3.Steam集成时间

  • 如果我在Steam上发布,我应该优先考虑Steam的相关或back-end 的事项?
  • 我应该先正常验证现有用户,然后再添加Steam验证标签?
  • 在从试验验证移动到Steam账号时,我有什么考虑?

4 .多人传输

  • 对于交互式的游戏,即使是 WebSocket 的最佳默认值?
  • 有推荐的模式,对于重连、丢弃玩家的和状态重新同步?

4 。测试挑战(不小心需要4个玩家)

  • 游戏需要4个玩家的测试早期的最佳方法是什么?
  • 我应该先将机器人建成,多个客户端本地模拟,还是两者都进行?
  • 我需要测试房间、轮次和边界的情况而不需要找四个人类测试流程是什么?

5.迁移策略

  • 如果你在这个位置(Java 逻辑已完成),你会逐步执行从原型到Steam ready多人发布的蓝图什么?

我最想获得的是,不要重写核心逻辑两次,最低风险,最可维护的路径,如果有人在过类似的小型多人卡/道具游戏,谢谢栈选择和排序的具体建议。