engine-system

Implement ECS game systems with Update and optional lifecycle interfaces.

Updated Nov 16, 2025
One-click install
npx skills add https://github.com/TheLazyLemur/engine --skill engine-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: engine-system
Source: https://github.com/TheLazyLemur/engine/tree/main/.claude/skills/engine-system
Command: npx skills add https://github.com/TheLazyLemur/engine --skill engine-system

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers create ECS-based systems that process entities with required components, enabling consistent gameplay logic, AI, and movement updates within the engine.

Core Features & Use Cases

  • System architecture: systems query for entities with the necessary components and update every frame.
  • Interfaces & patterns: defines the System interface and optional extensions like SystemWithInit, SystemWithRender, and SystemWithCleanup.
  • Integration: demonstrate how to register new systems in game/systems.go and how to place system code under game/system/<Name>.go.
  • Use Case: add a rotation or movement system to drive gameplay in editor or runtime modes.

Quick Start

Create a new file at game/system/<Name>.go implementing a <Name>System and register it in game/systems.go.

Frequently Asked Questions about engine-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an ECS game system to process entities with required components?

To create an ECS game system, implement a System interface with an Update(world, scene, dt) method, place the file under game/system/<Name>.go, and register it in game/systems.go to enable consistent per-frame processing.

What ECS interfaces are available for game logic besides standard frame updates?

The engine defines optional interfaces for game logic beyond standard updates: SystemWithInit, SystemWithRender, and SystemWithCleanup, allowing you to hook setup, rendering, and teardown phases into your systems.

Can I run ECS movement and AI systems in both editor and runtime modes?

Yes, ECS systems run consistently across editor and runtime modes. You can implement movement, AI, and other gameplay logic that updates every frame safely in both environments without modifying the core code.

How do I register a new system in the engine?

To register a new system, add your custom System implementation to the game/systems.go file. This ensures the engine queries and executes your component-based gameplay logic during the frame update loop.

Does this engine-system approach use Donburi for ECS architecture?

Yes, the engine-system approach uses Donburi for its ECS architecture. Systems query for entities with necessary components using the world state, enabling decoupled gameplay logic updates every frame.

When should I use SystemWithCleanup instead of a standard System interface?

Use SystemWithCleanup when your system allocates resources or state that must be explicitly released. The standard System interface only handles per-frame updates, while cleanup ensures safe teardown.