• To improve security, we will soon start forcing password resets for any account that uses a weak password on the next login. If you have a weak password or a defunct email, please update it now to prevent future disruption.

360-degree panoramic Renpy game?

DiviDreamer

Member
Aug 29, 2020
260
219
360-degree panoramic Renpy game?
Starting from version 6.99 Renpy have a simple way to create such game
does someone already try to make one?
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,149
3,503
What, so the player can control what direction the view point in scene is looking?

Can you tell me the part of the renpy doco I can read more about this?

sounds interesting. But much more work for the artist to have to pose/light the full 360 scene, and probably much slower to render also (you need much higher resolution to give the equivalent level of detail as you normally see with a ~75degree FOV). For example, a lot of HDR backgrounds are 12000x6000 px, so compared to a normal 1920x1080 render that makes it 34x the rendered pixels... whoa!

The 3d scene setup is probably the biggest issue - it's far easier to treat your 3d scenes like movie/tv sets, where only the area in view has any effort put into it; the part to the sides or behind the camera may as well not exist!
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,202
14,938
360-degree panoramic Renpy game?
No.


Starting from version 6.99 Renpy have a simple way to create such game
No. This isn't even possible on the 7.4.5, who start to have a model based display method, or the 7.4.11 that is the last official release ; nor the 7.5.0 that is purely informal, or the early 8.0.0. So I really doubt that it was possible on the 6.99.0 that was released 7 years ago.

What game made you believe that it's possible ? I assume that it's nothing more than a panning done on a purely flat image that happen to represent a panoramic view.
 

shark_inna_hat

Active Member
Game Developer
Dec 25, 2018
695
2,660
Is there (still?) no support for GLSL shaders in Renpy? It would be trivial to write a shader for a cubemap or equirectangular panorama to get a 'street view' kind of experience.
 

recreation

pure evil!
Respected User
Game Developer
Jun 10, 2018
6,260
22,220
Yes. :p

I've played around a bit to get a 360 kind of view a while back in an older version of renpy. It's possible, but not worth it imo.
Python:
screen movement():
    default panStep = 0
    key "K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "K_LEFT" action SetScreenVariable("panStep", panStep-1)
    key "repeat_K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "repeat_K_LEFT" action SetScreenVariable("panStep", panStep-1)
    fixed:
        add "360_test.png": # <<< insert your 360° image here.
            xpan panStep
        textbutton ">>" clicked [ SetScreenVariable("panStep", panStep+1)] xpos .95 ypos .5
        textbutton "<<" clicked [ SetScreenVariable("panStep", panStep-1)] xpos .02 ypos .5
transform panImage:
    xpan 0
    linear 20.0 xpan 360
    repeat

image pan = "360_test.png" # <<< insert your 360° image here

screen pan_test():
    spherical:
        image "pan"
 
Last edited:

MissFortune

I Was Once, Possibly, Maybe, Perhaps… A Harem King
Respected User
Game Developer
Aug 17, 2019
4,641
7,648
What, so the player can control what direction the view point in scene is looking?

Can you tell me the part of the renpy doco I can read more about this?

sounds interesting. But much more work for the artist to have to pose/light the full 360 scene, and probably much slower to render also (you need much higher resolution to give the equivalent level of detail as you normally see with a ~75degree FOV). For example, a lot of HDR backgrounds are 12000x6000 px, so compared to a normal 1920x1080 render that makes it 34x the rendered pixels... whoa!

The 3d scene setup is probably the biggest issue - it's far easier to treat your 3d scenes like movie/tv sets, where only the area in view has any effort put into it; the part to the sides or behind the camera may as well not exist!
It's a whole lot of work and not a lot of award.

