sio2-system

Generate compliant SiO2 server systems using Zay-ES and BaseInfinitySystem.

25|5|Updated Apr 22, 2017
One-click install
npx skills add https://github.com/assofohdz/subspace-infinity --skill sio2-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sio2-system
Source: https://github.com/assofohdz/subspace-infinity/tree/main/.claude/skills/sio2-system
Command: npx skills add https://github.com/assofohdz/subspace-infinity --skill sio2-system

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building server-side game logic for Subspace Infinity requires deep familiarity with the SiO2 framework, Zay-ES entity component system rules, and project-specific conventions like the BaseInfinitySystem wrapper and replacement-as-mutation component restrictions. Without structured guidance, developers waste time reverse-engineering boilerplate requirements and risk introducing critical issues like memory leaks from unreleased EntitySets.

Core Features & Use Cases

  • Compliant System Templates: Pre-built Java templates that extend BaseInfinitySystem and follow all project requirements, including mandatory SPDX license headers and proper dependency management via requireSystem for mandatory dependencies.
  • Common System Patterns: Ready-to-adapt implementations for frequent use cases like decay systems, movement systems, and collision systems that adhere to Zay-ES best practices.
  • Use Case: A developer building a new server-side feature for timed power-up spawning can use this Skill to generate a compliant system that properly tracks entity lifetimes, integrates with the existing event bus, and avoids memory leaks without researching framework specifics.

Quick Start

Use the sio2-system skill to generate a compliant server-side system for tracking player health that integrates with the existing EntityData and event bus.

Frequently Asked Questions about sio2-system

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

FAQPage Schema
How do I create a server-side game system for Subspace Infinity that follows Zay-ES conventions?

To create a server-side game system for Subspace Infinity, extend the BaseInfinitySystem class and manage EntitySet lifecycles carefully. You must use the applyChanges pattern and follow the project's replacement-as-mutation component rules to ensure your Java entity processing remains compliant.

What is the replacement-as-mutation component rule in Zay-ES server logic?

The replacement-as-mutation rule requires developers to replace entire entity components rather than mutating them directly. This Zay-ES convention maintains data integrity and safe state management across the Subspace Infinity server architecture when handling entity state changes.

How do I prevent EntitySet memory leaks when building Java game systems?

Prevent EntitySet memory leaks in Java game systems by properly releasing EntitySets when they are no longer needed. Following the SiO2 framework's lifecycle management patterns and the applyChanges approach ensures EntityData resources are cleaned up efficiently.

Can I use the SiO2 framework to build a timed decay system for entity processing?

Yes, you can use the SiO2 framework to build a timed decay system for entity processing. It provides ready-to-adapt Java templates for common game systems like decay, movement, and collision, allowing you to track entity lifetimes and integrate with the existing event bus.

Do I need to use requireSystem for dependency management in BaseInfinitySystem?

Yes, you need to use requireSystem for mandatory dependency management when extending BaseInfinitySystem. This SiO2 framework approach ensures your server-side game logic properly declares and resolves dependencies on other systems within the modular Subspace Infinity architecture.

What are the limitations of using replacement-as-mutation for game state management?

A limitation of replacement-as-mutation for game state management is that you cannot modify individual fields within a component. You must reconstruct and replace the entire component object, which requires careful state tracking to avoid overwriting concurrent changes in the Zay-ES entity component system.