AchReactive
데이터 조합으로 모든 게임 콘텐츠를 만드는 도메인 무관 리액션 프레임워크.
AchReactive 는 스킬·몬스터·아이템·맵·퀘스트 등 모든 게임 콘텐츠를 트리거 → 조건 → 효과 의 데이터 조합으로 만드는 Unity 프레임워크입니다.
핵심 아이디어
도메인은 무한하지만, 동작(primitive)은 유한하다.
도메인마다 시스템을 새로 만들면 도메인 × 동작 매트릭스를 매번 채워야 합니다.
AchReactive 는 동작 풀을 모든 도메인이 공유하게 만들어 이 곱셈을 덧셈으로 바꿉니다.
두 번째 도메인부터는 거의 공짜입니다.
damage heal add_modifier spawn
Skill ✓ ✓ ✓
Monster ✓ ✓ ← 같은 effect 재사용
Item ✓ ✓특징
- 도메인 무관 —
DataBase<T>하나로 Skill/Monster/Item/… 전부 처리 - 소스 무관 — JSON·CSV·원격 등 어디서든 로드 (
IDataLoader<T>만 구현하면 새 소스) - 동작 자동등록 —
[Effect]/[Condition]/[Trigger]메서드를 리플렉션으로 수집, 배선 0줄 - UIToolkit 저작 도구 — 타입과 데이터를 에디터에서 생성 (JSON 수기 작성 없음)
- 의존성 최소 — Newtonsoft.Json 하나
한눈에 보기
// 1) 동작 풀 자동수집 (기본 effect/condition/trigger 포함)
EffectRegistry.AutoRegister();
ConditionRegistry.AutoRegister();
TriggerRegistry.AutoRegister();
// 2) 데이터 적재 (소스 자유)
var skills = new DataBase<SkillData>();
skills.Load(new JsonDataLoader<SkillData>(() => json));
// 3) 실행 — 도메인이 달라도 동일
engine.Run("on_use", skills.Get("fire_slash"), ctx);