Melhores motores de jogo Python

Best Python Game Engines



Para escrever jogos de computador (nós, mais velhos, os chamamos de videogame!), Você pode estar se perguntando: por onde eu começo? Para fazer um jogo jogável em um período de tempo decente e, ao mesmo tempo, aprender como o programa funciona, você precisará de uma estrutura de jogo. A estrutura cria muitas das construções de que você precisará para que seus jogos funcionem. Você não quer inventar isso sozinho. Isso inclui como desenhar qualquer coisa para a tela, como detectar uma colisão e como manter a pontuação.

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







Por que motores de jogo?

Ao começar a programar seu jogo, você apreciará o poder de ter todos os princípios básicos prontos, como classes e funções. Dessa forma, você pode começar e se concentrar nas particularidades de seu projeto. Você pode se perguntar qual é a diferença entre uma estrutura e um motor de jogo. Em um alto nível, o motor de jogo implementa todas as operações rápidas - principalmente gráficos. A estrutura implementa a lógica, as coisas que você deseja incluir no jogo - a história, se 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 dentro da biblioteca. Graças a este design, você pode trocar partes da biblioteca sempre que suas necessidades mudarem. O mixer, por exemplo, é um software separado; portanto, se você avançar mais em sua programação, poderá alternar para outro software. A máquina de renderização de gráficos também é separada e assim por diante. Na verdade, você poderia usar o PyGame para criar o protótipo de um jogo e fazer a transição, uma peça de cada vez, para um software mais avançado. Com isso dito, PyGame já tem um grande número de jogos sob seu nome.



Começar a usar o PyGame é fácil, mas você pode torná-lo ainda mais fácil. O pacote pgzero é feito para professores mostrarem programação. Com o pacote, você pode escrever facilmente muitas partes do seu jogo sem um código clichê.





Desapontado

Você também pode instalar o Kivy como módulos Python. Esta é a melhor maneira de usar Python para qualquer estrutura. Kivy tem mais recursos do que PyGame e cria resultados mais refinados. Para começar, Kivy tem ótimos tutoriais diretamente em sua página inicial. Um ponto forte do Kyvi é a linguagem Kv Design. Esta linguagem de design facilita a criação de menus, 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.

Em sua página, eles também detalham como começar a usar o Kivy com o PyCharm. Também existem extensões para implantação em Android e iOS. Isso é um pouco mais fácil do que usar PyGame.



pyglet-3D

À primeira vista, pyglet parece pequeno e limitado, mas há profundidade escondida sob a simplicidade. Este programa oferece suporte a OpenGL, embora não tenha dependências, embora você possa estender os recursos de mídia chamando ffmpeg. O Pyglet também lida com configurações de monitor duplo. Existem bibliotecas de terceiros disponíveis que estendem o sistema. Você deve conhecer essas bibliotecas para todos os recursos que elas adicionam. Você também pode usar o glooey para criar uma GUI consistente para seu aplicativo. Use PyShaders para renderizar e Ratcave para lidar com cenas 3D. Se você começar com o pyglet3d, é bom saber que o cocos2d usa o pyglet. Este programa constrói uma estrutura abrangente para aplicativos de jogos e outros aplicativos baseados em GUI.

Panda3D

Este não é um pacote que você pode usar para aprender a programar ou para fazer um jogo facilmente. O que você obtém aqui é uma ferramenta profissional para criar animações e jogos. O Panda3D é escrito em C ++ para proteger o desempenho. A maior parte do manual, entretanto, aponta para usuários de Python. Embora a ideia por trás do Panda3D seja que os desenvolvedores de jogos façam seus jogos usando 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 um pouco de programação Python, este sistema já está muito além de qualquer coisa que você queira criar. Afinal, a Disney está usando para seus produtos comerciais!

Ren’Py

Você provavelmente leu este post porque deseja criar jogos. Este pacote é para a criação de romances visuais. Se você ainda não pensou em sua ideia de projeto, agora é a hora. Você pode querer fazer um jogo baseado em uma história que requer um formato narrativo. É para isso que existe o 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 aprimorar o Panda

Se você achar que o Panda está com alguma deficiência, tente usar o Ursina. Este é um projeto de desenvolvedor único, então não dependa deste pacote para projetos maiores, a menos que você esteja disposto a contribuir. Dito isso, Ursina é um aprimoramento do Panda3D. O projeto também é muito ativo e várias pessoas contribuíram para ele.

Fazer um jogo com este framework é muito fácil e feito em poucas linhas de código. Se você acha que seu projeto pode se expandir, não se preocupe. Este programa é construído no Panda, então quando suas necessidades aumentarem, você pode usar qualquer uma das funções do Panda3D. Isso proporciona uma decolagem rápida juntamente com a potência de um sistema estabelecido.

Conclusão

Para começar a aprender e usar uma nova estrutura de desenvolvimento de jogos, escolha alguns tutoriais e execute-os. Não escolha muitos, você estará apenas perdendo seu tempo. Comece qualquer projeto simples, decida alguns recursos e tente fazê-los funcionar juntos. Quando terminar um projeto, você terá mil ideias para o próximo. Sua escolha do motor de jogo não é tão vital, contanto que você reavalie sua escolha com antecedência. Isso torna a eventual transição para um melhor menos complexa e mais eficiente.