Author Topic: MODULE: Tween 2.2.0 Beta 1 - The 10th anniversary edition w/ 3.5.0 Beta support!  (Read 509 times)


  • Mittens Serf
  • Just Tween it.
    • Best Innovation Award Winner 2014, for 'Tween Module'
    • Edmundito worked on one or more games that won an AGS Award!
    • Edmundito worked on one or more games that was nominated for an AGS Award!
It's the 10th anniversary of the Tween module and I'm still keeping it up to date!

Exactly 10 years ago on July 11, 2009, I released the first version of the Tween module. With lots of user feedback and the great games that have been released since then, I've been inspired to continue development and support for the latest AGS features.


The AGS Tween Module allows you to programmatically interpolate many of the AGS properties (objects, characters, regions, viewport, audio, gui, gui controls, etc.) over time in amazing ways. The term tween comes from the computer animation term inbetweening.

Ten years ago you probably depended on ugly while loops everywhere in your code to move something:
Code: Adventure Game Studio
  1. while (gIconbar.Y > -gIconbar.Height) {
  2.   gIconbar.Y = gIconbar.Y - 1;
  3.   Wait(1);
  4. }

Today, with the Tween module, can do graceful things like this:
Code: Adventure Game Studio
  1. gIconbar.TweenY(0.5, -gIconbar.Height, eEaseInBackTween);

Notable games using the tween module include: Guard Duty, Lamplight City, Unavowed, Future Flashback, and Rosewater.

What are you waiting for? Start using the Tween module today!


What's new in 2.2.0 Beta 1?

First, a brand new format for the documentation: https://edmundito.gitbook.io/ags-tween/

TL;DR: This is a great new release that supports all new features all the way AGS 3.5.0 beta 5. Additionally, it fixes a few bugs and removes compatibility with older AGS versions prior to 3.4.0.

Fixed Region StopTweenTint result parameter (was not used)
Fixed Region tween tint saturation to 1-100 and luminance clamping to 0-100
Fixed exception when using Button.TweenTextColorRed
Removed compatibility with any version below 3.4.0
Replaced internal #ifver checks to check based on SCRIPT_API_v* to improve compatibility
Replaced Region.TweenTintEx with additional luminance parameter in Region.TweenTint
Removed TweenSystemGamma and StopTweenSystemGamma in favor of using existing System.TweenGamma and System.StopTweenGamma
Removed TweenSystemVolume and StopTweenSystemVolume in favor of using exiting System.TweenVolume and System.StopTweenVolume
Added TweenTextColorRGB for Button, Label, and TextBox
3.4.1: Added Character TweenTint (+ Red/Green/Blue), TweenTintSaturation, TweenTintLuminance
3.4.1: Added Object TweenTint, TweenTintRed, TweenTintGreen, TweenTintBlue, TweenTintSaturation, TweenTintLuminance
3.5.0: Removed limitations of GUI tweens to screen width and height
3.5.0: Replaced old Viewport tweens with Camera TweenX, TweenY, TweenWidth, TweenHeight, TweenPosition, TweenSize
3.5.0: Added new Viewport object tweens TweenX, TweenY, TweenWidth, TweenHeight, TweenPosition
3.5.0: Updated Tween1Compatiblity module to support legacy Viewport tweens (via Camera)
3.5.0: Added Tween2Compatiblity module to support legacy Viewport tweens (via Camera)
3.5.0: Added GUI TweenBackgroundColor (+ Red/Green/Blue/RGB) and TweenBorderColor (+ Red/Green/Blue/RGB)
3.5.0: Added ListBox TweenSelectedBackColor (+ Red/Green/Blue/RGB), TweenSelectedTextColor (+ Red/Green/Blue/RGB), TweenTextColor (+ Red/Green/Blue/RGB)

Why Beta?

This is a beta but it is by far the most tested version of the Tween module yet. I wrote additional code to test every change and verify that everything worked as expected.

The reason is a beta is that there are a few things to do:

- Wait until 3.5.0 is officially released in case of any scripting (API) changes
- Allow time for users to find any bugs I missed. Please post on this thread or chat in the AGS Discord server
- Gather feedback from YOU! Please post on this thread or chat in the AGS Discord server
- Improve the documentation


Download from:


Chat in the AGS Discord server:

Issues and feature planning:

10 years of Special Thanks to:

Crimson Wizard for continuing to support AGS and adding new features like Camera that inspired this version of the module
eri0o for worshiping this module and using it to its fullest potential
MattFrith for supporting the Discord channel in what became the AGS Discord server
Tzachs for expanding the original module to support most of the properties in AGS
Grundislav for the Ben Jordan games that inspired the creation of the original module
Dualnames for promoting and creating very inspiring work with the module since the very beginning
Blackthorne who made so many great games with this module and his overall encouragement motivated me to create Tween 2
jwalts37 who I met in person at GDC 2014 and told me how much he liked the module
Vince Twelve who wished he had this module in Resonance and for showing me some advanced code that was the inspiration for Tween 2's startDelay
Calin Leafshade for giving me more insight into scripting best practices, and everyone in the forum for reporting problems and making games with this
Dave Gilbert for praising the tween module every time I see him in person
TheJBurger who I kept exchanging emails about the module during the development of Gemini Rue
ThreeOhFour who early in the first of tween module suggested a feature that would later become custom tweens
Pumaman for reasons
« Last Edit: 12 Jul 2019, 03:59 by Edmundito »
The Tween Module now supports AGS 3.5.0!

This is certainly the most useful module ever created for this engine. Congratulations and happy anniversary, thank you so much for this new release!  :)

Those are sexy docs! XD

Wuhu, amazing work! I still need to remove headphones jack -> be courageous enough to fully move from 3.4.3 to 3.5.0   (roll)

Thank you for the work you put into this module. It's really great and it makes using AGS a much more joyful experience.  :)

Thanks Edmundito for creating this amazing life-saving module and maintaining it all these years! I was kind of scared to take the plunge at first but I used 2.1.0 for the first time a couple of days ago and now I can't imagine doing anything without it ;-D I agree 100% with whoever said back in the day that it should come bundled with AGS by default!

Wuhu, amazing work! I still need to remove headphones jack -> be courageous enough to fully move from 3.4.3 to 3.5.0   (roll)

Me too! So much potential there but also so scary! (and also a bit of laziness on my part, why not admit it)