Ren'Py Engine

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
User avatar
snowshine
Regular
Posts: 30
Joined: Sun Aug 01, 2004 2:08 pm
Location: Hochiminh, Vietnam
Contact:

I'm grateful

#31 Post by snowshine » Sun Aug 01, 2004 6:06 pm

PyTom, Thank you for your program. Ren'py is really big help. When I used it, I'm very happy. Well, you know, I'm good at nothing but writing and art. My knowledge about writing program is so bad. So, using Ren'py, I can make my own game.
(I want translate my game to English game. Oh my god, my English is poor.)
Someday, I'll release a English ren'ai game in Ren'py.
Arigatoo. 8)

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#32 Post by PyTom » Wed Aug 04, 2004 8:01 am

Just for everyone's info:

As part of the new game that I'm creating, I'll be developing a new version of Ren'Py. (I spent the last few months developing the plot to completion, and teaching myself how to draw.) Here's a list of new features either I want, or that other people have requested:

Documentation.

The ability to read in images from an obscured file.

The ability to read in the game script from an obscured file.

Stepping the game backwards.

Documentation.

Predictive image loading (eliminating image load times for games where it's too large to fit an image in memory.)

Sound and music support.

Better support for images, including transitions and the ability to easily place a character to one side of the screen.

SVG image support. (I've been drawing in SVG, mostly.)

More reasonable support for animations.

Documentation.


Well, this is my basic feature list. If anyone has a feature that they think is vital, let me know so I can include it.

User avatar
rioka
Royal Manga Tutor
Posts: 1255
Joined: Fri Jul 16, 2004 12:21 pm
Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
Location: somewhere in NY
Contact:

#33 Post by rioka » Wed Aug 04, 2004 9:33 am

lol You mentioned documentation 3 times. Does that make it to the top of your priority list?

All the features sound wonderful, especially the one about placing a character at the side. I've looked a bit at your coding and was going to try experimenting with it but as the story I'm doing doesn't require 2 or more ppl on the screen - it dropped off my to do list.

The animation feature sounds interesting. I've thought of a way to cheat a bit on that though... :shhh:

Can you add an option to maximize the screen though? I know there's this script that goes like this (don't exactly remember):
window.moveTo(0,0)
window.resizeTo(screen.height,screen.width)

I don't know if you've visited the River Trap thread but there are some people out there who prefer a maximized screen... ^_^

Thanks PyTom!!

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#34 Post by PyTom » Wed Aug 04, 2004 8:45 pm

lol You mentioned documentation 3 times. Does that make it to the top of your priority list?
Well, it's something that I'm going to spend a bit of time doing this time around, rather than ignoring it until I'm done with the coding.

Maximization is a good idea, and one that I'll probably implement (using gtk, it's just win.fullscreen()). The only downside to this is that it may require an extra step, to scale images up to the screen resolution. Not that that's hard or anything.

User avatar
rioka
Royal Manga Tutor
Posts: 1255
Joined: Fri Jul 16, 2004 12:21 pm
Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
Location: somewhere in NY
Contact:

#35 Post by rioka » Fri Aug 06, 2004 12:00 pm

PyTom wrote:Maximization is a good idea, and one that I'll probably implement (using gtk, it's just win.fullscreen()). The only downside to this is that it may require an extra step, to scale images up to the screen resolution. Not that that's hard or anything.
Wohoo! That's good to hear. =)

Btw, snowshine and anyone else using RenPy and is having problems:
If you're having coding problems, I suggest you enter text a few at a time then run the game. If an error occurs (i.e. a traceback.txt file pops up/updates or the game doesn't run as it's supposed to) you can easily debug your coding because you know that your latest code wasn't entered correctly or you forgot to enter something like declare an image file.

Another tip: When reading the traceback.txt file, it will list several "errors" at this and that line - the only one that pretty much mattered was the last line so check that one out first and fix the problem - don't bother with the others above it.

Extra info:
Background image sizes: 640x480 (WxH)
Character image sizes: 270x430 (WxH) +/-

User avatar
rioka
Royal Manga Tutor
Posts: 1255
Joined: Fri Jul 16, 2004 12:21 pm
Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
Location: somewhere in NY
Contact:

#36 Post by rioka » Wed Aug 11, 2004 7:43 pm

PyTom, got something for you to ponder...

The save feature on the newdist of RenPy. I just tried it out and it doesn't load the game properly. It just shoots out a traceback stating: "ValueError: list.remove(x): x not in list"

It saves properly enough: enter the name, it pops up as [enter name here].save, but it just doesn't load even though it shows all the .save files properly in a list for selection.

Got any clues what may be wrong?

User avatar
Alessio
Miko-Class Veteran
Posts: 573
Joined: Fri May 07, 2004 9:40 am
Projects: GO! Magical Boy (2006), Angelic Orbs (soundtrack), Cyberlin (in progress)
Location: Finland
Contact:

#37 Post by Alessio » Mon Aug 16, 2004 5:25 am

[quote="PyTom"]Better support for images, including transitions and the ability to easily place a character to one side of the screen.[/quote]

Hi again,

Don't know how you've planned it - it might make sense to think about an easy way to manage more than one character on the screen; e.g. the first character's picture would always appear in the middle of the screen, the second on the right side, and the third on the left. Or something like that.

