游戏就绪的客户端-服务器架构和基于udp的网络协议-易于使用、轻量级、快速、可扩展和可靠
pygase的Python项目详细描述
皮加斯
pythongamesese rver
python 3.6+的一个包,包含一个游戏就绪的客户机-服务器体系结构和基于udp的网络协议。
它处理的问题,如包丢失或网络拥塞,所以你不必。相反,它给了你 一个高级api,用于轻松连接共享同步游戏状态和交换事件的客户端和后端。 这个框架的异步框架是curio,我强烈建议使用这个框架。
PyGase的设计易于使用、重量轻、速度快、可扩展且可靠。 你可以用它建立一个快节奏的实时在线游戏。 如果你愿意的话,你也可以建立一个拥有数千个客户端的大型mmo。
我正在几个独立游戏项目的背景下积极开发pygase,我很高兴与大家分享。
中断更改:版本0.2.0基本上是一个新的api,从0.1.9或更低版本更新将中断代码。 {EM1}$,它也更加稳定、灵活和强大,所以请确保使用0.2.0或更高。
安装
pip install pygase
或者更好的是poetry add pygase
。说真的,用poetry,这是一个启示。
用法
API参考和教程
对于api文档和入门部分,请转到here。
示例
This example game实现了一个标记的在线游戏, 玩家可以四处移动,而其中一个是追赶者,必须抓住另一个玩家。 一个被抓住的玩家将成为下一个追逐者,并且在5秒保护倒数后可以抓住其他玩家。
先运行server.py
,然后在其他终端会话中运行client.py
以添加播放机。
只使用相同的玩家名称一次。
调试和记录
您可以使用标准的logging
模块。在级别INFO
上,您将获得以下事件的日志输出
启动、关闭、新连接或断开。在DEBUG
级别上,您可以直接获得详细的输出
发送、接收和处理单个网络包。
调试日志也是理解pygase内部工作的好方法。
更改
0.3.1
- 改进的文档
- 小日志修复
0.3.0
- 从今往后一直坚持下去
- 使用标准
logging
模块添加日志记录 - 改进事件处理程序参数
Backend
添加类以减少服务器端样板文件- 各种错误修复程序
0.2.0
- 彻底检修Pygase 0.1.x,打破API变化