비전
다중 입력 소스를 지원하는 실시간 상호작용형 AI 엔진입니다. 실시간으로 다양한 입력(사용자 입력, 환경 변화, 다른 AI의 출력 등)을 처리하고, 시각/청각/물리적 피드백을 생성할 수 있는 통합 AI 엔진을 목표로 합니다.
장기 목표
-
다중 입력 처리
- 사용자 직접 입력 (키보드, 마우스, 터치 등)
- 환경 센서 입력 (카메라, 마이크, 가속도계 등)
- AI 모델 출력의 재입력
-
다중 출력 생성
- 시각 (2D/3D 렌더링)
- 청각 (음성, 음향 효과, 음악)
- 물리 (충돌 감지, 힘 피드백)
-
AI 모델 연계
- 모델 간 파이프라인 구성
- 실시간 피드백 루프
- 분산 처리 지원
현재 아키텍처
모듈 구조 (flat architecture)
src/
├── entity/ # ECS: Entity + Component 시스템
├── system/ # ECS: System 실행 및 관리
├── scene/ # 씬 관리 + YAML 기반 선언적 구성
├── input/ # 입력 처리 (키보드, 마우스 등) - 글로벌 리소스
├── render/ # wgpu 기반 2D 렌더링
├── math/ # 수학 유틸리티 (Vec2 등)
└── build/ # 크로스 플랫폼 빌드 시스템 (Windows 배포)
설계 원칙
- ECS 패턴: Entity-Component-System 아키텍처 적용
- 모듈 독립성: 각 모듈은 명확한 책임을 가지고 독립적으로 동작
- 선언적 구성: YAML 기반 씬 정의로 코드와 데이터 분리
- 글로벌 리소스: 입력 등 전역 상태는 System이 아닌 별도 Manager로 관리
- 크로스 플랫폼: macOS/Linux 개발 → Windows 배포 지원
- Rust 네이티브: 안전성과 성능을 위해 Rust로 구현
for developers
개발 환경 설정
- (window powershell) wsl 설치:
wsl --install -d Ubuntu-24.04 - (in wsl) rust 설치:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - (in wsl) build tool 설치:
&&
로컬 개발
프로젝트 빌드
# 전체 프로젝트 빌드
# 테스트 실행
MVP (Minimum Viable Product)
간단한 2D 게임을 통해 핵심 기능을 검증합니다.
- 기본 입력 처리
- 키보드/마우스 입력
- 간단한 물리 충돌
- AI 통합
- 단일 AI 모델 통합
- 실시간 추론 처리
- 간단한 시각/청각 피드백
- 출력 생성
- 2D 그래픽스
- 기본 사운드 재생