Serveur de jeu Python
Un package pour Python 3.6+ qui contient une architecture client-serveur prête pour le jeu et un protocole réseau basé sur UDP.
Il traite des problèmes tels que la perte de colis ou la congestion du réseau afin que vous n'ayez pas à le faire. Au lieu de cela, il vous offre une API de haut niveau pour connecter facilement les clients et les backends qui partagent un état de jeu synchronisé et échangent des événements. Le framework asynchrone pour celui-ci est curio, que je recommande vivement.
PyGaSe est conçu pour être facile à utiliser, léger, rapide, évolutif et fiable. Vous pouvez créer un jeu en ligne rapide en temps réel avec cela. Vous pouvez également créer un MMO à grande échelle avec des milliers de clients si vous le souhaitez.
Je développe activement PyGaSe dans le cadre de plusieurs projets de jeux indépendants et je suis heureux de le partager.
CHANGEMENT RUPTURE : La version 0.2.0 est fondamentalement une nouvelle API et la mise à jour à partir de la version 0.1.9 ou inférieure cassera votre code. Il est également beaucoup plus stable, flexible et puissant, alors assurez-vous d'utiliser la version 0.2.0 ou supérieure.
pip install pygase
ou mieux encore, poetry add pygase
. Sérieusement, utilisez la poésie, c'est une révélation.
Pour la documentation de l'API et une section Mise en route, cliquez ici.
Cet exemple de jeu implémente un jeu de chat en ligne, dans lequel les joueurs peuvent se déplacer, tandis que l'un d'eux est le poursuivant qui doit attraper un autre joueur. Un joueur attrapé devient le prochain poursuivant et peut attraper d'autres joueurs après un compte à rebours de protection de 5 secondes.
Exécutez d'abord server.py
, puis exécutez client.py
dans des sessions de terminal supplémentaires pour ajouter des joueurs. N'utilisez le même nom de joueur qu'une seule fois.
Vous pouvez utiliser le module logging
standard. Au niveau INFO
vous obtiendrez une sortie de journalisation pour les événements tels que les démarrages, les arrêts, les nouvelles connexions ou les déconnexions. Au niveau DEBUG
vous obtenez une sortie détaillée jusqu'au niveau de l'envoi, de la réception et de la gestion de packages réseau uniques.
Les journaux de débogage sont également un bon moyen de comprendre le fonctionnement interne de PyGaSe.
logging
standardBackend
ajoutée pour réduire le passe-partout côté serveur