Malheureusement, Pygame ne tire pas avantages de cette nouvelle version. Parmi les contraintes, il n'était que très difficilement possible de réaliser un portage d'une application vers Android. En plus, pygame est une bibliothèque largement utilisée que ce soit pour des moteurs de jeux, des jeux ou encore pour apprendre la programmation. Il aurait été donc malheureux que le projet devienne peu à peu obsolète suite à la publication d'une nouvelle version de la SDL.
Partant de ce constat, Patrick Dawson et Tom Rothamel (créateur de Ren'Py) ont démarré le projet Pygame_sdl2. Cette nouvelle bibliothèque, reprenant les bases de pygame utilise SDL 2 et permet d'écrire des jeux sur PC et sur les périphériques mobiles. De plus, les auteurs ont l'objectif de garder autant que possible la compatibilité avec pygame, permettant un portage très simplifiés des applications existantes. Même s'ils ont implémenté les nouvelles fonctionnalités exposés par la SDL 2, cela a été fait de manière à ce que les anciens projets fonctionnent toujours.
Le projet est disponible sur GitHub : https://github.com/renpy/pygame_sdl2
Pygame_sdl2 est écrit en mélangeant du Python, Cython et du C. Grâce à Cython, le projet a été grandement simplifié et cela a permis aux auteurs d'obtenir une version fonctionnelle très rapidement. Le nouveau code est sous licence Zlib SDL2 alors que les parties provenant de pygame sont en LGPL.
Actuellement, les modules implémentés sont :
- pygame_sdl2.color
- pygame_sdl2.display
- pygame_sdl2.draw
- pygame_sdl2.event
- pygame_sdl2.font
- pygame_sdl2.gfxdraw
- pygame_sdl2.image
- pygame_sdl2.joystick
- pygame_sdl2.key
- pygame_sdl2.locals
- pygame_sdl2.mixer (including mixer.music)
- pygame_sdl2.mouse
- pygame_sdl2.scrap
- pygame_sdl2.sprite
- pygame_sdl2.surface
- pygame_sdl2.sysfont
- pygame_sdl2.time
- pygame_sdl2.transform
- pygame_sdl2.version
De plus, un nouveau module a été intégré :
- pygame_sdl2.render
Votre opinion
Utilisiez-vous pygame ? Pensez-vous migrer ?
Considérez-vous la SDL 1.2 comme obsolète ?
Source
La liste de diffusion de pygame