ParsonSyunOwen wrote:
Well, for example, try the
DynamicDisplayable page. When I first encountered this, I read it two or three times and came up with several questions:
Again, though, that's a more-advanced topic that one is only really going to be able to make decent use of if one already understands the programming concepts behind it. Most of your questions would be answered by a working knowledge of Python (most can be accurately guessed with a programming background in any language), and realistically, I think it's reasonable to presume that without a working knowledge of programming it's going to be difficult to do anything worthwhile with a DynamicDisplayable anyway. As it goes, there are introductory Python tutorials elsewhere on the web, it seems silly to add one to the Ren'Py wiki as well.
Here's one place to start. Maybe a link would be a good idea, although I'm not sure whereabouts on the wiki it would go...
(To my eye - that is, from the point of view of someone who understands most programming concepts pretty well and has a functional understanding of Python - the example there is simple but perfectly sufficient.)
ParsonSyunOwen wrote:
-What is style.gm_root.background? Is that changing the game background? Can't you use scene for that? How do I use this for something else?
This is the only question which remains once you remove all of the ones which are solved by a bit of Python knowledge. On one hand, I agree that the wiki could do with a good bit of cross-referencing, but on the other I don't think that's something that this particular question would be answered by. (I also don't think it's a good idea to put links inside example code...)
As it goes: it's assigning a property value to a style. If you're inside Ren'Py you can hit Shift-D to get to the developer menu, from which you can get to the style browser, which will tell you that 'gm_root' is the name of the style used for the game menu screen. So setting the background property is setting the background of the game menu.
ParsonSyunOwen wrote:
And all of this is accompanied by the inevitable: What happens if I do it wrong? Will it crash the game? Will it not work? Will it not work and not tell me? Will I have to spend hours trying to debug? etc., etc. I have no clue, because I don't understand how the function works or what it's suppossed to do.
To be honest, listing these things would again probably only be useful to someone with sufficient understanding of Python, because otherwise - to borrow your prehistoric-man analogy - it's like telling the guy who's been handed the axe that if he hits the wrong things with it, impact stress will propagate throughout the axehead, leading to a structural failure along a plane of the crystal matrix of the flint.
With respect to the DynamicDisplayable page, it's more like you took the axe, and the first thing you asked Dad was "Hey, if I want the blade here to have a steeper angle to it, how do I do that?" and Dad assumed from this that you must already understand the basics and went right in to an in-depth discussion about chiselling flint.
So, what I'm wondering is:
- Are there any parts of the manual
about Ren'Py script which you don't think have sufficient examples?
- Would it be worth producing a "non-programmers Ren'Py script manual" which covered all of the basics in a functional, non-technical manner but excluded all of the more complex topics - generally the ones you need to understand Python/programming to follow - entirely?
I don't personally think there's
much mileage in making articles like DynamicDisplayable more 'friendly' - fundamentally, if you're going to be doing more-advanced stuff with Ren'Py you
do need to learn some of the programming stuff sooner or later. It's a bit of a jump, you need to do more work to do the more-advanced stuff, but equally none of it is at all
necessary for making a Ren'Py game.