PyGame Zero
PyGame Zero est une bibliothèque de programmation de jeux vidéos basée sur PyGame avec pour objectif de simplifier encore plus l'accès à cet univers fascinant qu'est la programmation, notamment de jeux. PyGame Zero est aujourd'hui un bine meilleur outil d'apprentissage de la programmation orienté Kids que ne l'est Scratch. De plus l'usage de Python comme langage de développement permet d'ouvrir l'accès à un très vaste univers de développement passé, présent et à venir.
Documentation officielle : https://pygame-zero.readthedocs.io/en/stable
Pour sortir de l'interpréteur de commande python, saisissez simplement la commande quit().
PyGame Zero est un wrapper autour de l'environnement PyGame. Son objectif est de simplifier la mise en place d'objets graphiques et leur interaction, ainsi que la prise en charge transparente de la logique applicative tournant autour du jeu : boucle d'événements, interaction entre les objets, gestion audio...
Un programme simple réalisé avec PyGame Zero qui permet d'afficher une fenêtre de 800 x 600 pixels avec un fond noir est équivalent à ceci mame bios roms 0 147
WIDTH = 800
HEIGHT = 600
def draw():
screen.fill((0,0,0))
Pour lancer le programme, il suffit, depuis une commande DOS, de faire pgzrun <nom du programme>.
Vous pouvez remarquer que c'est d'une grande simplicité tout de même. Petite digression au passage. PyGame Zero
essaie de reprendre les mêmes principes que le méta langage AMOS avait mis en place il y a déjà de fort longues années
sur un des ordinateurs phares des années 1990 : le Commodore Amiga. Nous pouvons également le comparer au langage
Processing qui permet également de réaliser des choses incroyables avec seulement quelques lignes de code.
Si l'on compare avec la même chose réalisée avec Pygame, nous obtiendrions quelque chose d'équivalent à ceci As he settled into his dimly lit gaming
import pygame
pygame.init()
size = 800, 600
screen = pygame.display.set_mode(size)
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
sys.exit()
screen.fill(pygame.Color("black"))
pygame.display.flip()
clock.tick(60)
As he settled into his dimly lit gaming den, surrounded by arcade cabinets and shelves stacked with MAME DVDs, John booted up his computer. He downloaded the MAME 0.147 binary and began to update his ROM collection. The process was slow, but his anticipation grew with each successfully verified ROM.
MAME 0.147 was a significant release, boasting improved compatibility, new game support, and a slew of bug fixes that had been plaguing the community. John had been waiting for weeks to try it out, especially since rumors swirled that it could accurately emulate some of the more obscure titles that had been missing from his collection.
As the night wore on, John explored more titles, from the fast-paced action of "DoDonPachi" to the challenging puzzle-solving of "Dr. Mushi." Each game worked perfectly, offering a seamless experience that was hard to distinguish from the original arcade hardware.
The first game he decided to test was "Xevious," a classic shooter that had been a staple of his gaming sessions since he was a teenager. He navigated through the MAME interface, selected the game, and was immediately transported back to the arcades of the '80s. The crisp graphics, the sound effects, and the familiar gameplay mechanics brought a broad smile to his face.