I ported RenPy to Haiku

Hello! I`m mfra, a Visual Novel lover from China. Today, I ported RenPy to Haiku.

RenPy Website: https://www.renpy.org/

https://github.com/renpy/renpy

What is Ren’Py?
Ren’Py is a visual novel engine – used by thousands of creators from around the world – that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. These can be both visual novels and life simulation games. The easy to learn script language allows anyone to efficiently write large visual novels, while its Python scripting is enough for complex simulation games. Ren’Py is open source and free for commercial use.

ScreenShots:

It’s great to play Visual Novel games on Haiku!

24 Likes

Hello, welcome to the forum :slight_smile:

I guess the next step is writing a HaikuPorts recipe so it can be packaged and easy to install for everyone. Are you interested in doing it? And if not, maybe you can share details about what you needed to do to get RenPy working, and then someone can turn that into a recipe.

Or maybe the next step is just to play some visual novels and enjoy it!

3 Likes

Let me see see… :thinking:
In order to port RenPy, I forked RenPy source and did some changes. My fork
The steps for porting the software are as follows:

  1. Update and reboot: pkgman update && shutdown -r
  2. Install python3.12: pkgman install python3.12 pip_python312

    Python version must be 3.12, otherwise RenPy will error

  3. Install depends: pkgman install pkgconf hydrogen_devel freetype_devel ffmpeg6_avdevice ffmpeg6_devel fribidi_devel assimp_devel libsdl2_devel sdl2_gfx_devel sdl2_image_devel sdl2_mixer_devel sdl2_sound_devel sdl2_ttf_devel
  4. Install python module: pip3.12 install assimp cython ecdsa future legacy-cgi pefile requests six typing
  5. Access the desktop for easy copying and moving folders: cd ~/Desktop
  6. Git RenPy: git clone https://github.com/kota-rina3/renpy.git
  7. Git pygame_sdl2: cd renpy && git clone https://github.com/kota-rina3/pygame_sdl2.git
  8. Compile and install pygame_sdl2 first: cd pygame_sdl2 && python3.12 setup.py install
  9. Then compile and install RenPy: cd ~/Desktop/renpy && python3.12 setup.py install
  10. Fianlly, python3.12 renpy.py, waiting until a window appeared.

Extra:
→ You can mkdir to make renpy-box: mkdir ~/Desktop/renpy-box && cp -R ~/Desktop/renpy/renpy ~/Desktop/renpy/renpy.py ~/Desktop/renpy-box
→ Put game folder in renpy-box folder and run renpy.py, a RenPy game will run now! :laughing:

4 Likes

I did the same as in the tutorial but
~/Desktop/renpy-box> python3.12 renpy.py
Traceback (most recent call last):
File “renpy.py”, line 304, in
main()
File “renpy.py”, line 300, in main
renpy.bootstrap.bootstrap(renpy_base)
File “renpy/bootstrap.py”, line 338, in bootstrap
renpy.import_all()
File “renpy/init.py”, line 409, in import_all
import renpy.pyanalysis
File “renpy/pyanalysis.py”, line 29, in
from renpy.python import py_compile
File “renpy/python.py”, line 53, in
from renpy.astsupport import hash32
ModuleNotFoundError: No module named ‘renpy.astsupport’
~/Desktop/renpy-box>

Sir, have you compiled renpy successfully? :smiley:

Try re-importing “renpy” folder?

I solved the problem using export PYTHONPATH=“$PYTHONPATH:~/Desktop/renpy/renpy”
unfortunately this is a temporary option, I don’t know how else

2 Likes

3 Likes

:clap: :clap: :clap: :clap: :clap: :clap:
THAT’S GREAT!!!

1 Like

DDLC for Haiku:

5 Likes

kanoseka-another for Haiku:

5 Likes

Awesome, fresh creative projects for Haiku are a great way to showcase the system and have fun!

Note to self: create a novel about the future of desktop computing, starting with BeOS and ending with Haiku taking over the world? :nerd_face::muscle:

4 Likes

No Idea how RenPy is suppose to work, but running “pip3 install --user renpy” worked here without any building needed?

1 Like

Oh,Chinese.
Are you Chinese?

1 Like

Yes, I am Chinese.
是的,我是中国人

Tsukihime (月姫) (english port) for Haiku:

4 Likes

For now, can ported RenPy export projects as Haiku executable distributions?

I have been studying porting pygame-based apps and games into Haiku, and now I am working on thorpy 1.8 to try if it is feasible to develop thorpy applications for cross-platform usage.

You may also communicate with me in Chinese.

Ayasaki Otome(彩咲乙女,アヤサキオトメ), a interesting renpy launcher, playing visual novel games natively on Haiku isn’t just a dream!

Download me:https://github.com/kota-rina3/renpy/releases/download/8.4.0.4/otohime.renpy.ayasaki.otome_haiku_x86_64.zip

How to use?

  1. pkgman install python3.12 pip_python312 pkgconf hydrogen_devel freetype_devel ffmpeg6_avdevice ffmpeg6_devel fribidi_devel assimp_devel libsdl2_devel sdl2_gfx_devel sdl2_image_devel sdl2_mixer_devel sdl2_sound_devel sdl2_ttf_devel
  2. extract zip and get “renpy-module” folder
  3. Open the terminal, enter the directory containing “renpy-module” folder
  4. pip3.12 install assimp cython ecdsa future legacy-cgi pefile requests six typing
  5. cp -r pygame_sdl2 /boot/system/non-packaged/lib/python3.12/site-packages/
  6. cp -r renpy /boot/system/non-packaged/lib/python3.12/site-packages/
  7. cp _renpy.cpython-312.so /boot/system/non-packaged/lib/python3.12/site-packages/
  8. cp _renpybidi.cpython-312.so /boot/system/non-packaged/lib/python3.12/site-packages/
  9. cp _renpytfd.cpython-312.so /boot/system/non-packaged/lib/python3.12/site-packages/
  10. cp -r renpy-box ~/Desktop
  11. “game” folder into “renpy-box”
  12. python3.12 ~/Desktop/renpy-box/renpy.py
2 Likes

Migrant(候鸟)for Haiku:

A Tithe in Blood for Haiku:

2 Likes

Could it be no compile and run in pkg?

You can discuss with him in international board.