Py thon Ga me Servidor
Um pacote para Python 3.6+ que contém uma arquitetura cliente-servidor pronta para jogos e um protocolo de rede baseado em UDP.
Ele lida com problemas como perda de pacotes ou congestionamento de rede para que você não precise fazer isso. Em vez disso, fornece uma API de alto nível para conectar facilmente clientes e back-ends que compartilham um estado de jogo sincronizado e trocam eventos. A estrutura assíncrona para este é curio, que eu recomendo fortemente.
PyGaSe foi desenvolvido para ser fácil de usar, leve, rápido, escalonável e confiável. Você pode construir um jogo online rápido em tempo real com isso. Você também pode construir um MMO em grande escala com milhares de clientes, se desejar.
Estou desenvolvendo ativamente o PyGaSe no contexto de vários projetos de jogos independentes e estou feliz em compartilhar isso.
MUDANÇA DE QUEBRA : A versão 0.2.0 é basicamente uma nova API e a atualização de 0.1.9 ou inferior irá quebrar seu código. Também é muito mais estável, flexível e poderoso, então certifique-se de usar 0.2.0 ou superior.
pip install pygase
ou melhor ainda, poetry add pygase
. Sério, use poesia, é uma revelação.
Para documentação da API e uma seção de primeiros passos , clique aqui.
Este exemplo de jogo implementa um jogo online de pega-pega, no qual os jogadores podem se movimentar, enquanto um deles é o caçador que deve pegar outro jogador. Um jogador que foi pego se torna o próximo perseguidor e pode pegar outros jogadores após uma contagem regressiva de proteção de 5s.
Execute server.py
primeiro e, em seguida, execute client.py
em sessões de terminal adicionais para adicionar jogadores. Use o mesmo nome de jogador apenas uma vez.
Você pode usar o módulo logging
padrão. No nível INFO
você obterá resultados de registro para eventos como inicializações, desligamentos, novas conexões ou desconexões. No nível DEBUG
você obtém resultados detalhados até o nível de envio, recebimento e manipulação de pacotes de rede únicos.
Os logs de depuração também são uma boa maneira de entender o funcionamento interno do PyGaSe.
logging
padrãoBackend
adicionada para reduzir o clichê do lado do servidor