我决定开始编写我最喜欢的编程.我以前从未做过游戏,也从未用Python做过大型项目.
这场比赛是古老的阿瓦隆山比赛俄罗斯战役
我一直在玩PyGame,并且想知道是否有理由不尝试用PyGame做这个并且去追求其他引擎/语言.
使用Pygame构建它的缺点是什么?
我并不担心人工智能,主要是我只是喜欢让游戏的最小两个版本运行起来.奖金将是保存游戏状态以及通过网络进行游戏的能力.
我们非常感谢Do和Dont的开始这个项目.
分离"后端"引擎(跟踪棋盘状态,从前端接收移动命令,生成随机数以解决战斗,向前端发送更新,处理保存和恢复特定游戏,......)来自"前端"的,基本上为所有这些提供用户界面.
PyGame是一种适用于客户端前端的技术,但您可以实现多个前端(可能是PyGame,一个基于浏览器的,一个基于文本的前端,等等).当然,后端可能不太关心PyGame或其他UI技术.Python适用于大多数前端(除了那些需要在Javascript,Actionscript等中,如果你为浏览器,Flash等编写前端;-)并且对于后端非常好.
将后端和前端作为单独的进程运行,并尽可能简单地进行通信 - 对于回合制游戏(我相信这是一个游戏),XML-RPC或一些更简单的变体(JSON有效载荷返回和通过HTTP POST并回复它们,比如说)看起来最好.
我从后端开始(可能正如我所提到的那样使用JSON作为有效负载),作为一个简单的WSGI服务器(可能有一些werkzeug等来帮助使用mdidleware),并且简单如下-dirt调试命令行客户端.在每个步骤中,我将充分利用服务器端(后端)或客户端(前端),避免做太大或任何同时"步骤".我不会使用"重型"技术,也不会使用任何大框架来做我背后的神奇事物(没有ORM,Django,SOAP,......).
确保你使用一个很好的源代码存储库(比如hg,或者如果你知道你将独自完成它,或者如果你已经知道它们,那么可能是svn或者是bazaar或git).