Canoeing for Love (2023) is a dating simulator where the player must seduce a local canoe fanatic be drowned by Poseidon, the Greek Olympian.
Dialogue branching in the JSON format.
Selecting a dialogue option.
Canoeing for Love is a university project made in Unity 2021.3.34f in three months.
This project was built by a team of four students, I contributed both to art and programming.
I coded the dialogue system, including displaying dialogues, managing branching paths.
I implemented an observer pattern to decouple the dialogue system from other game systems.
Dialogue nodes trigger game events without hard dependencies, such as rendering visuals, playing sounds and updating values.
I drew the sprites for two characters and the portrait icons that are displayed in the user interface.
Ensuring the dialogue system would communicate data with other game systems.
Parsing a JSON file to data for the dialogue system and overcoming edge cases such as missing data and branching dialogue.
I achieved a dialogue system that stores and sends data to other systems, but I didn't consider the ease of editing. All dialogue was written in a verbose text file, following our JSON schema.
The observer pattern can be optimized, because dialogue nodes are sent to all systems regardless of relevancy.
This has inspired me to explore the creation editor tools to help designers write dialogue.