Skip to content

wvdsh/examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Small example projects that demonstrate integrating the Wavedash SDK across various engines and stacks.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors