Melhores motores de jogo Python

Melhores motores de jogo Python
Para escrever jogos de computador (nós, idosos, chamamos de videogames!), você pode estar se perguntando: “Por onde eu começo?”Para fazer um jogo jogável em um prazo decente e também aprender como o programa funciona, você precisará de uma estrutura de jogo. A estrutura cria muitos dos construtos que você precisará para que seus jogos funcionem. Você não quer inventá -los você mesmo. Isso inclui como desenhar qualquer coisa para tela, como detectar uma colisão e como manter a pontuação.

Mesmo fazer as coisas se moverem na tela é complexa sem alguma biblioteca subjacente. Neste artigo, você aprenderá sobre quais pacotes fazem o quê e como é fácil começar seu jogo.

Por que os motores de jogo?

Quando você começa a programar seu jogo, você apreciará o poder de ter todo o básico pronto, como aulas e funções. Dessa forma, você pode começar e se concentrar nos detalhes do seu projeto. Você pode se perguntar qual é a diferença entre uma estrutura e um mecanismo de jogo. Em um nível alto, o motor do jogo implementa todas as operações rápidas - principalmente gráficos. A estrutura implementa a lógica, as coisas que você deseja colocar em seu jogo - a história, se você quiser.

Pygame

Este é um conjunto de módulos Python. Este conjunto de módulos é deliberadamente pequeno para facilitar o início. Os designers também decidiram criar muitas pequenas peças na biblioteca. Graças a este design, você pode trocar partes da biblioteca sempre que suas necessidades mudam. O misturador, por exemplo, é um software separado; Portanto, se você ficar mais avançado em sua programação, poderá mudar para outro software. A máquina de renderização gráfica também é separada e assim por diante. De fato, você pode usar o Pygame para prototipar um jogo e fazer a transição de uma peça de cada vez para software mais avançado. Com isso dito, o Pygame tem um grande número de jogos em seu nome já.

Introdução ao Pygame é fácil, mas você pode facilitar ainda mais. O pacote pgZero é feito para os professores mostrarem programação. Com o pacote, você pode escrever facilmente muitas partes do seu jogo sem código de caldeira.

Kivy

Você pode instalar Kivy como módulos Python também. Esta é a melhor maneira de usar o Python para qualquer estrutura. Kivy tem mais recursos do que pygame e cria resultados mais polidos. Para começar, Kivy tem ótimos tutoriais em sua página inicial. Uma força de Kyvi é a sua linguagem de design KV. Esta linguagem de design facilita a criação de menus, o plano de jogo e todos os gráficos. Graças a este sistema, você não precisa criar imagens para os gráficos mais simples.

Na página deles, eles também detalham como começar a usar Kivy com PyCharm. Também existem extensões para implantar para Android e iOS. Isso é um pouco mais fácil do que usar pygame.

pyglet-3d

À primeira vista, o piglet parece pequeno e limitado, mas há profundidade escondida sob a simplicidade. Este programa suporta o OpenGL, embora não tenha dependências, embora você possa estender os recursos de mídia chamando o FFMPEG. O pyglet também lida com configurações de monitor duplo. Existem bibliotecas de terceiros disponíveis que estendem o sistema. Você deve saber sobre essas bibliotecas para todos os recursos que eles adicionam. Você também pode querer usar Glooey para fazer uma GUI consistente para sua aplicação. Use pyshaders para a renderização e ratcave para lidar com cenas 3D. Se você começar com pyglet3d, é bom saber que o cocos2d usa pyglet. Este programa cria uma estrutura abrangente para aplicativos de jogo e outros aplicativos baseados em GUI.

Panda3d

Este não é um pacote que você pode usar para aprender programação ou para fazer um jogo facilmente. O que você ganha aqui é uma ferramenta profissional para criar animações e jogos. O Panda3D está escrito em C ++ para proteger o desempenho. A maior parte do manual, no entanto, aponta para os usuários do Python. Embora a idéia por trás do Panda3D seja para os desenvolvedores de jogos fazer seus jogos usando o Python, você também pode usar C++.

O Panda3D é um sistema muito capaz e até vem com seu próprio SDK. Se você está disposto a se esforçar e já conhece alguma programação em Python, este sistema já está muito além de qualquer coisa que você queira criar. Afinal, a Disney o está usando para seus produtos comerciais!

Ren'py

Você provavelmente leu este post porque deseja criar jogos. Este pacote é para criar romances visuais. Se você ainda não pensou na ideia do seu projeto, agora é a hora. Você pode querer fazer um jogo baseado em histórias que requer um formato narrativo. É para isso que é Ren'py.

Já existem muitos jogos comerciais escritos em Ren'py e haverá mais por vir. Você também pode criar um romance visual e torná -lo um jogo. Com Ren'py, você pode criar tudo usando principalmente editores de texto.

Ursina para melhorar o panda

Se você encontrar panda falta de alguma forma, tente usar ursina. Este é um projeto de desenvolvedor único, portanto, não dependa deste pacote para projetos maiores, a menos que você esteja disposto a contribuir. Dito isto, Ursina é um aprimoramento para o Panda3D. O projeto também é muito ativo e há várias pessoas que contribuíram para ele.

Fazer um jogo com esta estrutura é muito fácil e feito em muito poucas linhas de código. Se você sentir que seu projeto pode se expandir, não se preocupe. Este programa é construído no Panda; portanto, quando suas necessidades aumentam, você pode usar qualquer uma das funções do Panda3D. Isso lhe dá uma decolagem rápida ao lado do poder de um sistema estabelecido.

Conclusão

Para começar a aprender e usar um novo jogo desenvolvendo estrutura, escolha alguns tutoriais e passe por eles. Não escolha muitos, você estará desperdiçando seu tempo. Inicie qualquer projeto simples, decida muito poucos recursos e tente fazê -los trabalhar juntos. Quando você terminou um projeto, você terá mil idéias para o próximo. Sua escolha de mecanismo de jogo não é tão vital, desde que você reavalie sua escolha cedo o suficiente. Isso é para tornar a eventual transição para uma melhor menos complexa e mais eficiente.