The final project challenges students to realize their interactive narrative as a playable experience using Ren’Py, a visual novel engine. Students will translate their branching script from Project 2 into an actual game prototype. This project focuses on the practical application of narrative logic, visual execution, and interactive storytelling.
Students are encouraged to include features such as:
- Branching
storylines with multiple pathways or endings. - Character interactions through dialogue choices. - Use of variables to track player decisions or unlock
story elements. - Music and visual design to enhance mood and
immersion.
Process
In Ren'Py, the main structure is developed with the
script files, using their own coding language. So, I
started off by assigning character names, and scripting
the narrative and dialogue of my storyline from project 01
and 02.
Once I had the general structure and choices, I started adding
and finding images to be paired with my story. Some images
were ai generated and some were from online websites. Then, in
order to ensure that the aesthetics align, I manually adjusted
the colours and style of the images in Photoshop.
Additionally, I also edited certain "interactive" elements
like a sticky note with clues on it, a polaroid with
annotations and letter content which was included in my
script. I was also encouraged to change the default Ren'Py
decision buttons to images for an added layer of immersion.
So, I edited each decision button with their hover actions
as well.
The script for just the storyline and dialogue was quite
long. So, I created another custom screen file in my
Ren'Py folder for better organisation. This is where I
am able to add things that alter Ren'Py's default Gui and
Screen codes. For example, the images above show how I changed
my choices buttons into images by customising the image and
actions under my custom screen file, then calling the screen
in my script file.
Audio was a significantly simpler process, as Ren'Py uses
only 3 types of audio by default which are: music, sound,
and voice. Since I had no voiceovers, I just had to make
sure to save my ambient sounds under the music folder and
SFX under the sound folder so that they can play at the same
time. Then, adjusting the volumes and prompting fade in/out
and loop/no loop.
All audio and sounds were found on copyright free
websites.
Another thing I did was change the main menu page, as I
felt that it would make a better impression on my game, if
the start screen matches the whole game's aesthetic. This
was a bit tricky as it required going into the default
Ren'Py Screen and Gui files to change what was already
provided in the plugin.
However, Ren'Py does have a
function where you can find out the name of each element
by clicking [shift + I] while hovering the desired element
you want to change. I also changed the font as well to a
more cartoon-ish font.
Amended Script
Unfortunately, I did have to slightly amend my script
after developing my gameplay and reviewing the issues
in the branching of my storyline.