我最近决定开始为纸牌游戏编写引擎。我不是“纸牌”游戏玩家,但有一位朋友向我介绍了这款游戏(这是丹麦游戏的一个转折),我坠入了爱河。
我想在3个方面开发游戏:
- 基本引擎,处理卡/牌组/游戏状态等
- 用户界面(以移动/桌面Web应用程序的形式。)
- 具有各种策略/困难等的人工智能
在我看来,这些都是截然不同的项目……从长远来看,我很努力地看到它们如何融合在一起。一开始,我什至不希望能够使用引擎“玩”游戏。发动机将主要通过单元测试进行测试。在客户端存在之前,不会开始播放测试。因此,这里存在一种客户-服务器关系。
发动机是很大的难题。我想知道的是:您将如何为该引擎开发“公共API”?
我当时以为引擎可能是一个非常基本的Web服务,可以通过向RESTful API的查询返回其状态,但是我担心将引擎本身开发为Web应用程序可能会导致糟糕的编程决策。(例如,如果我选择了MVC微框架,那么该API并不会真正拥有视图...它只是通过JSON返回序列化的对象,或者类似的东西。将MVC用于类似这样的服务是否不好?这个? )
我的另一个想法是,该引擎将只是一个控制台应用程序,稍后我将编写某种形式的桥梁,以在其与Web应用程序之间传递数据。(桥接实际上可以是任何东西。我的意思是,Web服务器和游戏引擎都可以在IRC服务器中闲置并在通道中共享其状态。)
您将采用哪种方法(作为Web服务开发,或者作为独立应用程序开发并在以后进行桥接),为什么?
谢谢,罗比。
编辑:所以我想这属于游戏开发。为了澄清,我将编写一个纸牌游戏引擎。我正在尝试找出公开引擎API的最佳方法,以便将来可以与Web客户端和AI客户端集成。
我什至在这里都没有帐号,所以您好:)