Skip to content

Repository files navigation

🎯 Fifth Time's a Charm

Godot GDScript Jam Status

A fast-paced top-down arcade survival shooter, built solo in 72 hours for GMTK Game Jam 2026.


📖 Description

Fifth Time's a Charm is a small game made in Godot 4.7.1, written entirely in GDScript, created specifically for the GMTK Game Jam 2026. It's a top-down shooter / arcade survival game featuring wave-based enemy difficulty scaling.

Could possibly grow to be a roguelite or roguelike one day 🤔

Made 99% solo - just me, random assets from Freesound, and 72 hours. 👤


🕹️ Gameplay

Survive endless enemy waves where both enemy count and enemy health scale up every time you clear them out. Fight for a growing score while managing your ammo carefully - because reloading at the wrong moment could be your last mistake.

Slight bullet hell vibes as well... ❤️‍🔥


⚙️ Featured Game Mechanics

Mechanic Description
🔫 Ammo System Limited ammo forces careful shot management
🔄 Reload Mechanic Timed reload with interruption handling
💥 Knockback System Physics-based enemy knockback on hit
📈 Wave-Based Progression Enemies scale in number and health per wave
⏱️ Weapon Cooldown Rate-of-fire limiting via ammo state
🎯 Bullet Instancing Dynamically spawned projectiles
🎯 Hit Detection Collision-based damage registration
❤️ Damage System Health tracking and death handling
🌀 Projectile Physics Direction-based bullet movement
⬆️ Upgrade System Randomized stat upgrades between waves
🔁 Run-Based Progression Upgrades persist for the current run only
⏸️ Pause to Upgrade Game pauses on upgrade selection

✨ VFX

  • 📷 Camera Shake
  • 💢 Screen Shake (Trauma-based)
  • ✨ GPU Particles
  • 🎯 Hit Feedback
  • 🎬 Tween Animations
  • 🌊 Elastic Easing
  • ↔️ Sprite Flip

🔊 Audio + SFX

  • 🎵 Dynamic Audio
  • 🎲 SFX Randomization
  • 🎚️ Pitch Variation
  • 🔁 Looping Music
  • 🔇 Mute Toggle
  • 🔔 Audio Feedback

🖥️ UI/UX

  • 🎯 Custom Cursor (Crosshair)
  • ⏸️ Pause Menu
  • 🏠 Main Menu
  • 🔄 Restart System
  • 🔫 Ammo UI
  • 🏆 Score Display
  • 🖼️ Canvas Layer UI
  • 💀 Game Over Screen

🏗️ Code Architecture

Fair warning: this was my second-ever project, made under a 72-hour Game Jam deadline - so the code is... Well... 🍝

Key architectural patterns used:

  • 🗂️ Autoload Singleton
  • 📡 Signal-Driven Communication
  • 🧩 Component-Based Design
  • 🧍 CharacterBody2D
  • 🎬 Scene Management
  • 🏷️ Node Groups

🎮 Controls

Action Input
Aim 🖱️ Mouse
Move ⌨️ WASD
Dash 🖱️ RMB/Ctrl/Shift/Space
Shoot 🖱️ LMB
Mute Music ⌨️ M
Restart Game ⌨️ R

📥 Installation

If you want to just play the game - check out releases or itch.io page!

Open the project:

git clone https://github.com/blockersiontko/fifth_times_a_charm.git
  1. Open the project in Godot 4.7.1
  2. Hit Run ▶️
  3. Survive as long as you can!

📦 Repository Contents

Besides the game itself, this repository also includes:

  • 🎼 FamiStudio project files (.fms) - source files for the game's chiptune soundtrack, in case you want to tinker with the music or see how the tracks were made!
  • 🗑️ Unused assets - sprites, sounds, and other bits that didn't make the final cut but were important part of the development process!

Feel free to poke around if you're curious about the behind-the-scenes stuff! 🔍


🗂️ Assets Used

Asset Made By
📢 Countdown Voice Jenni Nexus
📢 Game Over Sound Noirenex
📢 Game Over Voice Dersuperanton
💭 Countdown Font (SaH1Outline.ttf) Seva
💭 Score Font (PIXY.ttf) 2DFUNS Studio
🧸 Everything else Me (it was hard i swear)

📝 License

🪪 MIT License


Made with 💙 and way too little sleep for GMTK Game Jam 2026

💗 Special thanks to Fadli, Magic and Polgier

About

My video game that was made for GMTK Game Jam 2026!

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages