Caster – multi-platform Ogg extension for GameMaker

Caster extension


Caster is a lightweight OpenAL-based extension for playing Ogg files in GameMaker, written by Marius Utheim. The extension works on both Windows and Mac.


It’s simple to use and offers all the most useful features when dealing with sound effects in your games; like pitch and volume control on instance and sample basis.




Current version: 1.1 (see latest changes)




The DLL Pack is only required for the Windows version of GameMaker, and should be placed in the game’s working directory. On Mac, just the Gex is enough.


If you have any questions or found any bugs, leave them in the comments or contact Marius directly at:


Caster is free for any kind of use, but credits to MoaCube and Marius Utheim are always welcome.

  1. Brent Anderson wrote a comment on: May 30, 2011 at 8:35 pm

    Very nice, and very kind of you folks to offer it up for free. I’ll most definately be using this in the future.

  2. Ivan Esteban wrote a comment on: June 15, 2011 at 12:29 am

    Thanks for this. Think I found a bug though. I posted this at the GMCommunity forum, but setting pitch to 0 in GM 8.1 seems to do nothing. Works fine for my friend who is using 8.0, though.

  3. Danne wrote a comment on: September 16, 2011 at 6:24 pm

    Please make a better tutorial!

  4. TeeGee wrote a comment on: September 16, 2011 at 6:28 pm

    The extensions is pretty simple and the help file lists all the functions. But what are you having problems with?

  5. Danne wrote a comment on: October 11, 2011 at 1:53 pm

    I fixed mostly everything now, the only thing I want now is for the sounds to load before the game starts, but I’m guessing that’s impossible. Any way for a loading screen to pop up in game at least when loading all the sounds? So far the game just freezes for a while, and it’s not visually appealing. Also, Caster needs pause amongst other things, but I leave that up to you. It’s great as it is right now!

  6. TeeGee wrote a comment on: October 11, 2011 at 2:00 pm

    Thanks, glad you like it :).
    Like with any external resources loading, if you want a nice loading screen, you need to implement one yourself.
    We have pause planned for the future versions, along with some other improvements.

  7. Dan wrote a comment on: October 24, 2011 at 4:33 pm

    Nice extension, although it seems to have a mind of it’s own. works on a 50 / 50 basis xD

  8. TeeGee wrote a comment on: October 24, 2011 at 4:43 pm

    What exactly is the problem? It works just fine in our games, but if there’s a bug, we need more information to be able to fix it.

  9. Danne wrote a comment on: October 27, 2011 at 5:31 pm

    Tegee, any suggestions on how to make loading use less RAM? I’m using a few .ogg’s at around 2 megs each (I load around 5-6 of them at start of game) and the RAM goes from 100 megs to 500.. That’s 400MB usage for 10mb of .ogg files. By the way, as expert, is 100MB usuage for a complete GM game too much? Any suggestions on how to reduce the RAM usuage (with and without music)?

  10. TeeGee wrote a comment on: October 27, 2011 at 6:30 pm

    You must understand that .ogg is a method for compressing files on the hard drive, but they have to get uncompressed when loaded into memory for usage. So for example: if you have a two minutes long .wav and a two minute long .ogg, they will use the amount of RAM, even though their filesize is vastly different. In short: you must look at the length of the sound files, not how many megs they take on the HDD.

    That said, unless the files are very long, 400MB seems a bit excessive. Could you perhaps send them to my email, so I could test it? We load much more music on Cinders’ boot, and it doesn’t take up as much memory.

    100MB is perfectly fine for a complete game. A bit on the low side even. It’s hard to find a machine with less than 1GB or RAM these days.

  11. Danne wrote a comment on: October 28, 2011 at 12:07 am

    Sure, I’d hate to send everything to an email though so I uploaded the alpha on yoyogames instead:

    It includes all the .ogg files (which are quite lengthy anyways. But still, 100 –> 500 is quite a jump.
    Just run the .exe alone in another folder if you don’t want the music activated. What I have in the initializing screen is basically a few caster_load functions. Thanks for your help!

  12. TeeGee wrote a comment on: October 28, 2011 at 12:21 am

    Thanks. We’re looking into that right now.

  13. Marius wrote a comment on: October 28, 2011 at 1:14 am

    I checked out the files and did some quick math. Without saying with 100% certainty, it’s possible that they actually are that large when decompressed. I tried loading them all, and it took a bit more than 300 MB.
    A file with frequency 44100, bitrate 16 and two channels will be approximately 1 MB per minute when decompressed. That means with 7 tracks that are between 5 and 6 minutes on average, the decompressed size should be roughly 400 MB.
    If you’re able to reduce the frequency or duration of each track, that might help. I recommend a program called audacity for editing the sound. Or you could just free all the files that you’re not using.

  14. Danne wrote a comment on: October 28, 2011 at 1:26 am

    Wow, I had no idea it could take that much RAM. Well, good news is that the music is really easy to just swap out, which I think I will do since it was kind of a placeholder anyway. I’ll keep the frequency and length of music in mind for the final build, definitely. Thanks!

  15. TeeGee wrote a comment on: October 30, 2011 at 2:46 pm

    We have released a new version of Caster. Here’s more info and the full list of changes:

  16. Dante wrote a comment on: January 4, 2012 at 6:25 am

    I want to put the dll’s in the temp directory because the working directory just looks too messy 🙁