Skip to content

thelastbucuc/godot-tappy-plane

Repository files navigation

Tappy Plane - 2D Arcade Project

This is the second project in my Godot learning journey. Inspired by classic arcade flyers and Flappy Bird, this project focuses on implementing global game states, decoupled communication patterns, and persistent data management in Godot 4.

Learning Outcomes

Through this project, I mastered several intermediate Godot concepts:

  • Autoloads (Singletons): Managed global game states, scene transitions, and scoring systems across multiple scenes.
  • Signal Hub Pattern: Implemented a centralized event bus for decoupled communication, such as broadcasting the player's death to multiple systems.
  • Environment Design: Created a seamless infinite-scrolling world using ParallaxBackground and ParallaxLayer.
  • Data Persistence: Utilized @export variables and resource management to store and load high scores locally.
  • Physics & Animation: Combined CharacterBody2D physics with AnimationPlayer for smooth, responsive flight mechanics.
  • Dynamic Difficulty: Developed a system to increase game difficulty based on real-time score milestones.

Tech Stack

  • Engine: Godot 4.5
  • Language: GDScript
  • Patterns: Singleton (Autoload), Observer (Signal Hub), and State Management.

Technical Snippet: Flight & Death Logic

# Handles the jump impulse and gravity
func fly(delta: float) -> void:
    velocity.y += _gravity * delta
    if Input.is_action_just_pressed("jump"):
        velocity.y = JUMP_POWER
        animation_player.play("jump")

# Handles global death signal and cleanup
func die() -> void:
    engine_sound.stop()
    set_physics_process(false)
    SignalHub.plane_died.emit()

Credits & Acknowledgments

  • Course: Developed as part of the "Jumpstart to 2D Game Development" course by Richard Allbert and Martyna Olivares.
  • Assets: Game assets provided by the course instructor.

About

A Flappy Bird knockoff made with Godot for learning

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors