GANBATE

GANBATE ENGINE · 순수 RUST 3D 코어

제로 의존성 순수 Rust. 4대 GPU 네이티브.

외부 런타임 크레이트 없이 직접 구축한 그래픽·물리·월드 스트리밍 스택으로 브라우저 즉시 플레이와 네이티브 앱 성능을 단일 코드베이스에서 실현합니다.

단일 RHI & 4대 그래픽 백엔드

백엔드 지원 플랫폼 셰이더 타깃 (ganbate-shader) 검증 현황
Vulkan 1.3 Linux (X11/XWayland), Windows (Win32), Android 오프스크린 SPIR-V 직접 생성 시스템 로더 직접 바인딩 · 41개 드라이버 검증 통과
Apple Metal macOS (arm64), iOS / iPhone (arm64 & Simulator) Metal Shading Language (MSL) Objective-C 런타임 직접 바인딩 · WGSL 버퍼 레이아웃 바이트 일치
WebGPU Chrome / Edge 113+, Safari 26 (macOS, iOS, iPadOS) 표준 WGSL + 동적 링 오프셋 네이티브 Vulkan 대비 47–50 dB PSNR 정합성
WebGL 2 모든 모바일·데스크톱 브라우저 범용 폴백 GLSL ES 3.00 자동 변환 std140 블록 & RGBA32UI 텍스처 버퍼 · 49–53 dB PSNR

인하우스 엔진 · GANBATE ENGINE

네이티브급 그래픽과 설치 없는 웹 배포를 동시에.

처음부터 순수 Rust로 설계해 플레이어는 링크 하나로 수 초 만에 3D 테이블에 입장하고, 스튜디오는 단일 코드베이스로 웹·데스크톱·모바일에 동시 대응합니다.

GANBATE ENGINE 1600×1000 · 스키닝 + 스포트라이트 원본 해상도 ↗
소셜 포커 게임 Ganbate의 실시간 쇼다운 엔진 캡처

소셜 포커 게임 Ganbate의 실시간 쇼다운—GPU 스키닝 딜러와 정밀한 HUD 투영.

엔진 상세 사양 보기 →

통합 그래픽 파이프라인

단일 WGSL 셰이더 → 4대 GPU

자체 셰이더 컴파일러가 하나의 WGSL 소스를 SPIR-V, Metal MSL, WebGPU, WebGL 2로 픽셀 오차 없이 변환합니다.

네이티브 Vulkan 대비 47–53 dB PSNR 정합성

초고속 웹 스트리밍

5배 가벼운 월드로 즉시 입장

69만 삼각형 규모의 베뉴를 삼각형당 약 7바이트(ABEW v4)로 압축해 모바일과 PC에서 다운로드 대기 없이 시작합니다.

120 Hz · 240 Hz ≥98% 프레임 유지율

결정론적 60 HZ 물리

네이티브와 웹에서 일치하는 물리 해시

강체, 관절, 연속 충돌 감지가 네이티브 GPU와 브라우저 WASM에서 완전히 동일한 64비트 해시를 보장합니다.

698개 자동화 테스트 · 해시 c9df1e2e6456329b

모던 제작 아키텍처

텍스트 기반 씬 & 바이너리 종속 제로

정규화된 JSON 씬과 CLI 시맨틱 비교, 헤드리스 GPU 검증으로 엔지니어링과 AI 보조 월드 제작 속도를 극대화합니다.

외부 크레이트 0개 · 100% Git diff 가능

6계층 독자 인하우스 엔진 스택

외부 런타임 의존성 0개 · 전 기기 60 / 120 / 240 Hz 안정 프레임 유지

LAYER 01 가동 중

무의존성 플랫폼 코어

외부 크레이트 없이 X11, Win32, Metal, 웹 캔버스를 직접 제어.

LAYER 02 ABEW v4

선언형 월드 포맷

정규 JSON 계층 구조를 삼각형당 약 7바이트로 쿠킹해 즉시 웹 스트리밍.

LAYER 03 가동 중

4타깃 렌더러

단일 WGSL 소스로 Vulkan, Metal, WebGPU, WebGL 2 동시 구동.

LAYER 04 60 Hz

결정론적 물리

비트 일치 강체 물리, 관절, GPU 스키닝 및 표정 모프.

LAYER 05 가동 중

멀티플레이 스테이지 런타임

3D→HUD 앵커 투영, 삼각형 정밀 피킹, 권위 서버 스냅샷 연동.

LAYER 06 50/50 E2E

스튜디오 & 빌드 툴체인

원자적 JSON 씬 편집, 실행 취소 저널, 픽셀 정합성 및 프레임 검증.

언더 더 후드

프로덕션 모노레포에서 가동 중인 실제 코드.

간결한 TypeScript/WASM 런타임 API, 4대 타깃 WGSL 셰이더, 무의존성 Rust 물리 엔진과 자동화 CLI.

game-stage.ts WebGPU · WebGL 2 · 0 npm deps

쿠킹된 3D 베뉴를 브라우저에 로드하고 시간대별 조명과 3D→HUD 정밀 좌표 투영을 제어합니다.

import { createEngine } from '@ganbate/engine-web';

const engine = await createEngine({
  canvas,
  wasm: '/engine/ganbate_web.wasm',
  world: '/worlds/yozakura-v5-live.abew', // 627 entities · 617 lights
  look: yozakuraLookV5,
});

engine.fitCanvas();
engine.setView({
  eye: [0, 2.15, 3.25],
  target: [0, 0.78, 0],
  fov: 44,
  focus: { distance: 3.4, depth: 4.5, blur: 0.018 },
});
engine.setClock(20.5, performance.now() / 1000);
engine.setWeather('petals');

const tableSpot = engine.createLight({
  kind: 'spot',
  position: [0, 2.6, 0.2],
  direction: [0, -1, -0.08],
  color: [1.0, 0.84, 0.62],
  intensity: 16.0,
  shadow: 0.85,
});

engine.render();
const hudAnchor = engine.project([0, 0.92, 0]);
const hitProp = engine.pick(pointerX, pointerY);

지금 플레이 가능

오늘 밤, Ganbate에서 포커 테이블을 여세요.

데스크톱과 모바일 브라우저에서 설치 없이 바로 즐기는 소셜 포커, 블랙잭, 바카라.

만 18세 이상 · 게임 내 가상 칩 전용 (현금 환전·경품 교환 불가)