🎮
マルチプレイ first-class
SyncRoom / RelayRoom / GameRoom の 3 つの抽象でマルチプレイゲームを即座に立ち上げ。サーバー権威 reducer もサポート。
JavaScript / TypeScript で書く、UZU プラットフォームで遊ばれる、Web ベースのゲーム SDK
YouTube Playables / Roblox / itch.io にはない 「マルチプレイ + ボイスチャット + 日本市場ネイティブ」 の組み合わせを SDK レベルで提供しています。
数百万ユーザーの UZU アプリ内で、creator が作ったゲームが即座に遊ばれます。
npx @uzupj/uzu-cli create-2d-game my-game
cd my-game
npx uzu publishimport { sync } from '@uzupj/uzu-sdk';
let myPlayerId = '';
sync({
playerCount: 2,
initialState: (players) => ({
scores: Object.fromEntries(players.map((p) => [p.id, 0])),
}),
onState: (state, playerId) => {
myPlayerId = playerId;
render(state);
},
inputs: (patch, set) => {
canvas.addEventListener('click', () => {
set(`/scores/${myPlayerId}`, (currentState.scores[myPlayerId] ?? 0) + 1);
});
},
});これだけで「2 人マルチプレイ + 状態同期 + ボイチャ付き」のゲームが動きます。