- Programming and translation: Is he referring here in the options a player has? If you choose path A then the sequence is 1,2,3 or if path B then 1,4,6 etc. right? Also, when is text added and how?
Programming is putting all the stuff he made for the update in the source code of the game. Meaning:
- Write the text/dialogs into the code
- Position images (and transition effects)
- Select musics/sounds
- Implement choices and paths like you said
Scenes, or part of scenes are embedded into
labels. That's what L&P do during the programming. As the story advances, you jump from
label to
label.
Here is an example:
Python:
label day20_School_break:
play bgs classroom_noise_1
$ renpy.music.set_volume(0.6, delay=0, channel='bgs')
scene day20_Literature_lesson 134 with fade
s "Okay, guys. Next class, we'll be talking about what you wrote."
if day20_Sophia_fulfilled_Aidens_4th_task:
"Zac was looking at her, but Sophia just couldn't look in his eyes after the embarrassing moment from just recently."
else:
stop bgs fadeout 1.2
jump day20_Sophias_talking_to_Aiden_when_refused_task
stop bgs fadeout 1.4
scene day20_Literature_lesson 135 with fade
"André was still pissed that Sophia slapped him."
andr "What the hell ya think ya doin'?! You'll regret that!"
label day20_School_break:
All labels are named.
play bgs classroom_noise_1
The
classroom_noise_1 sound is played on the
bgs channel.
$ renpy.music.set_volume(0.6, delay=0, channel='bgs')
The volume of the previous sound is modulated.
scene day20_Literature_lesson 134 with fade
The
day20_Literature_lesson 134 image is displayed with a
fade transition (the previous image fades to black then the new one gradually appears)
s "Okay, guys. Next class,....."
The first letter is the code of a character, here
s = Sophia. And the second part, the dialog line to display. So, here, Sophia is speaking.
Python:
if day20_Sophia_fulfilled_Aidens_4th_task:
"Zac was looking at her, but Sophia just couldn't look in his eyes after the embarrassing moment from just recently."
else:
stop bgs fadeout 1.2
jump day20_Sophias_talking_to_Aiden_when_refused_task
Here it depends on a previous choice.
day20_Sophia_fulfilled_Aidens_4th_task
is a variable which can be
True or
False.
If you haven't fullfiled the 4th task:
stop bgs fadeout 1.2
The
bgs channel is muted (ie the previous
classroom sound)
jump day20_Sophias_talking_to_Aiden_when_refused_task
You jump to another label named
day20_Sophias_talking_to_Aiden_when_refused_task.
Otherwise,
"Zac was looking at her,....."
will be displayed. Note there is no character at the beginning of the line, so no one is speaking. Then, you continue in the current label.
Later,
andr "What the hell ya think ya doin'?! You'll regret that!"
Another example of someone speaking, here
andr = André.
It is a very simple example. You can of course do much more with Renpy.
Can I for example change the text without destroying the game with the simple means I have available (just a simple laptop)?
You can.
First, you have to uncompile the
.rpa files of the game (there are a bunch of tools to do that on F95)
Then, you'll find what I talked about above in
.rpy files in the
scripts folder.
You can change anything in theses files, run the game and see the changes you made.
But... of course, there is a "but". By altering .rpy, you take the risk to make your saves incompatible with later versions of the game. There are 2 possibilities:
1/ Changes are minors but Renpy is not sure what to do, it rolls you back to the beginning of the current label. The best case.
2/ Renpy doesn't know what to do if there are too much changes. It prevents you to load your save. Worst case
If you change few lines of dialog here and there, you'll probably be in first case. But it's not a certainty.
Note all dialogs of AWAM2 are currently in
day20.rpy. If you change anything in it. The next time an update will be released, you'll have to modify again the whole file if you want your changes to be permanent.