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.
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.
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
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.
Simply smoothly fades in the overlay for the narration text
Simply smoothly fades out the overlay for the narration text
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
Implementation into a preexisting game.
Implementing this asset into a preexisting Game Maker Project is as simple as adding
to the room needed and calling the
function to add lines to the narrator’s “script”. If you want a line to be read instantly call the
script before the specific
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
object and assigning a different font to the variable