Interactive Narrative Design - Project 03: Develop Interactive Narrative using Ren'Py

23/06/2025 - 21/07/2025 | Week 10 - Week 14

Koh Sher Wei | 0353816

Interactive Narrative Design | Bachelor of Design in Creative Media


 MIB


     
PROJECT 03 [ Gameplay]

Instructions

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. 


Submission

Download [Fragments of Time] Ren'Py gameplay here

These are the recordings for my Ren'Py gameplay, all leading to a different story branch.







Popular Posts