https://www.renpy.org
Die Ren'Py-Entwicklung findet im master
-Zweig und gelegentlich in Feature-Zweigen statt.
Ren'Py hängt von einer Reihe von Python-Modulen ab, die in Cython und C geschrieben sind. Für Änderungen an Ren'Py, die nur Python-Module betreffen, können Sie die Module verwenden, die im neuesten Nightly-Build enthalten sind. Andernfalls müssen Sie die Module selbst kompilieren.
Die Entwicklungsskripte gehen von einer POSIX-ähnlichen Plattform aus. Die Skripte sollten unter Linux oder macOS ausgeführt werden und können mithilfe einer Umgebung wie MSYS für die Ausführung unter Windows erstellt werden.
Nightly Builds können heruntergeladen werden von:
https://nightly.renpy.org
Beachten Sie, dass der neueste Nightly-Build am Ende der Liste steht. Nachdem Sie Nightly entpackt haben, wechseln Sie in dieses Repository und führen Sie Folgendes aus:
./after_checkout.sh <path-to-nightly>
Sobald dieses Skript abgeschlossen ist, sollten Sie Ren'Py je nach Plattform mit renpy.sh, renpy.app oder renpy.exe ausführen können.
Wenn der aktuelle nächtliche Build nicht funktioniert, warten Sie bitte 24 Stunden, bis ein neuer Build durchgeführt wird. Wenn dieser Build immer noch nicht funktioniert, wenden Sie sich an Tom (pytom unter bishoujo.us oder @renpytom auf Twitter), um herauszufinden, was falsch ist.
Der doc
Symlink bleibt bestehen, bis die Dokumentation erstellt wurde, wie unten beschrieben.
Für die Erstellung der Module müssen die zahlreichen Abhängigkeiten auf Ihrem System installiert sein. Unter Ubuntu und Debian können diese Abhängigkeiten mit dem Befehl installiert werden:
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 erfordert SDL_image 2.6 oder höher. Wenn Ihre Distribution diese Version nicht enthält, müssen Sie sie herunterladen von:
https://github.com/libsdl-org/SDL_image/tree/SDL2
Wir empfehlen dringend, die Ren'Py-Module in einer virtuellen Python-Umgebung zu installieren. Um eine neue virtuelle Umgebung zu erstellen, öffnen Sie ein neues Terminal und führen Sie Folgendes aus:
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh mkvirtualenv renpy
Um später zu dieser virtuellen Umgebung zurückzukehren, führen Sie Folgendes aus:
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh Workon Renpy
Installieren Sie nach der Aktivierung der virtuellen Umgebung zusätzliche Abhängigkeiten:
pip install -U setuptools „cython<3.0.0“ zukünftige sechs Eingabe von Pefile-Anfragen ecdsa
Installieren Sie dann pygame_sdl2, indem Sie die folgenden Befehle ausführen:
Git-Klon https://www.github.com/renpy/pygame_sdl2 pushd pygame_sdl2 Python setup.py installieren python install_headers.py $VIRTUAL_ENV popd
Als nächstes setzen Sie RENPY_DEPS_INSTALL auf eine :-getrennte (;-getrennte unter Windows) Liste von Pfaden, die die Abhängigkeiten enthalten, und RENPY_CYTHON auf den Namen des Cython-Befehls:
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(gcc -dumpmachine)/" export RENPY_CYTHON=cython
Verwenden Sie abschließend setup.py im Ren'Py module
, um die Module zu kompilieren und zu installieren, die Ren'Py unterstützen:
pushd-Modul Python setup.py installieren popd
Ren'Py wird in der aktivierten virtuellen Umgebung installiert. Anschließend kann es mit folgendem Befehl ausgeführt werden:
Python renpy.py
Für die Erstellung der Dokumentation ist Ren'Py erforderlich. Sie müssen entweder einen nächtlichen Build einbinden oder die Module wie oben beschrieben kompilieren. Sie benötigen außerdem den Sphinx-Dokumentationsgenerator. Wenn Pip funktioniert, installieren Sie Sphinx mit:
pip install -U sphinx sphinx_rtd_theme sphinx_rtd_dark_mode
Sobald Sphinx installiert ist, wechseln Sie im Ren'Py-Checkout in das sphinx
-Verzeichnis und führen Sie Folgendes aus:
./build.sh
Die Dokumentation von Ren'Py besteht aus reStructuredText-Dateien in Sphinx/Source und generierter Dokumentation in Funktionsdokumentzeichenfolgen, die über den gesamten Code verstreut sind. Bearbeiten Sie die Dateien nicht direkt in sphinx/source/inc, da sie sonst überschrieben werden.
Docstrings können in den ersten paar Zeilen Tags enthalten:
function
, method
oder class
. Wenn weggelassen, wird die Art automatisch erkannt.Zum Beispiel:
def warp_speed(factor, transwarp=False): „““ :doc: warp :name: renpy.warp_speed :args: (Faktor) Übersteigt die Lichtgeschwindigkeit. „““ renpy.engine.warp_drive.engage(Faktor)
Best Practices für die Übersetzung des Launcher- und Template-Spiels finden Sie hier:
https://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
Für Fehlerbehebungen, Dokumentationsverbesserungen und einfache Änderungen stellen Sie einfach eine Pull-Anfrage. Bei komplexeren Änderungen kann es sinnvoll sein, zuerst ein Problem einzureichen, damit wir den Entwurf besprechen können.
Die vollständigen Lizenzbedingungen finden Sie hier:
https://www.renpy.org/doc/html/license.html