Servidor de juegos Python
Un paquete para Python 3.6+ que contiene una arquitectura cliente-servidor lista para juegos y un protocolo de red basado en UDP.
Se ocupa de problemas como la pérdida de paquetes o la congestión de la red para que usted no tenga que hacerlo. En su lugar, le brinda una API de alto nivel para conectar fácilmente clientes y servidores que comparten un estado de juego sincronizado e intercambian eventos. El marco asíncrono para este es curioso, lo recomiendo encarecidamente.
PyGaSe está diseñado para ser fácil de usar, liviano, rápido, escalable y confiable. Puedes crear un juego en línea de ritmo rápido en tiempo real con esto. También puedes crear un MMO a gran escala con miles de clientes si lo deseas.
Estoy desarrollando activamente PyGaSe en el contexto de varios proyectos de juegos independientes y estoy feliz de compartirlo.
CAMBIO IMPORTANTE : La versión 0.2.0 es básicamente una nueva API y la actualización desde la 0.1.9 o anterior romperá su código. También es mucho más estable, flexible y potente, así que asegúrate de utilizar 0.2.0 o superior.
pip install pygase
o mejor aún poetry add pygase
. En serio, usa poesía, es una revelación.
Para obtener documentación de API y una sección de introducción, vaya aquí.
Este juego de ejemplo implementa un juego de etiqueta en línea, en el que los jugadores pueden moverse, mientras que uno de ellos es el cazador que tiene que atrapar a otro jugador. Un jugador que ha sido atrapado se convierte en el siguiente perseguidor y puede atrapar a otros jugadores después de una cuenta regresiva de protección de 5 segundos.
Primero ejecute server.py
, luego ejecute client.py
en sesiones de terminal adicionales para agregar jugadores. Utilice únicamente el mismo nombre de jugador una vez.
Puede utilizar el módulo logging
estándar. En el nivel INFO
obtendrá resultados de registro para eventos como inicios, apagados, nuevas conexiones o desconexiones. En el nivel DEBUG
, obtiene resultados detallados hasta el nivel de envío, recepción y manejo de paquetes de red individuales.
Los registros de depuración también son una buena forma de comprender el funcionamiento interno de PyGaSe.
logging
estándar.Backend
agregada para reducir el texto repetitivo del lado del servidor