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.