Arena Survivor
Build a wave-based arena survivor from scratch — movement, auto-aim combat, swarms, and progression.
Start Part 1Overview
Arena Survivor is a four-part beginner project that takes you from an empty Godot 4 scene to a fully playable 2D shooter. You start by creating a player that moves with keyboard input, then layer on projectile shooting, enemy wave spawning, collision detection, and a HUD with score tracking.
Every line of GDScript is typed from memory rather than copied from a tutorial. This active-recall approach forces you to internalize the syntax — Input.get_vector(), move_and_slide(), preload(), instantiate() — so you can use it confidently in your own projects without looking anything up.
By the end you will have built a complete game loop: a player that moves and shoots, enemies that swarm in waves, projectiles that destroy targets on contact, and a score counter that tracks your progress. The finished game runs in your browser so you can play it immediately.
Prerequisites
- ✓No prior Godot experience required — this starts from zero
- ✓Basic programming concepts (variables, functions, if-statements)
- ✓A modern web browser (everything runs in-browser, no install needed)
What You'll Learn
- •Create and control a CharacterBody2D player with velocity-based movement
- •Spawn projectiles using preload() and scene instancing
- •Wire up collision detection with Area2D body_entered signals
- •Build a CanvasLayer HUD with score tracking and health bars
- •Polish gameplay with tweens, escalating difficulty, and game-over flow
Learn Godot 4 game development from scratch. Build a complete 2D arena survivor with player movement, projectile shooting, enemy AI spawning, collision detection, and score progression — all in GDScript.
Part 1: Your First 2D Game
Set up a Godot 4 project, create a CharacterBody2D player with keyboard movement using velocity and move_and_slide(), and build your first playable 2D scene.
Part 2: Shoot Back
Add projectile shooting with scene instancing, preload PackedScenes, spawn bullets with direction vectors, and handle Area2D collision signals.
Part 3: Survive the Swarm
Spawn enemy waves with timers, detect collisions between enemies and the player, use groups for entity filtering, and create escalating difficulty.
Part 4: Level Up
Build a HUD with CanvasLayer, track score with signals, add health bars, tween-based visual feedback, and game-over flow.
GDScript Concepts Covered
Frequently Asked Questions
- How long does Arena Survivor take to complete?
- Most beginners finish all four parts in 2-4 hours. Each part takes 20-40 minutes depending on how familiar you are with the syntax. You can stop after any part and pick up where you left off.
- Can I use this project as a starting point for my own game?
- Absolutely. The patterns you learn — movement, shooting, wave spawning, HUD — are the foundation of most 2D action games. After completing Arena Survivor you will know enough GDScript to start modifying or extending the project in Godot.
- Do I need to complete Arena Survivor before starting Roguelike?
- Arena Survivor covers beginner concepts (movement, scenes, signals) that the Roguelike builds on. If you already know those basics you can jump straight to the Roguelike, but beginners should start here.