오늘도 공부
Jev로 게임내 다음 레벨을 정해보자 본문
구조는 이렇게 보면 가장 정확합니다.
게임 상태 → Jev → 구조화된 선택 → 게임 코드가 실제 레벨 생성
예를 들어 러너 게임에서 현재 상태를 Jev에 보냅니다.
플레이어 위치
속도
현재 점프 중인지
대시 사용 가능 여부
현재 주변 지형
최근 생성된 지형
실제 글에서도 x, y, vx, vy, grounded, dash_ready 같은 게임 상태를 Jev에 전달합니다. (Sprite Fusion)
그리고 중요한 부분은 Jev에게 자유롭게 "다음 맵 만들어줘"라고 시키지 않는다는 것입니다.
개발자가 먼저 선택 가능한 범위를 정해놓습니다.
발판 종류
- Solid roof
- One-way ledge
폭
- 2칸
- 3칸
- 5칸
간격
- 0칸
- 1칸
- 2칸
높이
- Row 4~9
Jev는 여기서 다음 지형에 적합한 조합을 선택합니다. 한 번의 API 요청으로 여러 질문을 동시에 처리할 수도 있습니다. (Sprite Fusion)
예를 들면 Jev가 이런 결정을 내립니다.
발판 1
type = ledge
width = 2
gap = 0
height = 5
발판 2
type = ledge
width = 3
gap = 1
height = 6
발판 3
type = ledge
width = 5
gap = 2
height = 5
그다음 Phaser 코드가 그 값에 따라 타일을 실제로 배치합니다.
즉,
Jev가 타일을 그린다 ❌
Jev가 Phaser 코드를 작성한다 ❌
Jev가 레벨 전체 JSON을 자유 생성한다 ❌
Jev가 다음 행동을 선택한다 ✅
게임 엔진이 그 선택을 실행한다 ✅
이 차이가 상당히 중요합니다. (Sprite Fusion)
왜 일반 LLM 대신 Jev를 썼나
일반 LLM이라면 이런 식입니다.
"플레이어가 점프 중이니까
앞에 적당한 플랫폼을 하나 만들고
그 뒤에..."
이후 다시 텍스트를 파싱해야 합니다.
Jev는 애초에:
width
[2, 3, 5]
gap
[0, 1, 2]
height
[4,5,6,7,8,9]
처럼 정해진 후보 중 하나를 선택하고 확률 기반 구조화된 결정을 돌려주는 모델입니다. 글에서는 이를 zero-shot classifier / structured decision model에 가깝게 설명합니다. (Sprite Fusion)
성능도 꽤 중요한 부분입니다
이 데모에서는 Jev API 호출 시간이 약 319~375ms, 요청당 추정 비용은 $0.00057, 5번 호출한 전체 데모 비용은 약 $0.00286이었다고 합니다. 저자는 러너가 계속 이동하는 동안 다음 지형을 만드는 데 충분한 수준이었다고 평가합니다. (Sprite Fusion)
그래서 게임에서는 매 프레임 Jev를 호출하는 게 아니라 대략:
플레이어 이동
↓
앞쪽 맵이 일정 거리 이하로 남음
↓
현재 GameState 수집
↓
Jev 호출
↓
다음 Chunk 결정
↓
Phaser에서 Chunk 생성
↓
계속 플레이
이런 구조로 쓰는 겁니다.
이걸 한 문장으로 표현하면
Jev는 Procedural Generation 알고리즘 자체라기보다, Procedural Generation의 의사결정기를 AI로 교체한 것입니다.
보통 게임이라면:
if (playerSkill > 5) {
gap = 3;
} else {
gap = 1;
}
이렇게 사람이 규칙을 작성해야 하는데,
Jev 방식에서는:
현재 플레이어 상태
+
최근 플레이 패턴
+
가능한 선택지
→ Jev
→ gap = 2
가 되는 겁니다.
그리고 이 구조는 우리가 전에 얘기했던 AI 코인지갑의 툴 선택하고 거의 동일합니다.
게임
현재 상태
↓
Jev
↓
[쉬운 발판 / 중간 발판 / 어려운 발판]
↓
선택
↓
게임 엔진 실행
코인지갑에서는:
사용자:
"김철수한테 3 SYM 보내줘"
현재 Wallet State
+
사용 가능한 Tools
↓
Jev
↓
[
transfer,
balance,
swap,
history
]
↓
transfer 0.97
swap 0.01
balance 0.02
↓
Agent가 transfer tool 실행
즉 Jev의 진짜 강점은 생성보다 "실시간 의사결정"에 있습니다.
이 방식으로 보면 게임에서 특히 재미있는 응용은 플레이어 실력에 따라 실시간으로 맵 난이도가 변하는 게임입니다. 점프 성공률, 최근 사망 횟수, 이동 속도, HP 등을 넣어서 다음 지형·적·아이템·이벤트를 Jev가 선택하게 만들 수 있습니다. 이게 이 글에서 확장해볼 만한 가장 중요한 포인트입니다. (Sprite Fusion)
'AI > 추천 오픈소스' 카테고리의 다른 글
| LLM에게 글을 쓰게 하지 말고, 판단만 시켜라 (Jev) (0) | 2026.09.24 |
|---|---|
| YuE2 로컬 음악 생성 웹 UI 사용 설명서 (0) | 2026.09.24 |
| Vercel Labs의 json-render가 보여주는 ‘Generative UI’의 다음 단계 (0) | 2026.09.21 |
| Jev 활용 프로젝트 정리 (1) | 2026.09.21 |
| Jev는 LLM이 아니다: 생성형 AI를 ‘결정 엔진’으로 바꾸는 새로운 구조 (0) | 2026.09.18 |
