Dates
Start Date: August 12, 2021
Due Date: August 31, 2021 (by end of day, Pacific Time)
Payment
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.
Description
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.
Features
API
This should be an API so that creators can easily call to add animation to any GUI element.
Library
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).
Use Curves
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.
Flexibility
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.
Events
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.
Animation Concepts
You should be familiar with animation concepts such as easing, which can make a big difference in how good your animations look.
Inspiration
-
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 Information
-
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.
Reference Code
- 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.
Requirements
-
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.
Judging Criteria
-
Your work should strive to meet the updated criteria below.
-
View the full Judging Criteria.
Questions?
If you have any questions, then please visit the #challenge-board channel on the Core VIP Discord server.
SUBMITTING YOUR WORK
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.
MORE INFORMATION
More Information
For detailed information about the rules, judging criteria, and best practices please visit the Challenge Board Info & Rules post.