본문 바로가기
프로그램 (PHP,Python)

Roblox Studio와 AI 만남, Vibe Blocks MCP로 스마트 게임 개발 구현

by 날으는물고기 2025. 6. 29.

Roblox Studio와 AI 만남, Vibe Blocks MCP로 스마트 게임 개발 구현

728x90

Vibe Blocks MCP는 Model Context Protocol (MCP)을 통해 Roblox Studio를 Cursor, Windsurf, Claude 같은 AI 코딩 에디터와 연결하는 혁신적인 도구입니다. 이를 통해 AI 지원 게임 개발이 Roblox Studio 환경 내에서 직접 가능해집니다.

  1. Python MCP 서버
    • FastAPI 기반 로컬 서버
    • Server-Sent Events (SSE)를 통한 MCP 도구 노출
    • Roblox Open Cloud API 통합 (선택사항)
  2. Lua 컴패니언 플러그인
    • Roblox Studio 내부에서 실행
    • Python 서버와 통신하여 명령 실행
    • Studio 로그 및 결과 전송

🎯 주요 기능

1. 라이브 Studio 상호작용

씬 조작 기능

  • 객체 생성/삭제: Parts, Models, Scripts 등 모든 인스턴스
  • 속성 관리: 위치, 크기, 재질, 색상 등 모든 속성 설정
  • 클론 및 이동: 기존 객체 복제 및 재배치
  • PrimaryPart 설정: Model의 기준점 설정

씬 검사 기능

  • 속성 조회: 특정 객체의 모든 속성값 확인
  • 자식 목록: 계층 구조 탐색
  • 인스턴스 검색: 클래스명 또는 이름으로 객체 찾기

스크립팅 기능

  • 스크립트 생성/편집/삭제: Script, LocalScript 관리
  • 실시간 코드 실행: Luau 코드 직접 실행
  • 출력 캡처: 실행 결과 및 에러 메시지 수집

2. 환경 설정 기능

  • Lighting 서비스: 시간, 조명, 대기 효과 설정
  • Terrain 서비스: 지형 속성 조정
  • 애니메이션: Humanoid/AnimationController 애니메이션 재생
  • NPC 스폰: 템플릿 복제 또는 Asset ID로 NPC 생성

3. Roblox Open Cloud 통합 (선택사항)

  • Cloud Luau 실행: 별도 클라우드 환경에서 코드 실행
  • DataStore 관리: 데이터 저장소 CRUD 작업
  • Asset 업로드: 모델, 이미지, 오디오 파일 업로드
  • Place 퍼블리싱: 현재 Place 게시

🛠️ 설치 가이드

사전 요구사항

  1. 필수 요구사항
  2. 선택적 요구사항 (Cloud 기능용)

단계별 설치 과정

1단계: 저장소 클론

git clone https://github.com/majidmanzarpour/vibe-blocks-mcp
cd vibe-blocks-mcp

2단계: 의존성 설치

uv 사용 (권장)

uv pip sync pyproject.toml

pip 사용 (대안)

pip install -r requirements.lock

3단계: 환경 설정 (Cloud 기능용)

cp .env.example .env

.env 파일 편집

ROBLOX_API_KEY="YOUR_API_KEY_HERE"
ROBLOX_UNIVERSE_ID=123456789  # 실제 Universe ID로 변경
ROBLOX_PLACE_ID=987654321      # 실제 Place ID로 변경

4단계: Studio 플러그인 설치

방법 1: Rojo를 사용한 빌드

  1. Rojo 설치 (Rojo 웹사이트 참조)
  2. 플러그인 빌드
    cd roblox_mcp_plugin
    rojo build default.project.json --output VibeBlocksMCP_Companion.rbxm

방법 2: 제공된 빌드 사용

  • 저장소에 포함된 VibeBlocksMCP_Companion.rbxm 파일 사용
300x250

플러그인 설치 폴더 위치

  • Windows: %LOCALAPPDATA%\Roblox\Plugins
  • macOS: ~/Documents/Roblox/Plugins

.rbxm 파일을 해당 폴더에 복사 후 Roblox Studio 재시작

5단계: Python 서버 실행

chmod +x server.sh  # 첫 실행 시에만
./server.sh

서버가 http://localhost:8000에서 실행됨을 확인

6단계: MCP 클라이언트 연결

Cursor 예시

  1. File → Settings → MCP (Mac: Code → Settings → MCP)
  2. "Add New Global MCP Server" 클릭
  3. SSE URL 입력: http://localhost:8000/sse

또는 mcp.json 직접 편집

{
  "mcpServers": {
    "Vibe Blocks MCP": {
      "url": "http://localhost:8000/sse"
    }
  }
}

📚 사용 가능한 도구 목록

Studio 플러그인 도구 (라이브 상호작용)

객체 관리

  • get_property: 객체 속성값 조회
  • set_property: 객체 속성 설정 (JSON 형식)
  • create_instance: 새 인스턴스 생성
  • delete_instance: 객체 삭제
  • clone_instance: 객체 복제
  • move_instance: 객체 이동

씬 탐색

  • list_children: 자식 객체 목록 조회
  • find_instances: 클래스명/이름으로 인스턴스 검색

스크립팅

  • create_script: 새 스크립트 생성
  • edit_script: 기존 스크립트 편집
  • delete_script: 스크립트 삭제
  • execute_luau_in_studio: Studio에서 Luau 코드 실행

고급 기능

  • set_primary_part: Model의 PrimaryPart 설정
  • set_environment: Lighting/Terrain 속성 설정
  • spawn_npc: NPC 생성 (템플릿 복제 또는 Asset ID)
  • play_animation: 애니메이션 재생
  • modify_children: 여러 자식 객체 일괄 수정
  • get_studio_logs: Studio 출력 로그 조회

