Embed our games in your product
Every game in the Hub is a self-contained, offline-capable bundle. Embed it with a single <iframe> — straight from our cloud, or download the zip and host it yourself. No build step, no dependencies, no tracking.
📱 iOS SDK native Swift
Embed the games natively in your iOS app — no WebView, no HTML/CSS/JS. One Swift Package with two products: GoBrainGamesSDK (2048, Sudoku, Tango, Patch, Zip, Wend, Mend) and BeatGameSDK (Beat music game).
// 1) Unzip into YourApp/Packages/Play2048, add it as a local Swift package.
// 2) Open any game:
import GoBrainGamesSDK
let games = GoBrainGamesCoordinator(config: .init(locale: "vi"))
games.onEvent = { e in print(e.gameId, e.name, e.score ?? -1) }
games.present(.sudoku, from: self) // go2048 · tango · patch · zip · wend · mend
import BeatGameSDK
BeatGameCoordinator(config: .init(locale: "vi", showTutorial: true)).present(from: self)Need automated setup? The zip ships a ready-to-paste AI-agent prompt (Cursor / Claude Code) plus a full README.
Web embeds (H5 / iframe)
go2048
Classic 2048 number puzzle — TypeScript + PixiJS v7.
<iframe src="https://storage.fighttech.vn/games/go2048/index.html?embed=go2048"
width="420" height="760" style="border:0;border-radius:16px"
allow="autoplay; fullscreen"></iframe>Sudoku
Classic 9×9 logic — 4 difficulties, every puzzle uniquely solvable.
<iframe src="https://storage.fighttech.vn/games/sudoku/index.html"
width="480" height="820" style="border:0;border-radius:16px"></iframe>Zip
Numbered-path logic puzzle — fill every cell, hit the dots in order. 99 levels.
<iframe src="https://storage.fighttech.vn/games/zip/index.html"
width="480" height="800" style="border:0;border-radius:16px"></iframe>Patch
Shikaku-style shape puzzle — split the grid into sized, shaped rectangles. 99 levels.
<iframe src="https://storage.fighttech.vn/games/patch/index.html"
width="480" height="800" style="border:0;border-radius:16px"></iframe>Memory Match
Brandable memory match — flip cards to learn products and unlock a coupon. Swap colors, cards and reward via a single theme.json.
<iframe src="https://storage.fighttech.vn/games/memory/index.html"
width="420" height="760" style="border:0;border-radius:16px"></iframe>Endless Runner
Brandable endless runner — your mascot dashes, dodges and grabs rewards. Drop in your sprites and brand colors.
<iframe src="https://storage.fighttech.vn/games/runner/index.html"
width="420" height="760" style="border:0;border-radius:16px"></iframe>Bubbo Bubbo
Arcade bubble shooter from the PixiJS open-games collection.
<iframe src="https://storage.fighttech.vn/games/bubbo-bubbo/index.html"
width="960" height="600" style="border:0;border-radius:16px"
allow="autoplay; fullscreen; gamepad"></iframe>Two ways to embed:
1. Cloud (zero hosting) — paste the iframe above as-is. The game runs live from storage.fighttech.vn/games/<game>/ on our CDN; we keep it updated.
2. Self-host — download the zip, unzip, upload the folder to any static host or CDN, then point the iframe src at its index.html. Bundles use relative paths so they run from any sub-path.
Maintainers: rebuild the zips with ./scripts/package-games.sh and push them to the cloud with ./.app_dist/devops/deploy-games.sh.