Skip to content

Latest commit

 

History

History
48 lines (45 loc) · 8.19 KB

File metadata and controls

48 lines (45 loc) · 8.19 KB

examples

Small, runnable examples showing how to integrate Wavedash across different engines and stacks.

Included examples

  • example-babylonjs: Babylon.js pong demo that initializes the SDK, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-bevy: Bevy pong demo that initializes the SDK from Rust, updates loading progress, and then starts gameplay.
  • example-c: Pure C and WebAssembly pong demo that initializes the SDK from C, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-cpp: C++ and WebAssembly pong demo that initializes the SDK from C++, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-csharp: C# and WebAssembly pong demo that initializes the SDK from C# via NativeAOT, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-defold: Defold pong demo that initializes the SDK, updates loading progress, and then starts gameplay.
  • example-ebiten: Ebiten pong demo compiled to WebAssembly, initializes the SDK from Go through syscall/js, and then starts gameplay.
  • example-excalibur: Excalibur.js pong demo that loads the engine from a CDN via ESM — no build step — uses an AI opponent, and initializes the SDK from a module entry.
  • example-flame: Flame pong demo compiled to WebAssembly via Flutter, initializes the SDK from Dart through dart:js_interop, and then starts gameplay.
  • example-littlejs: LittleJS pong demo that loads the engine from a CDN, uses an AI opponent, and initializes the SDK inside gameInit.
  • example-gamemaker: GameMaker HTML5 pong demo that initializes the SDK through a JavaScript extension, updates loading progress during startup, releases deferred events when the first playable state is ready, and then starts gameplay.
  • example-go: Go and WebAssembly pong demo that owns the full browser stack via syscall/js, initializes the SDK, updates loading progress, and then starts gameplay.
  • example-godot: Godot 4 pong demo with local and online multiplayer modes — initializes the SDK from GDScript, browses and joins lobbies, and uses Wavedash P2P to sync paddle positions (channel 0, unreliable) and score events (channel 1, reliable), exported to HTML5.
  • example-cocos: Cocos Creator 3 pong demo whose Pong component moves paddle and ball Nodes each frame, initializes the SDK from TypeScript, and then starts gameplay.
  • example-construct: Construct 3 folder-project pong demo that initializes the SDK from Construct scripts, updates loading progress during startup, releases deferred events when the first playable state is ready, and then starts gameplay.
  • example-gbstudio: GB Studio 4 Game Boy game exported to HTML5 via the built-in binjgb emulator, with the Wavedash SDK init injected into the exported shell.
  • example-gdevelop: GDevelop 5 pong demo authored in game.json with a single JavaScript event driving input, physics, scoring, and a ShapePainter renderer, initializes the SDK on the first frame, and then starts gameplay.
  • example-haxe: Haxe pong demo compiled to JavaScript via haxe build.hxml, renders with Canvas 2D, initializes the SDK through js.Syntax.code, and then starts gameplay.
  • example-heaps: Heaps.io pong demo compiled to JavaScript via Haxe, renders through Heaps's scene graph with a translucent scoreboard, and initializes the SDK through js.Syntax.code.
  • example-lua: Lua pong demo that runs in the browser via wasmoon — no build step, loaded straight from a CDN, renders with Canvas 2D, initializes the SDK, and then starts gameplay.
  • example-python: Python pong demo that runs in the browser via Pyodide (CPython in WebAssembly) — no build step, loaded straight from a CDN, renders with Canvas 2D, initializes the SDK from Python through the js module, and then starts gameplay.
  • example-swift: Swift pong demo compiled to WebAssembly via the official Swift SDK for WebAssembly, uses JavaScriptKit to drive Canvas 2D and call the SDK, and then starts gameplay.
  • example-jsdos: DOS executable bundled as .jsdos and uploaded to Wavedash with the [jsdos] section in wavedash.toml; the platform automatically wraps it in the js-dos emulator and handles SDK initialization.
  • example-js: Pure JavaScript and Canvas 2D pong demo that initializes the SDK, updates loading progress, and then starts gameplay with no external game engine.
  • example-kaplay: Kaplay pong demo with local and online multiplayer modes — loads Kaplay from a CDN (no build step), initializes the SDK from JavaScript, browses and joins lobbies, and uses Wavedash P2P to sync paddle positions (channel 0, unreliable) and score events (channel 1, reliable).
  • example-kni: KNI BlazorGL (MonoGame-compatible) pong demo built with nkast's KNI engine, compiled to WebAssembly via Blazor, initializes the SDK and updates loading progress from C# via JS interop, then starts gameplay.
  • example-love2d: LOVE2D pong demo that packages a .love file for the standalone love.js player, initializes the SDK, updates loading progress, releases deferred events when the first playable frame is rendered, and then starts gameplay.
  • example-melonjs: melonJS pong demo loaded via ESM from unpkg — no build step — uses a tracking-AI opponent, renders a scoreboard in each half, and initializes the SDK from a module entry.
  • example-phaser: Phaser 3 pong demo that initializes the SDK, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-pixi: PixiJS pong demo that initializes the SDK, updates loading progress, and then starts gameplay.
  • example-playcanvas: PlayCanvas 3D pong demo that initializes the SDK, updates loading progress, and then starts gameplay.
  • example-raylib: raylib pong demo compiled to WebAssembly via Emscripten, initializes the SDK from C using EM_JS wrappers, and then starts gameplay.
  • example-renpy: Ren'Py web-export visual novel that initializes the SDK, updates loading progress during startup, releases deferred events when the first playable scene is ready, and then enters the story.
  • example-rpgmaker: RPG Maker MZ default-template project with a small Wavedash plugin that hooks into Scene_Boot to initialize the SDK, exported to HTML5.
  • example-ruffle: Flash SWF demo uploaded to Wavedash with the [ruffle] section in wavedash.toml; the platform automatically wraps it in the Ruffle emulator and handles SDK initialization.
  • example-rust: Rust and WebAssembly pong demo that initializes the SDK from Rust, updates loading progress, releases deferred events when ready, and then starts gameplay.
  • example-solar2d: Solar2D pong demo exported to HTML5, initializes the SDK through a custom HTML template set in build.settings, and then starts gameplay.
  • example-threejs: Three.js pong demo with local and online multiplayer modes — initializes the SDK from JavaScript, browses and joins lobbies, and uses Wavedash P2P to sync paddle positions (channel 0, unreliable) and score events (channel 1, reliable).
  • example-threejs-cloud: Three.js + cannon-es physics sandbox that exercises the userfs and UGC APIs end-to-end — click to drop primitives (auto-stacked via downward raycast), shift+click to remove. Save / Load / Delete use uploadRemoteFile / downloadRemoteFile / deleteRemoteFile for the player's own cloud save, plus listRemoteDirectory to surface its size/timestamp. Publish / Update published / Unpublish use createUGCItem / updateUGCItem / deleteUGCItem to share scenes as public UGC. Import pulls another player's scene via downloadUGCItem + readLocalFile into a scratch path so the local save is untouched.
  • example-ts: Pure TypeScript and Canvas 2D pong demo that initializes the SDK, updates loading progress, and then starts gameplay with no external game engine.
  • example-unity: Unity P2P pong demo that uses Netcode for GameObjects with the Wavedash transport, exported to WebGL.
  • example-zig: Zig and WebAssembly pong demo that initializes the SDK from Zig, updates loading progress, releases deferred events when ready, and then starts gameplay.