Create a dragon character animation in Rive that shows natural breathing cycle with belly movement, controlled by drag gesture values.
Figma reference: Dragon Animation Design
The Figma file contains:
- Dragon character design
- Animation states reference
- Component structure
- Default dragon illustration in resting position
- No animation
- Normal belly size
- Belly Animation:
- Gradual, organic expansion from center
- Size increase proportional to drag distance
- Smooth deformation without sharp edges
- Belly Animation:
- Natural contraction back to original size
- Smooth, elastic-like movement
- Speed matches drag velocity
- Fire Effect:
- Dynamic flame shape and movement
- Intensity and size react to drag speed
- Organic flame motion without sharp edges
- Wing and tail movements should complement breathing actions
- All transitions should feel natural and weight-appropriate
- No mechanical or rigid movements
- Input for breath in progress (0-1)
- Controls belly expansion
- Controls particle/air flow
- Input for breath out/fire intensity
- Controls belly contraction
- Controls fire effect
- Smooth transitions between states
- Natural belly expansion/contraction
- Fluid particle/fire effects
- Synchronized secondary movements
- Dragon character with separate belly layer
- Particle/fire effects
- Configured state machine with named inputs
- Input parameters and their ranges
- Basic state machine structure
- Naturalness of belly movement
- Quality of particle/fire effects
- Smoothness of state transitions
- Response to input values
If you'd like to make the integration process smoother for our development team, you can provide detailed documentation in the following format:
// State Machine Inputs
interface DragonAnimationInputs {
breathInProgress: number; // Range: 0-1, Controls belly expansion
fireIntensity: number; // Range: 0-1, Controls fire effect
}
// States
enum DragonStates {
IDLE = 'idle',
BREATHING_IN = 'breathingIn',
BREATHING_FIRE = 'breathingFire'
}
// Example of expected behavior
interface StateMachineConfig {
stateMachine: 'DragonControl';
inputs: {
breathInProgress: {
type: 'number';
range: [0, 1];
description: 'Controls belly expansion and air particle effects';
default: 0;
};
// Other inputs...
};
}- Create a private repository on GitHub
- Include your .riv file and documentation
- Share access with: @mightybyte-yuliapi
- Send a notification email to: yulia@mightybyte.us Subject line: "Rive Animation Challenge - [Your Name]"
Send your submission to: yulia@mightybyte.us Subject line: "Rive Animation Challenge - [Your Name]"
- .riv file
- README.md with:
- Basic documentation
- Any special instructions
- (Bonus) Developer documentation
- Your contact information
If you have any questions during the challenge, please email yulia@mightybyte.us with subject line "Rive Challenge Question - [Your Name]"
Note: We will handle the React Native integration internally - focus on creating a well-structured Rive animation that responds to external input values.