Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Stephen Loney

A member registered Jan 11, 2016 · View creator page →

Creator of

Recent community posts

(1 edit)

Hey, David!
I believe you meant this for Scribble. I know, because I came across the same issue in Scribble. 😀

You'll want to contact Juju Adams about that one. :)

Take care!


In case you didn't get messaged about the update, the latest TweenGMS 2 beta (11) should fix the issue you mentioned above. Let me know if any trouble persists. :)

(4 edits)

Thanks for reporting this!
This error only seems to happen when calling an Easy Tween at the VERY START of the game.

You can get around this by delaying the call by one step, or you could modify TweenEasyScale (and other easy scripts). You would need to change:

if (!instance_exists(o_SharedTweener)) SharedTweener();
to :

I'll aim to include this change in the next beta release. I'm aiming for one this weekend. -Stephen

(4 edits)

Hmm. That is odd. Is this happening for the VM and YYC? Are you on Windows or Mac? Did you add TweenGMS to an existing project or an empty project?

Testing here on I am not seeing the same error.

It is safe to comment out that line if it stops the error. I'll check things on my end and see if I can reproduce the issue.


Looking things over some more, the GameMaker error doesn't seem to make sense within the given context. Something seems really wrong. I am suspecting something is wrong on GameMaker's end, as "health" is not associated with any attempted assignment. That would indeed be wrong!

I might encourage clearing the compiler cache or reinstalling the GameMaker runtime. Or, you could try a different runtime to see if the error goes away or changes. That might give a clue as to where the error is coming wrong.

Please keep me updated :)


In case you missed it, I did get around to playing this later on the stream! 

Streaming Amaze Me Game Jam Entries (Part 2) - YouTube

After piecing together the rules, this game is really neat. Seriously, well done! Considering playing some more when my mind isn't dull. ^.^

Having a certain "atmosphere" was definitely a focus during development. Glad to hear it came through!

-Stephen (coder)

Dude. That's fun.
Tons of polish, too. Well done!
Android port when? lol

The screenshots/gifs don't do it justice. This feels really good in action. Well done!

Good work!

Gave it a play and enjoyed it! Nice job. I especially enjoy the swimming animation lol

I got an... urchin to play this. ^.^

(1 edit)


I believe what you are looking for is in the TweenGMS 2 beta. Passing a duration as an array [100] will tell the tween to use a normalized duration.

TweenFire(id, "io", 0, true, 0, [100], "x", 0, 500);

That would have x update at 100 pixels per second. So, the example above would have an actual duration of 5 seconds.

However, using step timing will have it update a certain amount per step.

TweenFire(id, "io", 0, false, 0, [5], "x", 0, 500);

The example above would move x by 5 pixels (on average) per each step/frame.

If possible, I'd take a look at the beta and see if this infact is what you are looking for.


Good stuff. Thanks!

That is good to hear!

Do you know which version you upgraded from? I'm interested in people's update experiences. Especially as some people seem to be using versions from years ago! ^.^

Thanks for the help! 

I was able to clean things up which hopefully will make things more stable overall.

The latest blog post mentions a couple other additions to the update.

Thanks! I might look into this more tonight.


I'd like to confirm your example....

TweenFire(apple.x, EaseLinear, 0, true, 0, 5.0, "x>", 50)

The first argument [apple.x] should just be [apple]....

TweenFire(apple, EaseLinear, 0, true, 0, 5.0, "x>", 50)

Structs are quite a new thing, so expect there to still be issues. I appreciate this being brought up. I can check and verify these things later.

I am writing this from my phone, so sorry if this text comes out messy :)

Good to hear!

Happy new year :)

I have uploaded Beta 4.1 which should fix the issue you mentioned :)

Oh, this makes sense! I see what is going on now.
Yeah, I will need to adjust some things or mention this in the documentation.
One option is to create an initial room which immediately goes to the next room. That should allow you to use the room editor again for the object.

Thanks for getting back to me. This information is helpful!

(1 edit)

I think a temporary fix is to place o_SharedTweener into your game's first room. The object is *supposed* to be automatically created, but it looks like it isn't for your project.

Let me know if that helps for now. I will need to look into this some more.

Also! If you haven't already, I encourage you to clear your project's compiler cache. (CTRL+F7)

I will look into this. Thanks for letting me know.

New update is now live! :)

Hey! I actually have this fixed for a coming update. If possible, I will try to make it available for download later today.

Catnip *shakes*

Try removing "global." and just write "Camara_zoom>"

Let me know if that works for you.

Currently, TweenGMS automatically finds global variables without using the 'global.' prefix. I might change this in the future to avoid confusion.

I will need to double check this, but I think you can do this...

TweenFire("$60", "@finish", [event_user, 0]);

Thanks for the feedback. I will give this some consideration.

Glad you have found it helpful :)

Replied on Twitter. Posting here just in case Twitter doesn't notify you.

TweenGMS v1.0.7 now includes a fix :)

Спасибо, что обратили на это мое внимание. Я нашел проблему. Я планирую в ближайшее время выпустить обновление, чтобы исправить это. А пока вы можете исправить это сами, сделав следующее ...
1) Открываем скрипт TGMS_TweenPlay
2) Найдите строку 25 с _t [@ TWEEN.TIME] = 0;
3) Ниже строки 25 добавить ...
     _t [@ TWEEN.DIRECTION] = 1;
     _t [@ TWEEN.TIME_SCALE] = abs (_t [TWEEN.TIME_SCALE]);

Это должно решить проблему.
Позвольте мне знать, если это помогает! :)

Я сейчас расследую. Я дам вам знать, что я нашел.

Hey, Alberto. 

There is a known issue with the latest 2.3 build which affects the passing and calling of referenced functions/methods. This is something which TweenGMS has relied upon heavily. Ideally, Yoyo Games will have a fix for this soon.

FrostyCat has made mention of this over on the GameMaker Community forum:

This error seems to be related to the FINISH EVENT callback.
It appears to be reporting that "_event" is not defined, when it should be. This variable is a list with data about the FINISH callback. _event[| 0] holds a true/false value depending on if the event is enabled/disabled.

It is hard for me to know for sure why this is happening. Which version of TweenGMS are you using? (v1.0.6?)
Shoot me a private DM on Twitter @8BitWarrior (DMs are open) and I can give you my email address for responding with more details.

Woot! ^.^

I've updated the example project to better adjust for tweens with different timings.

This is not a great solution, as it isn't a streamlined solution, but it might work well enough depending on your needs :)

I might know of a solution for differing durations. I may have something later this week to throw past you if it works out.

(1 edit)

So! I'm not sure if this is going to work for you or not, but I have found one possible solution. It involves firing 2 tweens at the same time and effectively switching between them by lerping to the value of the desired tween. It's a bit funky, but it might do what you need it to. Do note though, that both tweens should use the same duration for this trick to work best. Here is a link to an example project. The code is in obj_Example.  When running the example, click the left mouse button to toggle between the 2 tweens.
Let me know if this helps at all.