Basic Guide: Soulcade Interactive Narration Engine

Reading Time: 2 minutes

[su_heading size=”24″]Introduction[/su_heading]

So unless you stumbled upon this post somehow without being aware at all of the purpose of the title, then it should be established that we released our first Game Maker Studio Asset. This asset allows the user to add on screen narration as well as vocal narrations via recordings. I want to be clear and say now that this does not provide text to speech functionality. 

[su_heading size=”24″]What we will cover[/su_heading]

Now moving forward, this guide is going to be one to address the basic usage of this asset. We will specifically be going over the usage of each of the scripts bundled inside the asset. There will be another guide on troubleshooting this asset and more when feedback is collected and reviewed.


[su_heading size=”24″]Included scripts[/su_heading]

[su_tabs vertical=”yes”]


[su_tab title=”narration_init”]

This script initializes the narration system and creates ds_queues that are assigned to the variables narration_script,narration_timer, and narration_sound. This only needs to be called once inside the create event of obj_narrator



[su_tab title=”narration_add”]

This script allows you to add “lines” to the narrator’s script for displaying to the player. This script contains 3 arguments: The first for the text (written as a string), the second being the amount of seconds you want this specific line displayed (EX: If you want the line to be displayed for 5 seconds then simply write 5), and third is the optional sound file.


Note: If a sound file is supplied in the third argument then the second argument will be overridden for the length of the sound file and if no sound file it to be used then write noone in its place.


[su_tab title=”narration_fade_in”]

Simply smoothly fades in the overlay for the narration text



[su_tab title=”narration_fade_out”]

Simply smoothly fades out the overlay for the narration text



[su_tab title=”narration_clear”]

Deletes all remaining narrations and stops current ones executing.
Can be used for abruptly switching to new dialogue by using this function and narration_add() in quick succession as well as in the game’s end event



[su_heading size=”24″]Implementation into a preexisting game.[/su_heading]
Implementing this asset into a preexisting Game Maker Project is as simple as adding obj_narrator to the room needed and calling the narration_add function to add lines to the narrator’s “script”. If you want a line to be read instantly call the narration_clear script before the specific narration_add call instance you want read. Changing the font (Assuming you don’t share Soulcade’s obsession with Bebas) is as simple as going into the create event of the obj_narrator object and assigning a different font to the variable font

Leave a Comment

Sign Up

New membership are not allowed.