Open Cloud API 도구 (선택사항)

데이터 관리

  • list_datastores_in_cloud: DataStore 목록 조회
  • get_datastore_value_in_cloud: DataStore 값 조회
  • set_datastore_value_in_cloud: DataStore 값 설정
  • delete_datastore_value_in_cloud: DataStore 항목 삭제

Asset 및 게시

  • upload_asset_via_cloud: 로컬 파일을 Roblox Asset으로 업로드
  • publish_place_via_cloud: Place 게시

실행 및 상호작용

  • execute_luau_in_cloud: Cloud 환경에서 Luau 실행
  • send_chat_via_cloud: 게임 내 채팅 메시지 전송
  • teleport_player_via_cloud: 플레이어 텔레포트

💡 사용 예시

기본 객체 생성

"Create a bright red Part named 'Floor' in Workspace. 
Set its size to (100, 2, 100) and position to (0, -1, 0). Anchor it."

복잡한 구조물 생성

"Create a medieval castle gate with two towers on each side. 
Use gray concrete material and make it 20 studs wide."

스크립트 작성 및 실행

"Write a script that makes all parts in workspace glow with a pulsing effect"

환경 설정

"Set the game time to sunset (18:00) and add a foggy atmosphere"

NPC 시스템

"Clone the enemy template from ReplicatedStorage and create 5 guards 
positioned around the castle entrance"

DataStore 작업 (Cloud)

"Save player_123's score of 1500 to the PlayerData datastore"

Asset 업로드 (Cloud)

"Upload the character model from ./assets/Knight.fbx as 'Medieval Knight'"

🔧 고급 설정 및 커스터마이징

서버 포트 변경

  1. server.sh 파일에서 포트 수정
  2. Lua 플러그인의 SERVER_URL 변수 업데이트
  3. 플러그인 재빌드 및 설치

API 권한 설정

Roblox API Key에 필요한 권한

  • DataStore: 읽기/쓰기 권한
  • Asset Upload: Asset 생성 권한
  • Publishing: Place 게시 권한
  • Luau Execution: 코드 실행 권한

배치 명령 실행

복잡한 작업을 위한 배치 명령

queue_studio_command_batch([
    {"type": "create_instance", "className": "Part", ...},
    {"type": "set_property", "path": "Workspace.Part", ...},
    {"type": "execute_luau", "script": "..."}
])

🐛 문제 해결

일반적인 문제와 해결법

1. 서버 시작 실패

  • Python 버전 확인 (>= 3.10)
  • uv 설치 확인
  • 의존성 재설치: uv pip sync pyproject.toml

2. 플러그인 연결 실패

  • Python 서버 실행 확인
  • SERVER_URL 확인 (기본값: http://localhost:8000/plugin_command)
  • Studio Output 창에서 에러 메시지 확인
  • 방화벽 설정 확인

3. MCP 클라이언트 연결 실패

  • SSE URL 확인: http://localhost:8000/sse
  • 클라이언트 설정 재확인
  • 네트워크 연결 상태 점검

4. Cloud 도구 실패

  • .env 파일 설정 확인
  • API Key 유효성 검증
  • Universe ID와 Place ID 정확성 확인
  • API 권한 설정 확인

5. 권한 문제

  • 플러그인이 로컬 파일로 로드된 경우 Script Injection 권한 필요
  • 정식 설치를 통해 권한 문제 해결

🎯 베스트 프랙티스

1. 효율적인 프롬프트 작성

  • 구체적인 속성과 위치 명시
  • 단계별 작업 분할
  • 명확한 명명 규칙 사용

2. 안전한 개발 환경

  • 중요 프로젝트는 백업 후 작업
  • 테스트 Place에서 먼저 실험
  • 버전 관리 시스템 활용

3. 성능 최적화

  • 대량 객체 생성 시 배치 처리 활용
  • 불필요한 속성 변경 최소화
  • 효율적인 검색 패턴 사용

4. 협업 워크플로우

  • 팀원과 프롬프트 템플릿 공유
  • 일관된 명명 규칙 적용
  • 변경사항 문서화

🚀 활용 시나리오

1. 프로토타이핑

빠른 아이디어 구현 및 테스트

"Create a simple parkour course with 10 jumping platforms 
arranged in a spiral pattern"

2. 자동화된 레벨 디자인

반복적인 구조물 생성

"Generate a city block with 5 buildings of varying heights, 
streets, and street lights"

3. 동적 콘텐츠 생성

플레이어 데이터 기반 맞춤형 콘텐츠

"Create a personalized obstacle course based on player skill level 
stored in DataStore"

4. 테스트 자동화

게임 메커니즘 검증

"Spawn 10 test NPCs and make them walk to different waypoints 
to test pathfinding"

📊 성능 및 제한사항

성능 고려사항

  • 로컬 서버 실행으로 낮은 지연시간
  • 플러그인 폴링 간격 조정 가능
  • 대량 작업 시 배치 처리 권장

제한사항

  • Studio가 열려있을 때만 작동
  • 실시간 멀티플레이어 상호작용 제한
  • Cloud API 호출 제한 준수 필요

🔮 향후 개발 계획

계획된 기능

  • Asset 상세 정보 조회
  • 사용자 Asset 목록 조회
  • 향상된 디버깅 도구
  • 시각적 피드백 시스템

커뮤니티 기여

  • 오픈소스 프로젝트로 기여 환영
  • 새로운 도구 추가 가능
  • 버그 리포트 및 기능 제안

📚 추가 리소스


Vibe Blocks MCP의 공식 문서를 기반으로 작성되었습니다. AI 지원 Roblox 개발의 새로운 가능성을 탐험해보세요!

728x90
그리드형(광고전용)

댓글