8
votes

Comment "lent" est-il python pour le développement de jeux?

J'aimerais essayer ma main dans un développement du jeu PC. Je continue d'entendre que Python est lent que c ++. Est-ce quelque chose que je devrais être inquiet?

Je suis plus familier avec Python que C ++. Si je cherche à faire des jeux, devrais-je prendre le temps d'apprendre c ++ ou de rester avec python?


2 commentaires

Quel type de jeu? Est-ce quelque chose de simple comme Sudoku ou un FPS 3D?


En outre, considérons qu'un certain nombre de jeux utiliser python (ou une autre langue "script", telle que Lua) en dessous. C'est-à-dire que les graphismes lourds / le rendu / physique (où la CPU / GPU craquant compte vraiment) peut être effectuée sur un moteur écrit en C / C ++, tandis que la logique / mécanique du jeu peut être (et souvent) remise.


5 Réponses :


6
votes

elebenty-sept.

Non, vraiment, il est assez rapide pour la plupart des choses et peut chuter à c quand vous avez vraiment besoin d'une vitesse. Profil deux fois, optimisez une fois.


1 commentaires

Erreur d'orthographe - c'est "elebenty sept"



14
votes

Il y a une différence pour être lent pour le développement et être lent au moment de l'exécution. Soyez prudent de ne pas avoir les deux confus.

De nombreux jeux passent la majeure partie de leur temps à attendre la saisie de l'utilisateur ou à attendre une minuterie. Dans ces cas, la vitesse d'exécution est généralement peu importante et plus importante est la vitesse de développement - Obtenir votre jeu sur le marché aussi vite que possible et aussi bon marché que possible et que le jeu aussi bon que possible avec votre budget donné. Pour ce type de jeu, les langues de haut niveau sont un choix approprié.

Pour les jeux nécessitant des performances élevées, le moteur est écrit dans une langue comme C ++, mais le script peut toujours être effectué dans une langue de haut niveau. Python n'est pas le seul choix. Lua est probablement le choix le plus populaire pour une langue de script dans les jeux.


2 commentaires

Bien que je suis d'accord avec vous, lisez simplement «Université pontificale catholique de Rio de Janeiro au Brésil» me fait de ne jamais recommander cela, mais ceci: python sans empilement!


@Steftannch tout ce que vous buvez ... je veux des



4
votes

Le genre de jeu présente immensément. Les jeux de haute performance tels que le Big Name PC ou les jeux de console sont presque exclusivement du domaine de C ++.

Les jeux occasionnels peuvent être écrits dans presque toutes les langues, y compris lentement langues comme Python.

Si vous êtes un développeur de type garage qui tire ses mains mouillées avec un simple développement de jeux pour cette première fois, Python serait plus que suffisant. Si vous avez toutefois l'ambition de travailler pour un studio de développeur de jeu, je recommanderais certainement apprendre C ++.


0 commentaires

2
votes

Beaucoup si pas la plupart des jeux commerciaux top-extrémités Ces jours-ci comprennent une sorte de moteur de script pour la logique de jeu. Les décisions logiques du jeu, pour la plupart, ne sont pas particulièrement sensibles à la performance dans la manière dont par exemple. Le moteur de rendu est.

BTW - Je ne prétends pas une connaissance initiale du développement de jeux - c'est assez bien connu devant le secteur. Certains éditeurs de jeux ont même permis aux utilisateurs d'avoir accès aux éléments de script et autres outils pour les jeux modding - pendant des années.

Si vous trouvez un moteur de jeu enveloppé pour être utilisé à Python, vous traiterez des mêmes principes de base. Écrivez la logique du jeu en Python, et tout ira probablement bien.

pygame est essentiellement enveloppé par Python, en soutenant la plupart des jeux 2D de base (bien que OpenGL puisse être utilisé pour 3D dans SDL - pas sûr de PYGAME).

C'est un bon point de départ. Vous pouvez heurter un problème de performance avec la gestion de vos objets de jeu et l'exécution de votre boucle blate, car seules les graphiques très basiques sont gérées par SDL, mais vous devriez trouver que c'est tout simplement bien pour la plupart des choses.

Comme Ignacio implique - souciez des problèmes de performance lorsque vous savez que vous avez des problèmes de performance, non auparavant. Certains problèmes de performance sont prévisibles à l'avance, mais si vous n'écrivez pas le moteur de jeu réel de Python, vous devriez être correct - ne tombez pas dans le piège d'optimisation prématuré, iow.


0 commentaires

-3
votes

C ++ est beaucoup plus facile pour l'orientation de l'objet. Lorsque vous faites des choses, il est plus facile de garder une trace de tout, car la plupart des IDES pour C ++ sont davantage basés sur des projets, étant comme inactif est davantage basé sur des fichiers unique.

La dernière ligne est pour le développement de jeux, utilisez ce que vous êtes à l'aise avec l'utilisation. Je veux dire, le développement du jeu concerne ce que vous voulez faire, pas ce qui serait mieux, car mieux == ce que vous voulez.


0 commentaires