Free Course Image Godot 4.3 2D Projectile Platformer in GDScript: Movement, Shooting, AI, Hitboxes and Combat Text

Free online courseGodot 4.3 2D Projectile Platformer in GDScript: Movement, Shooting, AI, Hitboxes and Combat Text

Duration of the online course: 7 hours and 55 minutes

New

Free Godot 4.3 course: build a 2D projectile platformer in GDScript with movement, jumping, shooting, AI behavior trees, hitboxes, knockback, and UI.

In this free course, learn about

  • Core Player Movement and Level Setup
  • Projectile Shooting and Aiming
  • Combat Basics: Hurtboxes, Hitboxes, and Cleanup
  • Enemy AI with Behavior Trees
  • Project Architecture and Reusable Data
  • Combat Feedback and Player Behavior
  • Polish, Knockback Tuning, and UI Flow
  • Audio and Final Integration

Course Description

Learn to build a fast, responsive 2D projectile platformer in Godot 4.3 using GDScript, with a focus on gameplay feel and combat clarity. This free course guides you through creating a complete player controller with smooth movement, reliable jumping, and mouse-aimed shooting that feels great moment to moment.

You will set up projectile instancing with physics, then expand your combat loop with enemies that can take damage, react to hits, and be removed cleanly from the scene. Hitboxes and damage handling are developed in a practical way so collisions, impact timing, and feedback remain consistent as your project grows.

To make encounters more engaging, you will implement behavior tree AI for enemies and the player, including hit and death reactions, hit stun actions, and consistent project-wide organization using an autoload singleton. Combat polish is reinforced with directional knockback, configurable knockback curves, temporary invincibility on hit, and a simple shader-based flash effect to signal damage.

The course also covers player-facing feedback systems such as floating combat text, sound effects, and a stats UI panel to track game data during play. Finally, you will add essential flow elements like a game over screen while addressing common GDScript warnings to keep your codebase clean. Ideal for game development learners who want a hands-on Godot 4.3 project centered on movement, shooting, AI, hitboxes, and satisfying combat.

Course content

  • Video class: Basic Character Movement 37m
  • Exercise: In Godot 4.3, what is the recommended replacement for the deprecated TileMap node when building 2D levels?
  • Video class: Player Jumping 27m
  • Exercise: Why move directional input reading from _physics_process() to _process() in the input component?
  • Video class: Instancing Projectiles with Rigidbody2D Physics - 1 Bit Platformer [Part 3] - Godot 4.3 Tutorial 36m
  • Exercise: Why is a separate node/group (e.g., a Projectiles Parent) used to hold instantiated projectiles instead of making them children of the player?
  • Video class: Fire Projectiles ~ Aim at Mouse Cursor - 1 Bit Platformer [Part 4] - Godot 4.3 Series 15m
  • Exercise: Which Godot 2D node type is used to prevent shooting when the shooter point is inside a wall by checking for collisions?
  • Video class: Damageable Enemies, Hitboxes, 29m
  • Exercise: Which node type is used for a character’s damage-receiving zone (hurtbox) so it can detect overlaps without physical pushing?
  • Video class: Hitboxes, Hit, Death, QueueFree from Scene ~ 1 Bit Projectile Platformer [Part 6] - Godot 4.3 Series 25m
  • Exercise: Why is it generally better to remove a projectile with queue_free() instead of free() after it hits a target?
  • Video class: Behavior AI Trees Setup 29m
  • Exercise: When a child class overrides _physics_process() in a shared platformer/character parent, what must it do to ensure the parent gravity logic still runs?
  • Video class: Behavior Tree Death 11m
  • Exercise: In a Play Death action leaf, what is a good way to stop the behavior tree from running after the death animation finishes?
  • Video class: Hit 27m
  • Exercise: When handling a non-lethal hit state in a behavior tree, what must happen after the hit animation finishes to prevent it from replaying every loop?
  • Video class: Global Autoload Singleton Naming for Consistency ~ 1 Bit Platformer [Part 10] ~ Godot 4.3 10m
  • Exercise: When creating a project-wide Global names autoload, why did it need to be set up as a scene with a Node root instead of a Resource?
  • Video class: Enemy Hit Stun Behavior Action ~ 1 Bit Projectile Platformer Part 11 ~ Godot 4.3 38m
  • Exercise: Why use a dedicated HitData object for hits instead of passing multiple parameters (like damage, knockback, duration) through signals?
  • Video class: Directional Knockback for CharacterBody2D ~ 1 Bit Platformer Part 12 ~ Godot 4.3 27m
  • Exercise: Why was a separate Knockback object class created instead of storing direction inside KnockbackStats?
  • Video class: On Hit Make Enemy Red Shader Script ~ 1 Bit Platformer Part 13 ~ Godot 4.3 15m
  • Exercise: How can you make an enemy flash red when it gets hit in Godot?
  • Video class: Player Behavior Tree 29m
  • Exercise: Why was an interrupt added to the Ground Input Action in the player behavior tree?
  • Video class: Floating Combat Text System 14m
  • Exercise: What is the main reason for introducing a CombatState Resource with a HealthChanged signal?
  • Video class: Player Hit Invincibility 13m
  • Exercise: Why is a boolean like ready_done used before emitting a Health Changed signal?
  • Video class: Solving Common Gdscript Warnings ~ 1 Bit Platformer [Part 17] ~ Godot 4.3 05m
  • Video class: Knockback Curve 20m
  • Exercise: When using a Curve resource to shape knockback over time, what do the X and Y axes represent?
  • Video class: Tracking Game Stats UI Panel ~ 1 Bit Platformer [Part 19] ~ Godot 4.3 30m
  • Exercise: Why is death reporting handled in the character’s root script (e.g., Invader) instead of directly inside the Health component?
  • Video class: How to Make a Game Over Screen ~ 1 Bit Platformer [Part 20] ~ Godot 4.3 18m
  • Exercise: To prevent an invisible Game Over UI from blocking shooting input during gameplay, what mouse setting should be applied to the UI controls?
  • Video class: How to Play Sound Effects in Godot 4.3 ~ 1 Bit Platformer [Part 21 - FINALE] 10m
  • Exercise: In a 2D projectile platformer, what is the correct way to play a weapon's shooting sound when a projectile is fired?

This free course includes:

7 hours and 55 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Game development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate