As long as it doesn't interfere with the development of Ren'Py, I'd like to contribute as much as possible of the technology stack that underlies Ren'Py to the pygame project.
Pygame_sdl2 is the obvious choice for inclusion, as it was really meant to be an API-compatible successor to Pygame. I think it would benefit from being merged with pygame proper, as much of the missing functionality is based on C code found in the Pygame project.Â
The rapt and renios modules - which are used for Android support and iOS support, respectively - are also good candidates. Both are already capable of packaging arbitrary pygame(_sdl2) programs, at least in theory. A problem that needs to be solved is how to include arbitrary python modules in the distribution.
There's also a bit of code in Ren'Py that should really belong in pygame, that I've been avoiding adding because it's a completely new API. In-app purchase support is one of these, and achievement support is another - although the latter may be complicated by licensing issues.Â
A project I've been contemplating is extending Ren'Py's launcher to support arbitrary pygame code. For those not familiar, the Ren'Py launcher supports:
- Automatically downloading and installing text editors and other applications needed for development.
- One-click packaging for Windows, Mac, and Linux - including all three in a standalone zip file.
- Automatic installation of rapt and the various android tools, and creation of Android apps.
- Automatic installation of renios and creation of iOS apps.
While the launcher is part of Ren'Py, I'd be happy to add pygame-specific code to Ren'Py.
My one worry is that Linux distros would wait for stable releases of pygame_sdl2 before packaging Ren'Py, leading to substantial holdups. My hope is that could be solved by trying to keep master in a releasable state, and making it clear to distros that it's acceptable to package master up for releases.Â