Skip to content
Juju Adams edited this page Dec 5, 2021 · 12 revisions

What platforms do coroutines work on?

Everything apart from HTML5. I've only tested on Windows so far. It's all native GML so it should work out of the box. You might run into edge cases on platforms that I don't regularly test; please report any bugs if and when you find them.

 

How is this codebase licensed? Can I use it for commercial projects?

This library is released under the MIT license. This means you can use it for whatever purpose you want, including commercial projects. It'd mean a lot to me if you'd drop my name in your credits (Juju Adams) and/or say thanks, but you're under no obligation to do so.

 

I think you're missing a useful feature and I'd like you to implement it!

Great! Please make a feature request. Feature requests make coroutines more fun to use and gives me something to think about when I'm bored on public transport.

 

I found a bug, and it both scares and mildly annoys me. What is the best way to get the problem solved?

Please make a bug report. Juju checks GitHub every day and bug fixes usually go out a couple days after that. You can also grab me on the Discord server, but that's not a replacement for a nice clear bug report.

 

Help! I'm getting compile errors about async events.

Due to GMS2.3.6 changing some constant names related to async events, versions of GameMaker older than v2.3.6 will not compile this library. You'll be able to fix this issue yourself by finding the old names in GM's documentation and slotting them in.

 

Do coroutines work with GMLive?

I haven't tested it. Let me know what you find.

 

Speaking of YellowAfterlife, he also implemented coroutines via GMEdit. How is this library different?

Vadim wrote his coroutine implementation long before GameMaker Studio 2.3 introduced anonymous functions into GML. His is a very clever, technical solution that works around a lot of missing features in old versions of GM. Fortunately, GameMaker is a lot more flexible these days and this library takes full advantage of new features to implement coroutines.

 

Who wrote the code?

This library is built and maintained by @jujuadams who has a long history of tinkering with the inner workings of GameMaker. Juju's worked on a lot of commercial GameMaker games.

A lot of the macros ideas are based on idea presented by Katsaii in her famous (infamous?) macro hacking article. @shdwcat also helped guide the direction the library should take before public release by offering some advice she learnt from writing her own coroutine system.

 

Can I send you donations? Are you going to start a Patreon?

Thank you for wanting to show your appreciation - it really does mean a lot to me personally - but I'm fortunate enough to have a stable income from gamedev. I'm not looking to join Patreon as a creator at this moment in time. If you'd like to support my work then drop me a credit in your game and/or gimme a shout-out on the social media platform of your choice.