分离“后端”引擎(跟踪董事会状态,从前端接收移动指令,生成随机数以解决战斗,将更新发送到前端,处理保存和恢复特定游戏等)。从“前端”开始,基本上为所有这些提供用户界面。
PyGame是一种适用于客户端前端的技术,但您可以实现多个前端(可能是PyGame,一个基于浏览器的前端,一个用于调试的基于文本的前端,等等)。当然,后端可能不太在乎PyGame或其他UI技术。Python适用于大多数前端(如果您为浏览器,Flash等编写前端,则必须使用Javascript,Actionscript等语言;-)以及适用于后端。
将后端和前端作为独立的进程运行,并尽可能轻松地进行通信-对于基于回合的游戏(我相信这是一个回合游戏),XML- RPC或什至更简单的变体(JSON有效负载可以追溯到最好通过HTTP POST并回复它们)。
我将从后端(就像我提到的那样,可能使用JSON来处理有效负载)开始,作为一台简单的WSGI服务器(也许可以使用werkzeug之类的东西来帮助mdidleware),以及一个简单的- dirt调试命令行客户端。然后,在每个步骤中,我都将仔细地丰富服务器端(后端)或客户端端(前端),以避免做太大或任何同时的“步骤”。我不会使用“繁重的”技术,也不会使用任何大型框架来做不可思议的事情(没有ORM,Django,SOAP等)。
确保您使用了良好的源代码存储库(例如hg,或者如果您知道将自己完成所有操作,则可以使用svn;如果您已经知道它们,则可以使用bazaar或git)。