GUI Design and Easing Functions


  1. messy and hard to maintain
  2. difficult to change


Attention! Over Here! Look at Me!








  • t – the floating point time value from 0 to 1 (inclusive). If you want the position on the curve half way through the transition then you pass ‘0.5’ through t.


float EaseOutElastic(float startVal, float endVal, float blend)
float diff = endVal – startVal;
float tsquared = blend * blend;
float tcubed = tsquared * blend;

The result:

  • Much more interesting GUI transitions
  • No extra assets as curves are procedural


Tilt To Live


  1. What are your specific requirements for a GUI? What tech would you want it to work in? I completely agree there needs to be a good cross-technology GUI system created.

    After a failed UI on a project I worked on the tech lead and I spent a few weeks putting together a robust GUI for DirectX. It was surprisingly simple, and we based it strongly of .NET’s GUI system as it’s so good. I don’t see why someone can’t make a simple cross-technology GUI system with XML or similar persistence.

    1. Currently I’m finding that procedurally animating GUI elements while users interact with them or when they transition to be very tedious and cumbersome. I have some basic code for it now but it’s rather limited in flexibility and such. As for tech, something that allowed quick serialization of a GUI layout along with animations to make it have quick turn around time would be nice.

      The problem I find with current game GUI libraries (or at least the few I’ve encountered) is they try to emulate the OS they were developed on. They have very standard buttons, lists, text inputs, etc. It’s all well and good if you’re making a soccer manager sim. You can just reskin it and go. When I want to design something more fun, high impact, quirky, or engaging I don’t think “Standard unix/Windows UI”.

      Flash from my past experience seems to have the right idea with developing UI’s. I’ve used it before to mock up UI’s+animations for game menus. It has a really robust animation framework that you can lay down your own “assumptions” on how the UI is supposed to work, but it does the grunt work of animating, tweening, event handling, etc.

      I recall Danc of Lost Garden had some involvement with Anark Studio that did UI’s for games, but I’m not getting much info in searches on it. It seems that software has evolved to encompass a broader market.

Leave a Reply
