RenPy Switch

From GameBrew
Ren'Py for Nintendo Switch
Renpyswitchnx.png
General
Authoruyjulian
TypeGame engine
Version1.7.5
LicenseMIT License
Last Updated2020/12/20
Links
Download
Website
Source

This is a port of Ren'Py, a visual novel game engine, to the Nintendo Switch for homebrew purposes.

Note: Project is no longer in development, please use Switchroot Android with the official port of Ren'Py.

User guide

For users wanting to take a sample of the functionality of Ren'Py, place "renpy-switch-the-question-vXXX.nro" in the "switch" folder of your SD card.

For game authors wanting to port to the Nintendo Switch, use the "renpy-switch-sdk-vXXX.7z" package. Read "README.html" for instructions on how to port your project.

Changelog

v1.7.5 2020/12/20

  • Add required pygame_sdl2 modules.
  • renpy-switch-the-question-v1.7.5.nro is a sample visual novel entitled "The Question" that can be run on your Nintendo Switch.
  • renpy-switch-sdk-v1.7.5.7z contains the files needed to build your own game, documentation named README.html, and an .elf file containing debugging symbols in the event an error occurs to assist in debugging.

v1.7.4 2020/12/20

  • Revert usage of virtmemFindAslr and svcMapPhysicalMemory.

v1.7.3 2020/12/20

  • Update to libnx 4.0.0.
  • Sync renpysound module and related files to upstream.
  • Use virtmemFindAslr and svcMapPhysicalMemory for memory allocation to reduce heap fragmentation.
  • Re-enable applet mode (however, no guarantee that it will work properly).
  • Use fixed buffer for error reporting instead of allocating memory on the heap.
  • Revert unbuffered file operation changes.

v1.7.2 2020/07/30

  • Use unbuffered file reading.
  • More allocation related checks in media subsystem.

v1.7.1 2020/05/26

  • Now actually using CPython 2.7.18 with the additional modules.
  • Update to libnx 3.2.0.
  • Correct aspect ratio when aspect ratio of project is not 16:9.
  • Partially automated packaging.
  • Added instructions on how to create nro using the files from the SDK archive.
  • Corrected 3rd party library build instructions.

v1.7 2020/05/03

  • Out of memory workaround removed (making it more likely that you can rollback, save, and restart the game).
  • Overclock removed.
  • Better error messages with error applet.
  • Mostly complete libnx bindings.
  • _socket, _hotshot, and imageop modules added.
  • pymalloc now allocates memory aligned to page boundary.
  • Show a helpful error message and quit when launched as applet.
  • Update to libnx 3.1.0.
  • Update to CPython 2.7.18.
  • Python libraries are now imported from zip file using zipimport.
  • Integrated extra libraries into main distribution.
  • Update to switch-sdl2 2.0.12.

v1.6.1 2019/10/11

  • Remove extra "renpy" directory in SDK.

v1.6 2019/10/09

  • Simplified build system.
  • Fixed controller support.
  • Trimmed down executable size by using a special build of ffmpeg.
  • Partial libnx bindings.
  • Automatically change clock based on if expensive operations are being done.
  • Join audio playback threads after they are finished.
  • Updated to Ren'Py 7.3.4; includes rendering bugfixes.

v1.5 2019/10/02

  • Simplified build system.
  • Touch screen support.
  • Updated to Ren'Py 7.3.3; includes changes to reduce chance of running out of thread resources.

v1.4 2019/09/22

  • Enable optimization mode; now uses .pyo files instead of .pyc files.
  • Reverted changes to threading; now using pthread again.
  • Use pthread_exit when exiting thread instead of doing nothing.
  • Add gl2 subsystem modules; not fully working yet.
  • Add patches for video playback.
  • Disable Mesa debugging.
  • Clear some memory when loading image assets has failed; may reduce the chance of data aborts.
  • Compiled with libnx v2.5.0, fixing controller input on firmware 9.0.0.

v1.3 2019/09/03

  • Removed displaying errors by console; now requires nxlink to view errors.
  • Added more built-in modules.
  • Rebased Ren'Py changes on top of 7.3.2.
  • Disable writing bytecode when using RomFS.
  • Update building documentation.

v1.2 2019/06/05

  • Fixed threading support.
  • Fixed exiting.
  • Improved building documentation.
  • Optimized Python.

v1.1 2019/06/05

  • Issues relating to path handling is fixed.
  • RomFS support is added to allow building a game into a single NRO file.
  • Patch set against Ren'Py has been reduced.
  • Save data path is fixed to sdmc:/Ren'Py Data/.
  • Logs path is fixed to sdmc:/Ren'Py Logs/.
  • Python modules not needed for operation of Ren'Py are removed from the distribution.

v1.0 2019/06/03

  • Initial release.

External links

Advertising: