Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
PORTSNATIVE

bottleship

EMULATORACTION / ADVENTUREWEBWEBBETA

bottleship

Run classic Windows games in your browser. A high-level-emulation engine that boots real x86 Windows executables and reimplements Win32, COM and DirectDraw/Direct3D on WebGPU, WebAudio and OPFS

OriginGitHub WebAssembly emu

TechnologyCross-platform native emulator (JIT / dynamic)

Available forWeb, Web

View official project

About the project

Emulator indexed on PortsNative optimized to run titles from GitHub WebAssembly emu on Web, Web. Offers high compatibility, graphic enhancements, and modern controller support.

Official project information

Author's original READMEOpen on GitHub ↗

BottleShip

Run classic Windows games in your browser.

BottleShip runs real x86 Windows games in the browser — no OS image, no plugins, no server round-trip. It loads a game's PE executable directly and reimplements Windows itself (Win32, COM, DirectDraw / Direct3D 3–9, DirectSound) on top of WebGPU, WebAudio and OPFS.

Play online · Release 0.7 · Compatibility · Documentation · Contributing

<!-- TODO: hero.gif — a short montage (Max Payne / NFS Underground / StarCraft / Unreal) -->
  • Real x86 Windows executables — not source ports
  • DirectDraw & Direct3D 3–9 → WebGPU
  • DirectSound & waveOut → WebAudio
  • Runs entirely on the client — no game streaming, no server-side execution

⚠️ Early and actively developed — expect rough edges.

Games running today

BottleShip already runs a range of late-90s / early-2000s titles into gameplay, including Re-Volt, Heroes of Might & Magic III, StarCraft / Brood War, Diablo II, Max Payne, The Elder Scrolls III: Morrowind, Harry Potter and the Philosopher's Stone, Need for Speed: Porsche Unleashed & Underground, Unreal Gold, Command & Conquer: Tiberian Sun, Discworld Noir, Tomb Raider II and Tony Hawk's Pro Skater 2. See the full compatibility list for exact status per title.

Several of these are sold DRM-free on GOG (Heroes III, Re-Volt, Morrowind, Unreal Gold, Tomb Raider II…) — you can drop the offline installer straight in. Because only demos and freeware are legally redistributable, the online library lets you play those instantly; everything else, you bring your own legally-owned copy.

Open the game library →

Why

The web has great open emulators for old platforms — DOSBox, ScummVM, Dolphin. But the awkward middle — native Win32 games from ~1997–2004 with no source port, not on modern stores, and fussy on current Windows — has no easy home. BottleShip aims squarely at that gap.

It gives those games a browser-native runtime without booting a Windows image or a native install. We ship the emulator, not the games: the online library is demos, shareware and other redistributable releases; you import your own legally-owned files locally.

How it works

BottleShip doesn't boot Windows. It loads the game's PE executable into a 4 GB guest address space, runs its x86 code through a fork of v86, and intercepts every imported Win32 and DirectX call.

flowchart LR
    GAME["Windows game<br/>x86 PE"] --> CPU["v86 CPU<br/>(WASM)"]
    CPU --> HLE["Win32 / DirectX HLE<br/>TypeScript + WASM"]
    HLE --> WEB["WebGPU · WebAudio<br/>OPFS · input"]
  • Win32 / COM APIs are reimplemented in TypeScript and WASM.
  • DirectDraw and Direct3D 3–9 are translated to WebGPU / WGSL in real time.
  • DirectSound and waveOut mix in an AudioWorklet over a SharedArrayBuffer ring.
  • Game files, saves and registry live in an OPFS virtual filesystem (read-only ROM plus a copy-on-write overlay).
  • Hot guest/host calls stay entirely inside WASM for speed.

Read the architecture guide →

Run locally

Requirements: Bun, and a browser with WebGPU (Chrome / Edge 113+) and SharedArrayBuffer.

git clone https://github.com/jenissimo/bottleship
cd bottleship
bun install
bun run dev

Open http://localhost:5174.

Development & self-hosting guide →

Multiplayer uses an optional LAN relay with WebSocket and HTTP polling. Virtual DirectPlay remains the default. Experimental native DirectPlay 8 hosting requires an explicit provider policy and a configured UDP listener; its current backend targets a Host with one remote Peer. See the native Host setup and conformance guide for the supported scope and verification workflow.

Import your own games

BottleShip can load:

  • .wgb game bundles;
  • raw game folders (drag & drop);
  • supported GOG Inno Setup installers (extracted in-browser).

Imported files are processed locally in the browser and stored in OPFS, with a read-only base image and a writable overlay for saves and configuration.

bun tools/make-wgb.ts <game-dir> <out.wgb> --exe game.exe

Game import guide → · GOG import →

Help preserve a game

BottleShip is built around compatibility work: load a game, find the generic Win32 or DirectX gap, implement it faithfully, and prove the fix with the automation harness — a fix that helps every title on the same code path, never a per-game hack.

Coding-agent-assisted contributions are welcome, as long as fixes stay generic, reviewable and covered by reproducible harness tests.

  • Report a working or broken game
  • Diagnose a missing API (report() / stubs() name the culprit)
  • Submit a verified, generic implementation

Contributing guide → · Contributing with coding agents →

Community & contact

  • Questions, ideas, or a game you got running → GitHub Discussions.
  • Bugs & compatibility reports → Issues (use the templates).
  • Security → SECURITY.md (private reporting).
  • Anything else, including takedown / legal: jenissimo+bottleship@gmail.com.

Support

BottleShip is free and open source. If it brought a game back to life for you, you can chip in: Ko-fi · CloudTips (RU) · Crypto.

Documentation

  • Architecture — how the engine fits together
  • Compatibility — tested titles and their status
  • Importing games · GOG import
  • Development & self-hosting
  • Release notes · Versioning
  • Automation harness — driving and observing games
  • Multiplayer — virtual LAN, server setup and API coverage
  • Child processes — execution, display routing and diagnostics
  • Performance measurements — workload and correctness contracts
  • Contributing with coding agents

License & acknowledgements

BottleShip is licensed under Apache-2.0. It builds on a fork of v86 (BSD-2) and bundles other open-source components (SeaBIOS / VGA BIOS, an FFmpeg-based decoder, fonts) — their licenses and notices are in THIRD-PARTY-NOTICES.md.

BottleShip does not distribute commercial game files. Bring your own legally-owned copies.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
EMULATOR
Genre
Action / Adventure
Status
beta
Original platform
GitHub WebAssembly emu
Technology
Cross-platform native emulator (JIT / dynamic)
Version
—
Updated
Oct 29, 2026

Target platforms 2

Web
Web
Download / Official Web
Advertisement