Create a new scene with CharacterBody2D as root
Add an AnimatedSprite2D and CollisionShape2D as children
Select the AnimatedSprite2D node
Rename the default animation to flap
Add the 3 frames for the bird
Select the CollisionShape2D
Resize it to surround the bird
Add a new Script to the Bird node
Set up constants for the physics
Create a reference to the AnimatedSprite2D
Create a function to apply gravity
Set the velocity to increase by gravity * delta
If velocity goes beyond the max
Lock velocity to fall speed
Create a function to simulate flying
If the flap action key is pressed
Increase velocity by flap force
Create a function to rotate while falling
If velocity is pointing downwards
smoothly rotate the angle
Call all of these functions in process
Remember to call move and slide as
The final method call to start physics
Game Start and Instructions
Add a Sprite2D node as child
Rename it to Instructions
Set texture to message.png
Select the Instructions node
Set position to 144 x 200
Add a variable to start the game
Add a reference to the instructions
If the game has not started
Create a tween to fade out instructions
Apply the tween on the instructions on the modulate alpha property. Tween to 0 over 0.5 seconds
Delete the node once it is faded out
In the physics process function
If the game has not started