Start Date: August 12, 2021
Due Date: August 31, 2021 (by end of day, Pacific Time)
Each entrant is eligible for a payment of up to $500, with a minimum of $200 if the entry meets the minimum standards. The exact payment amount for each entrant will be based on the quality of the entrant’s work.
The goal of this Challenge is to create an API and library of graphical user interface (GUI) animations that creators can use to animate GUI elements in their games. These animations can be used for animating text, images, or just about any other GUI element that needs movement.
The next time you play a PC or mobile game, take note of all the GUI elements that have some sort of animation. This could be a notification that slides on and then off the screen. Or a reward image that scales from small to big. Or an alert that fades in and then out. Or a button that wiggles to get your attention. Basically any GUI element that moves.
This should be an API so that creators can easily call to add animation to any GUI element.
Build a library of animations so that creators have different animations to choose from. The animations should be the type of animations that are commonly used and needed for GUI animations (slide in/out, scale up/down, etc).
The new Curves feature in Core is perfect for this task since it provides a simple way to create very powerful GUI animations. It is also much easier to understand and customize animations using the Curve editor.
Your system should be as flexible as possible so that creators can specify or override common animation parameters such as speed in, speed out, static duration, direction, positioning, easing, etc.
Consider broadcasting a custom event for when the animation starts, pauses, and ends. This allows creators to listen to those events and add custom handlers. Allow creators to define the name of the events via custom properties.
You should be familiar with animation concepts such as easing, which can make a big difference in how good your animations look.
You can get some great ideas for GUI animations just by playing other games. Study the UI and notice which things are dynamic and move.
Video editing software or animation software typically have many predefined animation effects.
Curves are a new powerful way to animate 2D GUI elements (and 3D objects) in the game. Curves allow for very complex animations, in a relatively simple manner.
- There is an existing API in CC which does GUI animations but without using curves. This is a good example of the type of functionality that your code should have, and how to design a good API. See EaseUI by NicholasForeman.
Design a GUI animation library and API with as many of the features above as possible.
Include sample code and GUI animations that demonstrate the functionality of your API.
Your work should strive to meet the updated criteria below.
View the full Judging Criteria.
If you have any questions, then please visit the #challenge-board channel on the Core VIP Discord server.
HOW TO APPLY
For instructions on how to apply, please visit the Application Form post.
SUBMITTING YOUR WORK
- Your application acceptance message includes instructions on how to submit your work.
- Entrants must submit their work by the deadline listed in the Challenge in order to be considered for payment.
- Failure to submit your work on time may affect your eligibility for future Challenges.
For detailed information about the rules, judging criteria, and best practices please visit the Challenge Board Info & Rules post.