
AssParser for GameMaker
A downloadable extension
AssParser is a free extension that adds subtitle support to video playback in GameMaker using Advanced SubStation Alpha (ASS) files.
For creating and modifying .ass files, I recommend Aegisub. It's free, open source, and you can use it to convert nearly any subtitle file into an .ass file.
Not what you're looking for?
This extension is specific to video playback, not audio. If you're looking for subtitles that pair well with in-game audio, check out Subtitle Workshop by Mytholite.
How does it work?
It's extremely simple:
and then draw the current subtitle however you want using
This way, you have full control over how your subtitles are drawn!
Anything else?
The second argument in video_open_ext is optional. If you don't provide an .ass file, AssParser will automatically look for an .ass file with the same name as the video file.
Lastly, you can retrieve more than just text from .ass files. A typical .ass file will store lots of information per line of dialogue:

And we can access any of this info using
This is important because it lets us access the "Name" key. Suppose you want each character in your video to be subtitled in a unique font color. You might consider doing something like this:

and as long as each line of dialogue has a "Name" associated with it (in Aegisub, this is called an "Actor"), each line will be drawn in the appropriate color!

Why not just edit subtitles into the video itself?
I wrote this extension because one of my projects includes several high-definition cutscenes, and we're planning to subtitle them in multiple languages.
These video files take up a lot of storage space, so having separate video files for every single supported language would be ridiculous. Using subtitle files lets us minimize the amount of unnecessary storage space the game takes up, and it opens up a lot of possibilities with regards to accessibility.
Example project:
Included with the extension is an example project with an example video:

Me at the zoo is licensed under the Creative Commons Attribution 3.0 Unported license. It was uploaded to YouTube in 2005 by Jawed Karim at the following link: https://www.youtube.com/watch?v=jNQXAC9IVRw
Code library vs. extension
AssParser only uses GML, so you may prefer to download it as a script asset instead of a GameMaker extension. This makes it easier to debug and modify the code for your own use.
If you download the code library version, remember to call the init function before using any other AssParser functionality:
Source code for the code library version: https://github.com/DecadeDecaf/AssParser/tree/library
Source code for the extension version: https://github.com/DecadeDecaf/AssParser/tree/extension
| Published | 20 days ago |
| Status | Released |
| Category | Tool |
| Release date | 20 days ago |
| Author | DecadeDecaf |
| Made with | GameMaker |
| Tags | GameMaker |
| Languages | English |
| Links | Source code |
Download
Click download now to get access to the following files:

Comments
Log in with itch.io to leave a comment.
I get these errors (no more info) when I try to run the yymps example. It looks like the error is in the AssParser itself, as I get this error even without a single object on a room.
I'm in the ver2024.13.1.242
Maybe it's just me and my horrible computer? Idk
(Edit) It looks like it works on the Beta version of Gamemaker but not in the LTS version, or at least for me. My hypothesis is that maybe there is either syntax that is not supported on the LTS version inside the code or it uses some newly added function.
Hi!
This extension was made using the current Monthly release (v2024.14.1), not LTS or Beta. As far as I know, it won’t work on older versions regardless of any new code it might use.
I tried remaking the extension in v2024.13.1, and I got the same “fatal” error as you. However, I tried remaking the extension in v2024.11.0 (with zero changes), and it worked completely fine.
It seems to be an issue with the v2024.13.1 runtime, unfortunately. I went ahead and uploaded the v2024.11.0 yymps to itch.io, but you could also try copying over code from the source .gml file into a script and reformatting it for your own purposes in v2024.13.1.
UPDATE: I just uploaded a version of the extension that uses a script asset instead of an extension. This shouldn’t have any compatibility issues!
Sorry for the trouble; this is my first time distributing any tools for GameMaker.
h,aha as s like the thing
🍑