Skip to content

Latest commit

 

History

111 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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, 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, and then starts gameplay.
  • example-cpp: C++ and WebAssembly pong demo that initializes the SDK from C++, updates loading progress, and then starts gameplay.
  • example-csharp: C# and WebAssembly pong demo that initializes the SDK from C# via [JSImport]/[JSExport] interop on the .NET WebAssembly runtime, updates loading progress, 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 built with Vite (npm excalibur), uses an AI opponent, and initializes the SDK from the 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 built with Vite (npm littlejsengine), uses an AI opponent, and initializes the SDK inside gameInit.
  • example-gamemaker: GameMaker (GX.games target) pong demo that initializes the SDK through a JavaScript extension, updates loading progress during startup, 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-ctjs: ct.js pong demo that reports load progress and calls Wavedash.init() from the room's OnRoomStart script, then starts gameplay.
  • example-construct: Construct 3 folder-project pong demo that initializes the SDK from Construct scripts, updates loading progress during startup, 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 wraps it in the js-dos emulator and reports load progress and loadComplete(); init() runs only if you add a loader script.
  • 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 — built with Vite (npm kaplay), 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, and then starts gameplay.
  • example-melonjs: melonJS pong demo built with Vite (npm melonjs), uses a tracking-AI opponent, renders a scoreboard in each half, and initializes the SDK from a module entry.
  • example-phaser: Phaser 4 pong demo that initializes the SDK, updates loading progress, and then starts gameplay.
  • example-pico8: PICO-8 platformer cart exported to HTML5; the web shell streams the cart runtime into the SDK loading bar and calls Wavedash.init() once it's fetched.
  • 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, 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 wraps it in the Ruffle emulator and reports load progress and loadComplete(); init() runs only if you add a loader script.
  • example-rust: Rust and WebAssembly pong demo that initializes the SDK from Rust, updates loading progress, and then starts gameplay.
  • example-solar2d: Solar2D pong demo exported to HTML5, initializes the SDK through Solar2D's JavaScript Module Loader (wavedash.js + require "wavedash"), 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-cicd: example-threejs plus a GitHub Actions workflow that builds and runs wavedash build push on every push to main.
  • 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, and then starts gameplay.

About

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

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages