moltrun 1.0.0

High-performance game engine library with AI capabilities, built on wgpu for modern 3D graphics and physics simulation
Documentation

비전

다중 입력 소스를 지원하는 실시간 상호작용형 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 설치:
    sudo apt update && sudo apt install \
      build-essential \
      clang \
      cmake \
      ninja-build \
      pkg-config \
      libx11-dev libxi-dev libgl1-mesa-dev libwayland-dev \
      libssl-dev curl git
    

로컬 개발

프로젝트 빌드

# 전체 프로젝트 빌드
cargo build

# 테스트 실행
cargo test

MVP (Minimum Viable Product)

간단한 2D 게임을 통해 핵심 기능을 검증합니다.

  1. 기본 입력 처리
  • 키보드/마우스 입력
  • 간단한 물리 충돌
  1. AI 통합
  • 단일 AI 모델 통합
  • 실시간 추론 처리
  • 간단한 시각/청각 피드백
  1. 출력 생성
  • 2D 그래픽스
  • 기본 사운드 재생