The only way I could see it working with any sort of ease is perhaps animating the camera in a full circle (probably at something higher than 4K, though I'm not sure Daz goes any higher than that?), sort of like how you'd take a panoramic picture on your phone (which tend to not look great), which would probably take a while in its own right. Then there's the code for something like, which I wouldn't even know where to start. You'd also have to question compatibility, I'd think, as it'd probably be pretty heavy on Ren'py which isn't natively built for it.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,202
14,938
Yeah, it's what I said, a panned plan image.
But like you need to create the 360° view by yourself outside of Ren'Py, can we really tell that Ren'Py can do 360° view ? I mean, even Windows' native image viewer have 360° capability if you use it to display the image ;)


Is there (still?) no support for GLSL shaders in Renpy?
Not sure it effectively rely on GLSL, but the 7.4.0 version started to introduce and shaders (mostly undocumented yet), while the 7.4.5 goes a .
 
  • Like
Reactions: DiviDreamer

DiviDreamer

Member
Aug 29, 2020
260
219
Yes. :p

I've played around a bit to get a 360 kind of view a while back in an older version of renpy. It's possible, but not worth it imo.
Python:
screen movement():
    default panStep = 0
    key "K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "K_LEFT" action SetScreenVariable("panStep", panStep-1)
    key "repeat_K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "repeat_K_LEFT" action SetScreenVariable("panStep", panStep-1)
    fixed:
        add "pcroom_360_test.png":
            xpan panStep
        textbutton ">>" clicked [ SetScreenVariable("panStep", panStep+1)] xpos .95 ypos .5
        textbutton "<<" clicked [ SetScreenVariable("panStep", panStep-1)] xpos .02 ypos .5
transform panImage:
    xpan 0
    linear 20.0 xpan 360
    repeat

image pan = "360_test.png" # <<< insert your 360° image here

screen pan_test():
    spherical:
        image "pan"
Cool thanks, i saw similar way to make 360-degree image after i find this in Renpy changelog:
You don't have permission to view the spoiler content. Log in or register now.

And for worth it or not, i dunno, i really want to find something new in Renpy Sandbox and VN games
and it will look very cool and new to play.
 
  • Like
Reactions: osanaiko

Gabriel Homme

Member
Game Developer
Feb 2, 2021
116
301
Anyone find the way how can use/insert panoramic image in renpy?
test360pc.jpg
Needs it looks like in browser
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,202
14,938
Anyone find the way how can use/insert panoramic image in renpy?
Are you kidding ?

The thread is not this long, it's not like the full working code posted by recreation can be missed.

Side note: Yeah, I know, busy week-end but I don't forgot you
 

left1000

Active Member
Sep 13, 2020
602
271
Yes. :p

I've played around a bit to get a 360 kind of view a while back in an older version of renpy. It's possible, but not worth it imo.
Python:
screen movement():
    default panStep = 0
    key "K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "K_LEFT" action SetScreenVariable("panStep", panStep-1)
    key "repeat_K_RIGHT" action SetScreenVariable("panStep", panStep+1)
    key "repeat_K_LEFT" action SetScreenVariable("panStep", panStep-1)
    fixed:
        add "360_test.png": # <<< insert your 360° image here.
            xpan panStep
        textbutton ">>" clicked [ SetScreenVariable("panStep", panStep+1)] xpos .95 ypos .5
        textbutton "<<" clicked [ SetScreenVariable("panStep", panStep-1)] xpos .02 ypos .5
transform panImage:
    xpan 0
    linear 20.0 xpan 360
    repeat

image pan = "360_test.png" # <<< insert your 360° image here

screen pan_test():
    spherical:
        image "pan"


Anyone ever get this to work?


Code:
I'm sorry, but errors were detected in your script. Please correct the
errors listed below, and try again.


File "game/script.rpy", line 242: 'spherical' is not a keyword argument or valid child of the screen statement.
    spherical:
             ^

Ren'Py Version: Ren'Py 8.1.3.23091805
Wed Jan  3 14:48:33 2024



To clarify, the line of code

Code:
spherical:
Implies it is telling ren'py to compensate for the distortion of a spherical 360 panorama image. But no such feature exists in ren'py. Maybe someone on this forum wrote such code. But I don't know where to find it.
 
Last edited:

Gabriel Homme

Member
Game Developer
Feb 2, 2021
116
301
My programmer solved this problem. Only it didn’t work for Android. We are currently working on the possibility of zooming. I need to record my screen somehow.
 

left1000

Active Member
Sep 13, 2020
602
271
My programmer solved this problem. Only it didn’t work for Android. We are currently working on the possibility of zooming. I need to record my screen somehow.
zooming? You can zoom the entirety of the screen using the 3d stage, via the camera commands

But maybe it would interfere with whatever panorama code your programmer wrote :)
 

Gabriel Homme

Member
Game Developer
Feb 2, 2021
116
301
zooming? You can zoom the entirety of the screen using the 3d stage, via the camera commands

But maybe it would interfere with whatever panorama code your programmer wrote :)
This will not work on spherical panoramas... For now we are thinking about splitting the image so that the zoom is of high quality, I make renders in 16k. Tell me how to record a screen! We actually solved this problem, more than a year of work with many programmers, a lot of money, and in the end a 17-year-old genius was able to do it.