Asteroids with ECS in Godot Alexandr Gakhov | 2025/06/15

Code

GitHub Repository

This is a simple implementation of the classic Asteroids game using an Entity-Component-System (ECS) pattern in Godot. The code is tightly focused on game logic and explores how ECS can help structure gameplay mechanics in a clean and scalable way.


✅ Roadmap & Refactoring Ideas

🔧 Entity Lifecycle

Clarify how entities are created, updated, and destroyed:

Update strategies:

🧼 Removing Entities

🧠 ECS Refinement


🗺️ Level Design (Map System)


🛠️ ECS <-> Editor Interaction

Tools to help while working in the Godot Editor:


🧩 Composite Components

Explore a structure where:

Additional ideas:


🎮 Gameplay Features

Feature Status
Create/Move/Destroy Asteroids
Input handling for Ship
Bullets, Collision, Lifetime
Ship Life & Destruction
UI: Score, Life, Menu
VFX
Acceleration, Rotation

This post is a living log of the current progress and future ideas. Feedback or suggestions are welcome via GitHub issues or PRs.