« Pygame/Introduction à Pygame » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 83 :
Depuis plusieurs années, il y a une tendance intéressante dans le développement de jeux : l'utilisation de langage de plus haut niveau (plus proches de l'utilisateur que de la machine). Généralement un jeu est divisé en 2 parties majeures. Le moteur de jeu, qui doit être le plus rapide possible, et la logique de jeu, qui commande le moteur de jeu. Il n'y a pas si longtemps, le moteur était écrit en assembleur avec quelques portions de C. De nos jours, le C est plus présent dans les moteurs de jeu, tandis que le jeu en lui même est écrit en langage de script de haut niveau. Les jeux comme ''Quake3'' et ''Unreal Tournament'' exécutent ces scripts en tant que bytecode portable.
 
Dans le courant 2001, les developpeursdéveloppeurs de ''Rebel Act Studios'' ont fini leur jeu, ''[[w:Severance: Blade of Darkness|Severance: Blade of Darkness]]''. Ce jeu utilise un moteur de jeu 3D modifié, le reste du jeu est écrit en Python. Le jeu est un jeu d'action à la 3ème personne. Vous contrôlez un guerrier mediéval attaquant et explorant des donjons. Vous pouvez télécharger le 3ème addon pour ce jeu, et vous verrez qu'il n'y a rien d'autre que des fichiers sources en Python.
Beaucoup plus récemment, Python a été utilisé par une grande variété de jeux comme ''Freedom Force'' et ''Humungous' Backyard Sports Series''.
Ligne 89 :
Pygame et SDL s'utilisent comme un excellent moteur de jeu en C pour des jeux en 2D. Les jeux trouvent en grande partie ce dont ils ont besoin dans la SDL pour le graphisme. SDL peut avantageusement utiliser l'accélération graphique matérielle. Vous pouvez optimiser le jeu pour lui faire afficher entre 40 et 200 FPS (images par seconde). Lorsque l'on voit qu'un jeu en Python peut afficher 200 FPS, on réalise que Python et les jeux peuvent se combiner.
Il est impressionnant de savoir que Python et SDL fonctionne sur de multiple plateformes. Par exemple, en mai 2001, j'ai actualisé complètement mon projet avec Pygame : ''SolarWolf'', un jeu d'action et d'arcade. Une chose qui m'a étonné est qu'un an après, il n'avait toujours pas eu besoin de patches, correction de bugs, ou de mises à jour. Le jeu était entièrement developpédéveloppé sous Windows mais tournait aussi sous Linux, Mac OSX et plusieurs Unix sans aucun travail de ma part.
Mais il y a clairement beaucoup de limitations. La meilleure manière de gérer l'accélération matérielle n'est pas toujours la meilleure façon d'avoir de meilleurs résultats pour une accélération logicielle. L'accélération n'est pas disponibles sur toutes les plateformes. Quand un jeu devient trop complexe, il doit souvent se réduire à une seule plateforme. La SDL àa également quelques limitations de conception, des choses comme le scrolling en plein écran peutpeuvent réduire fortement la vitesse du jeu, jusqu'à ce que caça devienne injouable. SDL n'est pas fait pour tous les types de jeux, mais souvenez-vous que des compagnies comme Loki ont utilisé la SDL pour faire fontionnerfonctionner une grande variété de jeux.
 
Pygame est un langage bas niveau quand il est utilisé pour coder les jeux. Vous aurez rapidement besoin d'envelopper des fonctions communes pour votre environnement de jeu. C'est en grande partie dû au fait qu'il n'y a rien dans Pygame pour caça. Votre programme a le contrôle total sur tout. Vous constaterez que l'effet indésirable à cela est que vous devrez écrire beaucoup de code ennuyeux pour obtenir un cadre plus avancé. Vous aurez besoin d'une meilleure compréhension de ce que vous faite.
 
== En conclusion ==