leigest519/OpenGame
OpenGame: Open Agentic Coding for Games
OpenGame – 엔드투엔드 웹 게임 생성을 위한 에이전트 프레임워크
무엇인가요 – OpenGame은 대규모 언어 모델(GameCoder‑27B 코드 전용 LLM)을 사용해 단일 자연어 프롬프트 하나로 완전하고 플레이 가능한 웹 게임을 생성하는 오픈소스 시스템입니다. 전용 Game Skill(템플릿 선택 + 디버깅)과 LLM을 제어하는 CLI를 결합하여 프로젝트를 스텁화하고, 사전 환경에서 실행하며, 통합 오류를 반복적으로 수정해 게임이 정상적으로 작동할 때까지 진행합니다.
주요 구성 요소
- Game Skill – 두 가지 하위 기술:
- Template Skill: 적절한 엔진/템플릿(예: Phaser, three.js, 일반 캔버스)을 선택하고 안정적인 프로젝트 틀을 생성.
- Debug Skill: 생성된 게임을 헤드리스 브라우저에서 실행하고, 콘솔/런타임 오류를 캡처한 후 LLM에 수정을 요청해 빌드가 건강해질 때까지 반복적으로 수리.
- GameCoder‑27B – 게임 엔진 API로 미세 조정된 270억 파라미터의 코드 중심 LLM이며, 플레이 가능성을 기반으로 한 보상으로 강화됨.
- OpenGame‑Bench – 생성된 게임을 실행하고 스크립트 기반 상호작용을 유도하며, 빌드 건강성, 시각적 사용성, 원래 프롬프트와의 일치도를 평가하는 평가 허브.
- CLI (
opengame) – Node 20+에서 작동하는 명령줄 도구(헤드리스 모드): 프롬프트를 입력하면 에이전트가 게임을 구축하고,index.html(또는 개발 서버 명령어)를 포함한 폴더를 출력해 즉시 플레이 가능하게 만듭니다.
일반적인 워크플로우
# 1. 설치 (Node 20+ 필요)
git clone https://github.com/leigest519/OpenGame.git && cd OpenGame
npm install && npm run build && npm link # `opengame` 사용 가능하게 함
# 2. LLM 및 원하는 자산 제공자(이미지, 오디오, 비디오)의 API 키 설정
export OPENAI_API_KEY=…
export OPENGAME_IMAGE_PROVIDER=tongyi # 예시
export OPENGAME_IMAGE_API_KEY=…
# 3. 단일 프롬프트로 게임 생성
mkdir -p games/my-game && cd games/my-game
opengame -p "WASD 컨트롤과 다크 테마를 가진 스네이크 클론을 만들기" --yolo
# 4. 플레이
open index.html # 또는 출력된 `npm run dev` 명령어 실행
--yolo 플래그는 에이전트가 쉘 명령어를 실행하는 것을 차단하는 기본 보안 가드를 해제하여, npm install이나 기타 빌드 단계를 자동으로 실행할 수 있게 합니다.
데모 갤러리 – 리포지토리는 완전히 생성된 게임의 작은 갤러리(마블 어벤져스 플랫포머, 해리포터 카드배틀, K.O.F. 퀴즈파이터 등)를 포함합니다. 각 데모는 프로젝트 랜딩 페이지에서 미리보기 가능하며, 실시간으로 실행하거나 zip 파일로 다운로드해 로컬에서 실행할 수 있습니다:
unzip demo_*.zip && cd demo_*
npm install
npm run dev # http://localhost:5173
설정 – 설정은 다음 중 하나로 제공할 수 있습니다:
settings.json파일(~/.qwen/settings.json사용자 전체 기본값,.qwen/settings.json프로젝트별 – 향후 릴리스에서 폴더 이름이.opengame으로 변경 예정)- 환경 변수(예:
OPENAI_API_KEY,OPENGAME_IMAGE_PROVIDER) - CLI 플래그
의존성
- Node.js ≥ 20
- Phaser(또는 기타 HTML5 게임 엔진) 렌더링
- qwen‑code 런타임(OpenGame가 확장하는 기반 에이전트 프레임워크)
라이선스 – 리포지토리는 Apache‑2.0 라이선스(소스 파일에 명시됨)로 배포되어 있으며, 자유로운 사용, 수정, 배포가 허용됩니다.
왜 중요한가 – 기존 코드 생성 에이전트는 고립된 스니펫을 생성할 수 있지만, 전체 게임의 다중 파일 및 상태 기반 특성에서는 어려움을 겪습니다. OpenGame의 템플릿 스텁화, 자동 디버깅, 게임 전용 LLM의 조합은 단순한 단일 파일 스크립트가 아닌, 복잡한 인터랙티브 애플리케이션을 구축하는 에이전트 프로그래밍의 방향으로 진화시킵니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트