A redesign of the AGS site is now ready to be implemented! Please help us with art and content.

Author Topic: MODULE: Tween 2.2.0 with AGS 3.5.0 support!  (Read 4753 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!
MODULE: Tween 2.2.0 with AGS 3.5.0 support!
« on: 12 Jul 2019, 03:16 »

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: [Select]
while (gIconbar.Y > -gIconbar.Height) {
  gIconbar.Y = gIconbar.Y - 1;

Today, with the Tween module, can do graceful things like this:
Code: [Select]
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)


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: 08 Sep 2020, 23:20 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)