Quản trị ↗
DEVELOPER DOCUMENTATION · V1.0.0

Bắt đầu với VENO SDK.

VENO cung cấp vòng lặp, thời gian ảo, ngẫu nhiên có seed, input, giao diện dùng chung và công cụ phát hành. Mỗi game triển khai một Game Contract.

Runtime · CLI · Demo & video · Quản trị

Tích hợp vào game

<script src="https://sdk.venogame.com/v1/veno.js"></script>
<script src="https://sdk.venogame.com/v1/veno.phaser.js"></script>
<script type="module">
  import game from './src/game.js';
  await veno.boot({ manifest: './game.json', game, mount: '#game' });
</script>

Manifest được kiểm tra bằng JSON Schema. Dùng bundle bất biến v1.0.0 để ghim phiên bản; đường dẫn /v1/ nhận bản vá.

Ba quy tắc runtime

  1. Chỉ dùng ctx.rng cho ngẫu nhiên. Tách RNG bot và hiệu ứng bằng fork('bot'), fork('fx').
  2. Chỉ dùng dt, ctx.clock.now, clock.after/every/tween trong logic.
  3. Input thật và bot đều gửi Action JSON vào applyAction().
const game = {
  async init(ctx) { /* tải tài nguyên và tạo view */ },
  start({ seed, mode, level }) {},
  step(dt) {}, render(alpha) {},
  applyAction(action) { return true; },
  getBotAction(skill) { return null; },
  getActionTarget(action) { return { kind: 'none' }; },
  getState() { return {}; },
  getStatus() { return { phase: 'playing', score: 0,
    level: 1, progress: 0, highlights: [] }; },
  onResize(layout) {}, pause() {}, resume() {}, destroy() {}
};

Công cụ CLI

Tải mã nguồn SDK và CLI, giải nén rồi chạy npm installnpm run build. Yêu cầu Node.js 22+, Chromium của Playwright; FFmpeg cho video.

LệnhChức năng
npm run veno -- create my-game --engine=phaserTạo game từ template
npm run veno -- dev --root=distMáy chủ phát triển
npm run veno -- test --allKiểm thử game bằng Chromium
npm run veno -- seeds --game=tiles --n=100Tìm seed và lưu vào manifest
npm run veno -- build --root=examples/tiles --target=crazygamesKiểm tra và xuất gói ZIP
npm run veno -- record --game=tiles --aspect=9x16,16x9Quay MP4 với thời gian ảo
npm run veno -- deploy --root=examples/tilesĐẩy bản build và cập nhật registry

Demo và xuất video

Mở game với ?demo=1&clean=1&aspect=9x16&seed=8841&dur=30. Chế độ clean ẩn nút shell và tắt quảng cáo, analytics. Demo giữ watermark VENO.

npm run veno -- record --game=tiles --aspect=9x16,16x9 \
  --lang=en --dur=30 --fps=60 --out=videos

# Máy quay nhận việc từ Admin
$env:VENO_API_URL = 'https://sdk.venogame.com/api/v1'
$env:VENO_API_TOKEN = 'token-tao-trong-admin'
npm run veno -- record --worker

CLI ghi từng khung bằng Chromium và FFmpeg, kèm file JSON chứa seed và highlight. Preset: shorts, yt-landscape, square, preview, yt-landscape-4k.

Quản trị và remote config

Mở VENO Admin, đăng nhập và thiết lập xác thực hai bước. Tạo bản nháp cấu hình, xem thay đổi, xuất bản hoặc hẹn giờ. Mỗi lần xuất bản tạo revision để rollback.

Cấu hình chạy game nằm tại /config/v1/_default.json/config/v1/<id>.json. Registry công khai: /registry/games.json. Game đọc JSON tĩnh, không phụ thuộc MySQL khi chơi.

Quảng cáo và GA4 cần thông tin tài khoản của bạn trong Admin. Chỉ bật sau khi hoàn tất cấu hình nhà cung cấp và consent. AdMob cần app native triển khai bridge.

Game mẫu

VENO Tiles — Phaser · VENO Orbit — Three.js · VENO Drop — Physics

Triển khai chi tiết · Kết quả kiểm thử và phần chưa hoàn tất · API. Các tài liệu cũng nằm trong gói mã nguồn.