A Native Ren'Py Visual Novel Port for the PSVita
Based on renpy-switch by uyjulian (great work)
About a year into the making (totally not because I can get a bit lazy), Ren'Py Vita is finally out.
A ton of frustration, troubleshooting, and long nights went into getting this to work. From cuevavirus making the base of the Python 2.7 port, to GrapheneCt making PVR_PSP2, to isage working on SDL additions. And we can finally release this gigantic project to you guys. Hope you like it, literally all I wanted to do was play the REAL DDLC on the Vita.
-SonicMastr
I made a Ren'Py PSVita Distribution Tool to ease the process of creating a Ren'Py bubble with the required structure and assets.
It was designed to be used in tandem with the official Ren'Py SDK, so it's great for personal projects as well as ports
Give it a go in the Releases.
- Load times can be pretty long and some image loading my cause hitches. This is sadly not something I can fix as it is a Vita hardware limitation.
- Video playback will not work
- Quitting will crash (But I kinda left that in. Doesn't do anything bad. I promise)
- Some games will run into memory issues. I will continue to tweak memory usage as necessary, but the Vita is pretty sparse in memory, so I may not be able to pull a rabbit out of my hat when it comes to full compatibility.
Linux (or WSL1/2)
Cython
Python 2.7.18
Git
Clone this repo
Grab PSVita_Release.zip
and vitasdk_stubs.zip
from PVR_PSP2 releases
Clone SDL
Clone Python Future
- Copy the contents of
vitasdk_stubs.zip
into your VitaSDK lib directory - Copy all of the files in include into your VitaSDK include directory
- Copy files WITHOUT underscores in
python-future/src
to the Python2.7 folder in your VitaSDK lib directory.
(This will be removed in the future. Heh) - Navigate to the SDL directory and run
cmake -S. -Bbuild -DVIDEO_VITA_PVR=ON -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
- Once complete, navigate to the newly create build folder and run
make -j4 install
- Navigate to the
renpy-vita
folder and rungit submodule init
and thengit submodule update
- Navigate to the
renpy-vita/renpy/module
folder and runRENPY_DEPS_INSTALL=$VITASDK/arm-vita-eabi RENPY_STATIC=1 python2 setup.py
- Navigate to
renpy-vita/pygame-sdl2
and runPYGAME_SDL2_STATIC=1 python setup.py
- Navigate to
renpy-vita/renpy-vita
and run./link_compile_pylibs.bash
and then./link_sources.bash
(may need to chmod) - Now run
cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
- Navigate to the build directory and run
make -j4
- And now you're all done
Doki Doki Literature Club Vita
Contract Demon Vita
uyjulian for the inspiration and base. This project wouldn't have been conceived without him
cuevavirus for the base port of Python 2.7 so I could actually work on fixing up the rest
strikersh for fixing Python threads
GrapheneCt for PVR_PSP2 and allowing me to also contribute to that to fix some specific bugs in Ren'Py :P
isage for his SDL contributions and lending me an early version with PVR_PSP2 support for me to dev on
Princess-of-Sleeping for devkit assistance and making me realize I was in Software Render mode
Ibrahim778 for getting on my ass about finishing this over and over and over again
The VitaSDK maintainers for adding requesting changes essential for Ren'Py to work