Page 1 of 11

Ren'Py Roadmap

Posted: Sun Mar 01, 2009 3:46 pm
by PyTom
Here are my thoughts on where Ren'Py is going for the next few months. (As of March 1, 2009)

Ren'Py 6.9.0 is in pre-release right now. This release included:

* fundamental changes to the core rendering system

* the new Transform class

* some minor language improvements:
** Automatically adding the u to unicode strings in python blocks
** no longer requring image statements to be in init blocks

Apart from finishing the release of Ren'Py 6.9.0, I plan to take a sabbatical from Ren'Py development during March, to focus on finishing some game projects I've promised people I'd work on.

Starting in April, I will begin work on the Ren'Py 6.9.x series. Goals of this release include:

* Rewriting some of the existing displayables (Zoom, FactorZoom, RotoZoom, Move, Pan, Motion, etc.) in terms of Transform. This will simplify things, and improve portability.

* A new transform language. Right now, transforms are specified with python code. I'd like language support for them.

* Other language improvements. These are up in the air, but two candidates include an imagemap statement, and a new way of writing dialogue that doesn't require the user to put quotes around everything.

I'm always looking for ways of making game development easier, especially ones that can be fit into the existing Ren'Py framework. ("Write a gui!" isn't very helpful.) Please send me those suggestions.

At the same time, I will be making a Simple Python iPhone Game. This is to teach myself about iPhone development, and to work out any problems that Apple might have. I'm considering a port of RobotFindsKitten.

This will bring us to Ren'Py 7.0.

Post 7.0, I plan to begin to maintain several ports of Ren'Py. An iPhone port seems likely, barring technical problems. I'm also considering a Silverlight port, as it will probably be easier to accomplish than Flash. (Silverlight supports IronPython, which minimizes what I'll need to rewrite.)

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 3:55 pm
by Aashtarsrain
Thank God you're real !!!! :D :D :D

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 4:00 pm
by PyTom
Aashtarsrain wrote:Thank God you're real !!!! :D :D :D
I'm not sure what else I'd be.

It's kind of interesting. Now that grad school is over, I'm beginning to figure out how to balance Ren'Py with my job and my personal life. So that's kinda fun.

Although I don't spend enough time cleaning my house. I'll probably need to hire some maids sometime soon.

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 4:23 pm
by jack_norton
PyTom wrote: Apart from finishing the release of Ren'Py 6.9.0, I plan to take a sabbatical from Ren'Py development during March, to focus on finishing some game projects I've promised people I'd work on.
Woot! Hope you're talking about my card game too :mrgreen:
PyTom wrote: At the same time, I will be making a Simple Python iPhone Game. This is to teach myself about iPhone development, and to work out any problems that Apple might have. I'm considering a port of RobotFindsKitten.

This will bring us to Ren'Py 7.0.

Post 7.0, I plan to begin to maintain several ports of Ren'Py. An iPhone port seems likely, barring technical problems. I'm also considering a Silverlight port, as it will probably be easier to accomplish than Flash. (Silverlight supports IronPython, which minimizes what I'll need to rewrite.)
Correct me if I'm wrong, but looking in iphone SDK, there isn't python support ? it means you'll have to port renpy over to objective C ?
With Xcode you can run python, but not in the iphone SDK environment as far as I know.

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 4:41 pm
by PyTom
jack_norton wrote:Woot! Hope you're talking about my card game too :mrgreen:
Yes, that's one of two projects I hope to finish in March, ideally on the IntRenAiMo timeframe.
Correct me if I'm wrong, but looking in iphone SDK, there isn't python support ? it means you'll have to port renpy over to objective C ?
The plan is to port Python to Objective C, and also build an environment Ren'Py can run in with minimal changes.
With Xcode you can run python, but not in the iphone SDK environment as far as I know.
My goal would be to allow part of the application to be written in Python. The relevant portion of the SDK agreement is:
Apple wrote: 3.3.2 An Application may not itself install or launch other executable code by any
means, including without limitation through the use of a plug-in architecture, calling other
frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
an Application except for code that is interpreted and run by Apple's Published APIs and built-
in interpreter(s).
If I'm reading this right, it means that I can't download code that isn't part of the original application approved by Apple, but including an interpreter as a part of the application is fine. I am planning on releasing a small free application (probably a port of RobotFindsKitten), just to be sure I have the licensing issues squared away before I port the bulk of Ren'Py.

Cross-compiling Python is a major PITA, but I've done it before professionally.

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 7:58 pm
by EwanG
Guess I'm still not sure what the "Silverlight" port would buy you. It's your time and your choice, but unless someone has a real need for a web-based RenPy...

Obviously I remain very excited about the iPhone port, and look forward to taking advantage of that. So for my personal goals, I'd love to see that fairly high up the priority chain :mrgreen:

When you mention an imagemap option, would that allow for non-rectangular hotspots? Or what would that do?

Finally, as far as something I'd like to see (and maybe the trick is to see if someone else on the board wants to write it), I'd love to see something that would let you work with the RenPy "stage", and then show you the appropriate coordinates/measurements.

To borrow from the Flash concept, I could display my background (or just use a blank one) in the tool, and then I could move items around, and see what the appropriate X/Y coords would be to plug into my script. Ideally I could also zoom in and out to see what magnifications give what results. Obviously you can do the same thing by doing a trial and error approach and messing with the coordinates in the script, but that can take a while.

Regardless let me take this opportunity to once again give you a big THANKS for something that has become a big part of my life.

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 8:09 pm
by PyTom
EwanG wrote:Guess I'm still not sure what the "Silverlight" port would buy you. It's your time and your choice, but unless someone has a real need for a web-based RenPy...
Part of it is that it seems like it would be relatively easy once the iPhone port is done, since Silverlight can run IronPython. It's also an open platform, which I like.
Obviously I remain very excited about the iPhone port, and look forward to taking advantage of that. So for my personal goals, I'd love to see that fairly high up the priority chain :mrgreen:
The thing about the priorities is that they are a chain. 6.9.0 and 6.9.1 will simplify Ren'Py's internals a bit, which will make porting to new platforms easier.
When you mention an imagemap option, would that allow for non-rectangular hotspots? Or what would that do?

Code: Select all

imagemap "foo.png" "bar.png":
    rect 100, 100, 200, 200:
         "You clicked on the House of Sixten."

    rect 300, 100, 200, 200:
          "You clicked on the Sunrider's Landing."
etc. Perhaps it might make sense to allow other shapes, but that would be a further extension.
Finally, as far as something I'd like to see (and maybe the trick is to see if someone else on the board wants to write it), I'd love to see something that would let you work with the RenPy "stage", and then show you the appropriate coordinates/measurements.

To borrow from the Flash concept, I could display my background (or just use a blank one) in the tool, and then I could move items around, and see what the appropriate X/Y coords would be to plug into my script. Ideally I could also zoom in and out to see what magnifications give what results. Obviously you can do the same thing by doing a trial and error approach and messing with the coordinates in the script, but that can take a while.
If someone wants to try this out, I'd support them. Frankly, this would be a good semester project for a software engineering class, especially if one of the team members would be willing to stand behind the result.

Re: Ren'Py Roadmap

Posted: Sun Mar 01, 2009 9:39 pm
by Jake
EwanG wrote:someone has a real need for a web-based RenPy...
It's a question that gets asked with remarkable regularity...

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 2:36 am
by jack_norton
Which I don't understand honestly. I made my webgame A Trip To Bavaria in one week, knowing nothing of Flash before. If all you want to do is a VN/dating sim, is probably quicker to use flash. Beside that, my results prove that with the huge money of flash ads you can buy an icecream in the best case :lol: while on iphone the things seems quite different.
So yes, after Tom finishes the games in march, the next obvious step should be iphone port.
As I said in another thread, I suggest he asks for a %. This also because I might want to sell my games at $9.99 for example, so would be fairer for him to get 25-30% of that price, which is more than $1. Also he should consider the percentage on global revenues, since often they differ from daily ones...I know many devs that got payments of amounts quite lower than what they were expecting from normal sales ;) And don't forget that Apple doesn't pay you until you reach a minimum thresold PER COUNTRY, so that's also another thing to consider.
So there are several factors to consider but still an iphone port has much more sense than a flash one.

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 4:42 am
by DaFool
This is too awesome. I can just imagine it now... artists sitting in wi-fi hotspots in Bangalore developing games and applications for portable devices using their cheap netbooks. It isn't v.6.0 that will achieve world domination, it's v.7.0.

About games you're participating in, are any of them freeware?

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 5:50 am
by F.I.A
EwanG wrote:When you mention an imagemap option, would that allow for non-rectangular hotspots? Or what would that do?
Last I recalled, hotspots do not apply to transparency, so try work around with it.

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 9:00 am
by lucy
F.I.A wrote:Last I recalled, hotspots do not apply to transparency, so try work around with it.
Yes it does! :) ... Download "The Fucking Question" Developer Version... there were several examples in there...

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 10:17 am
by Preludian
Hmm, on the one hand I am of course very happy about your continuous engagement but on the other hand I am a little bit sad (only a little).

My main interest (for now) is to create VN's ( I would call them interactive childrenbooks ;) ) and I have never seen any children walking along with an IPhone.

Personally my prefered platform would be SWF, because it is so widly supported. I have a WII and it can very nicely show all Flashgames or even youtube videos. Can't IPhones also run flash files? And the PSP? I'm not sure, but I think the new DSi can now also display Flashfiles.

So, even if I couldn't sell much Flash-versions of my Children VN, it would be an easy way to provide hassle-free demos. But these are only my 2 cents...

A GUI version of RenPy could be nice to, but on the other hand it could cost some of the flexibility, but for rapid-prototyping it would be handy. As long as the result would be real code. It could provide some easy way into RenPy too. Doing something visually and the examining the resulting code, nice....

Oh, one question apart, what about Python 3.x? Any thoughts about it?

Oh and I think that a further abstraction from the language, being more a RenPy language than a wild mix between RenPy and Python could be beneficial for future platform portings, but that's what you have planned anyhow if I understood you correctly?

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 10:58 am
by EwanG
PyTom wrote:

Code: Select all

imagemap "foo.png" "bar.png":
    rect 100, 100, 200, 200:
         "You clicked on the House of Sixten."

    rect 300, 100, 200, 200:
          "You clicked on the Sunrider's Landing."
etc. Perhaps it might make sense to allow other shapes, but that would be a further extension.
Obviously I'm missing something, but how is that any better than the current code (personal example below)?

Code: Select all

 $ result = renpy.imagemap("Handiba_Imagemap_w_list.png", "Handiba_Imagemap_w_list_filled.png", [
        (274, 335, 398, 404, "General Store"),
        (440, 198, 512, 233, "Shakota Island"),
        (432, 9, 767, 74, "Camp Handiba Campground"),
        (657, 191, 800, 388, "Upland Trails 1"),
        ], focus="imagemap")

Re: Ren'Py Roadmap

Posted: Mon Mar 02, 2009 11:12 am
by Jake
Preludian wrote: Oh and I think that a further abstraction from the language, being more a RenPy language than a wild mix between RenPy and Python could be beneficial for future platform portings, but that's what you have planned anyhow if I understood you correctly?
Bear in mind that it's entirely possible to write pretty much all the 'traditional' VN behaviour using very, very little Python; I don't think you need any at all, it's just convenient to create a few Character instances instead of typing out people's names all the time.

EwanG wrote:how is that any better than the current code
It's in Ren'Py script, and it's much more straightforward. It's a bad habit of some programmers to presume that complex syntax, keywords etc. are OK just because they understand them. The average non-programmer doesn't have a clue what the difference between the square and round brackets is, where they do or don't need commas (hell, I've been tripped up by Python's sometimes-odd comma usage before and I've been programming for ages) and when they do or don't need a $ at the beginning of the line... english-language keywords outside of Python blocks are pretty much always going to be easier for these people to comprehend than nests of tuples and lists.

A lot of the time the problem for non-programmers isn't that they're incapable of understanding something, it's that they have this image of programming being a black art impossible for human minds to comprehend and they stumble on this before even trying. Put it in a more friendly layout with better keywords, and it makes it easier to approach.





That said, I think if I were to pick a single thing which would make Ren'Py easier for most people to understand how to write games for, it would be to get rid of the reliance on indentation for block control and use begin/end or something similar for blocks in Ren'Py script. Not that I expect that's going to happen any time soon.