Right... so one thing at a time:
You could glance through this useful thread:
http://www.pinkpetal.org/index.php?topic=3489.0 It'll help you with using the forums correctly. You need to encase code as code for example to make it better readable.
Well uh...I checked out the Ren'py thing and I think i get it? sort of? I'm still a newborn chick to these kinds of things.
In any case, how do I go about adding in 'dialogue' and where is it needed?
From what I gather, I'm focusing on this one correct?
Writing Dialogue:
label xyz: //Indicates name to the place of a program
Yeap:
label my_label:
# code
does just that and the whole game is structured in labels. For that reason there is no main loop that you often see in the games, it is instead handled internally by the Ren'Py engine.
scene behind the house //some sort of contextual thing?
show Name emotion //Reference to some sort of mood?
"blah blah blah." //Simple saying statement (1 Argument)
// The \" indicates a special character
"Header" "blah blah blah" //Same as above + a Header (2 Arguments)
scene and show are both Ren'Py script statements.
There are five script languages that are used in Ren'Py:
- Python (The most powerful one by a long-shot)
- Ren'Py script.
- ATL
- Style
- Screen
Everything written in the latter four can be done with python. Latter four were created to simplify the most useful things and reduce coding time required to get things done. They are all basically wrappers for Python equivalents.
Ren'Py script used mostly for advancing normal, VN type gameplay. Scene statement you mentioned will remove all displayable on the layer ("master" by default) and show a new displayable. It's mainly used to clear stuff for a new sequence of events and texts and to show a new background. show statement just shows a displayable.
ATL (Animation and Transformation language) provides sets of instructions to displayable to change their properties, like position, size, rotation, alignment and so on. Basically it's use to tell a displayable to move, change shape, cut a piece of itself, zoom, change it's size and etc.
Style provides properties to a displayable as well but there are not used to transform a displayable, rather to "set it up". It does also deal with size and positioning but it is used to provide it, not change after displayable has been rendered.
Screen language (now Screen Language 2 starting with Ren'Py 6.18) is used to create screens, which are basically groups of displayable to provide information and get input from player.
*Should be noted that everything you see on the screen in Ren'Py is a displayable, including texts. It's a useful thing to know if you ever decide to dig a bit deeper.
define abc = Character(_("Name"), color="#ffcccc")
abc "blah blah blah" //Output is: Name (Header with a colour) - blah blah blah.
abc "blah blah blah \"ring-a-ling\"?" //Output is: Name (Header) - blah blah blah "ring-a-ling"?
define is another Ren'Py script statement I tend to avoid because while Ren'Py developer has explain it to be twice already, it still tends to screw me over whenever I use it for anything important... it mostly deals with improving debugging.
$ abc = Character(_("Name"), color="#ffcccc")
Does a very similar thing. Dollar sign is a statement for a Python oneliner. it is basically telling the game: This line is in Python.
python:
# code
means any code indented afterwards is python.
I'm also not quite clear on how to manipulate fonts (size, boldness, outlines, italics, stuckthrough, spacing, timing, etc.). If someone could clarify that to me that'd be nice.
Fonts can be manipulated in a number of ways. For example:
abc "{size=40}{b}blah blah blah{/b} \"ring-a-ling\"?"
will render the entire line in size 40 and the encased bit in bold. There is a documentation with all options:
http://www.renpy.org/doc/html/style_properties.html#text-style-propertiesObviously this is far from ideal so you can also provide properties when you define the sayer:
$ abc = Character(_("Name"), color="#ffcccc", what_bold=True, what_size=40)
or use styles (possibly the most convenient way).
================================
It should be noted that PyTFall has most of this stuff preset. Like we've already picked a font, window will be automatically defined for you and all characters in the game has been setup with their portraits to be shown.
We also generally do not use show statements for sprites because we do not use internal cataloging system for images. There are plenty of examples for this stuff in the game.
You need to create an account for SourceForge and PM me your login. I can then add you to the project.
Instructions are in this thread:
http://www.pinkpetal.org/index.php?topic=2125.0