Cheers,
Al

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#38 Post by PyTom » Mon Aug 16, 2004 7:58 am

Well, I actually just implemented this this weekend, so I guess it's okay to let everyone know how it will work.

The Ren'Py image commands now take three clauses. The first is the image name, which is what they take now. The second is the "at" clause, which takes a list of transformations that are applied to the image for as long as it is shown on the screen. The third is the "with" clause, which specifies a transformation that is applied to the image when it is first shown to the user. (So we can fade in images, or something.)

The position transformation controls where things are set up on the screen. We can set up some defaults:

Code: Select all

init:
    $ left = Position(xpos=0.0, xanchor='left')
    $ right = Position(xpos=1.0, xanchor='right')
And we can then run commands like:

Code: Select all

scene bg whitehouse
show eileen happy at left
show lucy happy at right
I think this is more flexible than simply having default locations, although it might require a bit more user interaction.

User avatar
Alessio
Miko-Class Veteran
Posts: 573
Joined: Fri May 07, 2004 9:40 am
Projects: GO! Magical Boy (2006), Angelic Orbs (soundtrack), Cyberlin (in progress)
Location: Finland
Contact:

#39 Post by Alessio » Mon Aug 16, 2004 10:29 am

That sounds really excellent. Yes, I agree this way is much better than just having fixed default locations. Much more flexible.

When you say "transformations that are applied to the image", do you actually also mean animations and such (e.g. blinking eyes, hair moving in the wind etc.)?

Another thing that crossed my mind: As more and more people will start developing games with RenPy, should there be an easy way for non-developers to start the different games without having to move folders or install multiple instances of the engine? (Every game in an own sub-directory, and RenPy searching all of them for the script's start files? A file explorer pop-up to have the user pick the start file? An installation script? Hmm...)

Cheers!
Alessio

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#40 Post by PyTom » Mon Aug 16, 2004 4:36 pm

First, just in response to something on the 800x600 thread, I should point out that Ren'Py will let the game-maker decide how big the window should be. (640x480, 800x600, etc.)

The idea of transformations in Ren'Py is to change an image on a per-showing basis. Examples of this would be changing the position, scaling, zooming, and rotation.

Images and Animations will be defined with the "image" statement, which takes a name and associates something that is drawable with the name.

An example of defining a static image is:

Code: Select all

init:
    image bg whitehouse = Image("whitehouse.jpg")
An example of defining an animated image is:

Code: Select all

init:
    image eileen blinking = Animation(
        Image("eileen_blinking_open.png"), 3.0,
        Image("eileen_blinking_closed.png"), 0.25,
        )
This will show the first png for 3 seconds, then will blink for 250 ms, and will then repeat.

Of course, transformations can be applied to animations, so you'll be able to do:

Code: Select all

show eileen blinking at left
And it should just work.

(Now off to work on time travel. That's the hard part of the engine.)

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#41 Post by PyTom » Mon Aug 16, 2004 4:46 pm

Oh, about the idea of starting up different games:

My current plan is that each Ren'Py game will ship with its own copy of the engine. This means that the game doesn't need to worry about being future-proof, and the engine doesn't have to care as much about backwards compatibility.

One of these days I'll integrate Ren'Py with something like InnoSetup, so games can be installed nicely.

User avatar
rioka
Royal Manga Tutor
Posts: 1255
Joined: Fri Jul 16, 2004 12:21 pm
Completed: Amgine Park, Garden Society: Kykuit, Metropolitan Blues (art)
Location: somewhere in NY
Contact:

#42 Post by rioka » Mon Aug 16, 2004 7:34 pm

When you say that the player will decide which screen resolution they will play, do you mean to say that a splash screen of some sort will be displayed first with those options or be available at a menu bar?

User avatar
PyTom
Ren'Py Creator
Posts: 15893
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#43 Post by PyTom » Mon Aug 16, 2004 10:40 pm

I think I may have been misunderstood... The player will not get a choice of resolutions, the game-maker will pick the resolution of the game. So there's no need for it to be in the interface, instead the game script will include something like:

Code: Select all

# My high-resolution game.
config.screen_width = 1024
config.screen_height = 768
In general, the resolution of the game influences the size of the backgrounds and characters, so I don't think it's something that the user should change. (Maybe a big scaling step at the end will allow this. I don't know if it's worth it.)

User avatar
Alessio
Miko-Class Veteran
Posts: 573
Joined: Fri May 07, 2004 9:40 am
Projects: GO! Magical Boy (2006), Angelic Orbs (soundtrack), Cyberlin (in progress)
Location: Finland
Contact:

#44 Post by Alessio » Tue Aug 17, 2004 6:26 am

PyTom wrote:My current plan is that each Ren'Py game will ship with its own copy of the engine. This means that the game doesn't need to worry about being future-proof, and the engine doesn't have to care as much about backwards compatibility.
I agree it's the easiest way, I was just a bit worried about the package size, the executable without game files being already 1.7 MB. Probably doesn't make a difference for a 50 MB game, but for a 0.5 MB one it would.

Then again, if this is the only issue, I will gladly live with it. :-) Thanks again for your work!

Locked

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], Majestic-12 [Bot]