https://www.renpy.org
Le développement de Ren'Py s'effectue sur la branche master
, et occasionnellement sur les branches feature.
Ren'Py dépend d'un certain nombre de modules Python écrits en Cython et C. Pour les modifications apportées à Ren'Py qui impliquent uniquement des modules Python, vous pouvez utiliser les modules trouvés dans la dernière version nocturne. Sinon, vous devrez compiler les modules vous-même.
Les scripts de développement supposent une plate-forme de type POSIX. Les scripts doivent s'exécuter sous Linux ou macOS et peuvent être exécutés sous Windows à l'aide d'un environnement tel que MSYS.
Les versions nocturnes peuvent être téléchargées à partir de :
https://nightly.renpy.org
Notez que la dernière version nocturne se trouve en bas de la liste. Une fois que vous avez décompressé le nightly, accédez à ce référentiel et exécutez :
./after_checkout.sh <chemin vers la nuit>
Une fois ce script terminé, vous devriez pouvoir exécuter Ren'Py en utilisant renpy.sh, renpy.app ou renpy.exe, selon votre plate-forme.
Si la version nocturne actuelle ne fonctionne pas, veuillez attendre 24 heures pour qu'une nouvelle version se produise. Si cette version ne fonctionne toujours pas, contactez Tom (pytom sur bishoujo.us ou @renpytom sur Twitter) pour découvrir ce qui ne va pas.
Le lien symbolique doc
restera suspendu jusqu'à ce que la documentation soit créée, comme décrit ci-dessous.
La construction des modules nécessite que les nombreuses dépendances soient installées sur votre système. Sur Ubuntu et Debian, ces dépendances peuvent être installées avec la commande :
sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev libswresample-dev libswscale-dev libharfbuzz-dev libfreetype6-dev libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
Ren'Py nécessite SDL_image 2.6 ou supérieur. Si votre distribution n'inclut pas cette version, vous devrez la télécharger depuis :
https://github.com/libsdl-org/SDL_image/tree/SDL2
Nous vous suggérons fortement d'installer les modules Ren'Py dans un environnement virtuel Python. Pour créer un nouveau virtualenv, ouvrez un nouveau terminal et exécutez :
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh mkvirtualenv renpy
Pour revenir à ce virtualenv plus tard, exécutez :
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh travail sur renpy
Après avoir activé virtualenv, installez des dépendances supplémentaires :
pip install -U setuptools "cython<3.0.0" futurs six requêtes pefile de saisie ecdsa
Ensuite, installez pygame_sdl2 en exécutant les commandes suivantes :
clone git https://www.github.com/renpy/pygame_sdl2 pushd pygame_sdl2 installation de python setup.py python install_headers.py $VIRTUAL_ENV popd
Ensuite, définissez RENPY_DEPS_INSTALL sur une liste de chemins :-separated (;-separated sous Windows) contenant les dépendances, et RENPY_CYTHON sur le nom de la commande cython :
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(gcc -dumpmachine)/" export RENPY_CYTHON=cython
Enfin, utilisez setup.py dans le répertoire module
Ren'Py pour compiler et installer les modules prenant en charge Ren'Py :
module pushd installation de python setup.py popd
Ren'Py sera installé dans le virtualenv activé. Il peut ensuite être exécuté à l'aide de la commande :
python renpy.py
Construire la documentation nécessite que Ren'Py fonctionne. Vous devrez soit créer un lien dans une version nocturne, soit compiler les modules comme décrit ci-dessus. Vous aurez également besoin du générateur de documentation Sphinx. Si pip fonctionne, installez Sphinx en utilisant :
pip install -U sphinx sphinx_rtd_theme sphinx_rtd_dark_mode
Une fois Sphinx installé, accédez au répertoire sphinx
dans la caisse Ren'Py et exécutez :
./build.sh
La documentation de Ren'Py se compose de fichiers reStructuredText trouvés dans sphinx/source et de documentation générée trouvée dans les docstrings de fonctions dispersés dans le code. Ne modifiez pas directement les fichiers dans sphinx/source/inc, car ils seront écrasés.
Les docstrings peuvent inclure des balises sur les premières lignes :
function
, method
ou class
. En cas d'omission, le type sera détecté automatiquement.Par exemple:
def warp_speed(facteur, transwarp=False) : """ :doc: déformation :nom: renpy.warp_speed :args: (facteur) Dépasse la vitesse de la lumière. """ renpy.engine.warp_drive.engage(facteur)
Pour connaître les meilleures pratiques en matière de traduction du lanceur et du modèle de jeu, veuillez lire :
https://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
Pour les corrections de bugs, les améliorations de la documentation et les modifications simples, faites simplement une pull request. Pour des modifications plus complexes, il peut être judicieux de signaler d'abord un problème afin que nous puissions discuter de la conception.
Pour connaître les conditions de licence complètes, veuillez lire :
https://www.renpy.org/doc/html/license.html