-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Porting Examples and Demos
Jonathan Frank edited this page Mar 19, 2024
·
94 revisions
- Games and Game Engines
- Graphics
- Emulators
- Application Frameworks
- Programming Languages
- Tutorials
- Utilities
- Other Examples
Name | Description | Author | Submitted | Link | Source | Status/Date |
---|---|---|---|---|---|---|
Geogram | A library of geometric algorithm and interactive 3D graphics. Emscripten target natively supported by the official version. The GUI is done with ImGUI, a version adapted to Emscripten is bundled in GEOGRAM. Embedded LUA interpreter in GEOCOD | ok 2019.05.30 | ||||
Unity Demos | Angry Bots, Tanks (wasm) (older DT2 blogpost) | semiok 2019.05.30 | ||||
Nebula3 | The Nebula3 engine | cooldnt figure out 2019.05.30 | ||||
Bullet | The Bullet physics engine compiled to JavaScript with convenient automatically-generated bindings (through ammo.js) | 404 2019.05.30 | ||||
Esenthel Engine | Live Demo | ok 2019.05.30 | ||||
Quake 3 | QuakeJS, a port of ioquake3 | page look alive but don't work 2019.05.30 | ||||
Doom 3 | D3wasm, an experimental port of idTech 4 to WebAssembly / WebGL | Gabriel Cuvillier | Jan. 2019 | Online demonstration using Doom 3 Demo - Project Page | GitHub repository | page look alive but don't work 2019.05.30 |
Kigs-framework | Open Source, free , cross platform, multi purpose fast application development framework | Stephane Capo | Online coding samples | GitHub repository | ||
Doom | The open source Freedoom game assets running on PrBoom, which is based on the open source Doom code | |||||
UNIGINE | Port of the UNIGINE game engine by ACTISKU | ok 2019.05.30 | ||||
Urho3D | Free lightweight 2D and 3D framework. Cross-platform support using SDL 2.0 with Emscripten support | ok 2020.04.10 | ||||
BananaBread | Port of Sauerbraten/Cube 2. Project page here. | ok 2019.05.30 | ||||
Torque 2D Demo | An experimental port of the Torque 2D game engine. Blogpost | ok 2019.05.30 | ||||
Voxel Invaders | Blogpost | ok 2019.05.30 | ||||
Dune II | Port of OpenDune, an open source implementation of the classic real-time strategy game Dune II | "buy this domain" 2019.05.30 | ||||
Me & My Shadow | A 2D SDL platform/puzzle game (original here) | ok 2019.05.30 | ||||
Ceferino | Port of a 2D action game (also available here) | ok 2019.05.30 | ||||
SuperTux | Port of SuperTux by @forandom | page look alive but don't work 2019.05.30 | ||||
Box2D | The Box2D physics engine compiled to JavaScript with convenient automatically-generated bindings (through box2d.js) | 404 2019.05.30 | ||||
Online Freecell solver | Port of libfreecell-solver (part of Freecell Solver) to WebAssembly and JavaScript, with some jQuery glue and YUI-based graphics | |||||
ScummVM ported to HTML5 | Demos of Monkey Island 1, Sam & Max, Day of the Tentacle, Indiana Jones and other LucasArts classics in your web browser! | server not found 2019.05.30 | ||||
drahtkern tech demo | A cross-platform 3D engine techdemo developed by MADE | 404 2019.05.30 | ||||
Open Syobon Action | A parody of Super Mario. Original here. | ok 2019.05.30 | ||||
Randomedia Game | An endless game with aliens and sheeps. Source code on Github. | ok 2019.05.30 | ||||
Minko Engine | A free and open source 3D engine for HTML5, iOS, Android, Windows, Mac and Linux. | other site 2019.05.30 | ||||
Minko - Sponza | The famous Sponza 3D model rendered with the Minko Engine. | other site 2019.05.30 | ||||
Minko - Venus de Milo | A 3D scan of the Venus de Milo rendered with the Minko Engine. | other site 2019.05.30 | ||||
Recast.js | - Port of Recast navigation mesh library | ok 2019.05.30 | ||||
Oxygine | A free and open source 2D game framework for HTML5, iOS, Android, Windows, Mac and Linux. | ok 2019.05.30 | ||||
Duck Dynasty Slots | A web version of Duck Dynasty Slots which was previously a mobile-only game. Blogpost | 404 2019.05.30 | ||||
CaveExpress and CavePacker | Free and open source 2D games (SDL2). | https://github.com/mgerhardy/caveexpress | ok 2019.05.30 | |||
GDevApp | Webapp to create 2D games without programming. Based on open source GDevelop project, ported to JS with Emscripten. | ok 2019.05.30 | ||||
EasyRPG Player HTML5 port | Port of the EasyRPG Player RPG Maker 2000/2003 games interpreter. | ok 2019.05.30 | ||||
BrowserHack | Port of NetHack. | ok 2019.05.30 | ||||
Simon Tatham's Puzzles | ok 2019.05.30 | |||||
amazeballz pool | Free 3D pool game you can play in your browser. Created using Ragtag's C++ interactive software engine, theRedEngine, compiled to JS/HTML5 using Emscripten. | Ragtag Developments Ltd | 02/04/2016 | Game Information/Homepage | ok 2019.05.30 | |
raylib | A simple and easy-to-use library to learn videogames programming. Check online examples. | @raysan5 | 6-Aug-2016 | www.raylib.com | https://github.com/raysan5/raylib | ok 2019.05.30 |
DIV | DIV Games Studio, a full cross platform games development IDE + Compiler | @MikeDX | 19-Nov-2016 | www.div-arena.co.uk | https://github.com/DIVGAMES/DIV-Games-Studio | ok 2019.05.30 |
Pong | Another version of the famous oldie! | @Jackbenfu | 08-Nov-2017 | jackbenfu.itch.io/pong | https://github.com/Jackbenfu/Pong | ok 2019.05.30 |
Open Fodder | Port of Cannon Fodder | @segrax | 10-March-2019 | Cannon Fodder Demos | https://github.com/OpenFodder/openfodder | ok 2019.05.30 |
Stockfish.wasm | WebAssembly port of the strong chess engine Stockfish | 29-May-2019 | Live demo | Github | ok 2019.05.30 | |
Pyramid Solitaire Ancient Egypt | Web version of Pyramid Solitaire Ancient Egypt which was previously only available as app | |||||
RaZ | Modern & multiplatform C++ game engine | Razakhel | 2022 Nov. 23 |
Online demo - Rendering Online demo - Atmospheric simulation Online demo - Terrain generation |
https://github.com/Razakhel/RaZ |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
IMGUI | OpenGL GUI | ||||
Microwindows/Nano-X | A library for X11 and limited WinAPI support | GitHub | C code | ||
MeshLabJS | Pure client side version of the open source mesh processing system MeshLab | ||||
Autodesk FormIt | 3D conceptual design application | ||||
OpenGL ES 2.0 Gears | OpenGL ES 2.0 rendering compiled to WebGL | ||||
Rawson.js | An experimental Camera RAW viewer in Javascript, based on an emscripten port of dcraw.c | ||||
dcraw.js | Simple port of dcraw.c into a JavaScript Library | ||||
Crunch DXT1 Texture Compression | Using Crunch to compress DXT1 textures for use in browsers supporting compressed textures. Online demo page using library. | ||||
Topologic | Simple viewer for higher-dimensional geometric primitives and fractals. | ||||
Verovio | A library for engraving MEI music notation into SVG |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
JSMESS | JavaScript port of the MESS emulator | ||||
Classic Mac OS | Mac Plus emulator using PCE | ||||
Moonjs | Simulator for the Apollo Guidance Computer (AGC) used in the Apollo Program's lunar missions | ||||
JS-VBA-M | Port of VBA-M by ILOVEPIE | ||||
VICE.js | Versatile Commodore Emulator for JavaScript | ||||
Chiptunes Forever | HTML5/WebAudio versions of various popular chiptune players: AdPlug, Sc68, Tiny'R'Sid, UADE, XMP, ZXTune | https://github.com/wothke | |||
qemu.js | Work in progress. Includes some implementation of machine-code-to-JS translator | https://github.com/atrosinenko/qemujs | |||
em-dosbox | An Emscripten port of DOSBox | 29-May-2019 | Github | ||
js-dos | The simpliest API to run DOS games in browser. | caiiiycuk | Github |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
Blazor | Client web UI framework based on .NET and WebAssembly | ||||
pepper.js | Ports of miscellaneous PNaCl apps (earth, voronoi, bullet, etc.) | ||||
Qt | Ports of various Qt demos | ||||
Clarity | Clarity Web Framework | Greg Propf | 2022-11-21 | https://github.com/gpropf/clarity |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
C/C++ | Clang and LLVM | ||||
C#/F#/VB | .NET execution runtime for WebAssembly | ||||
Lua | The Lua VM, ported in lua.vm.js | ||||
Dao | Port of the Dao language | ||||
mruby | Port of mruby, a lightweight implementation of the Ruby language | ||||
Python, Ruby, Lua | The popular dynamic languages Python, Ruby and Lua, compiled to JavaScript (Older Python demo ) | ||||
Perl | Port of (micro)perl-5.30.x | ||||
pypy.js | JIT Python Interpretor | Ryan Kelly | github | Homepage | |
JavaScript | The JavaScript engine of WebKit | mbbill | |||
Nix | Nix in javascript for teaching programming in the Nix language | qknight | https://nixcloud.io/tour | https://lastlog.de/blog/posts/tour_of_nix.html | |
Otus Lisp | The Otus Lisp (functional Scheme dialect) VM, ported in WebAssembly |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
Developing a Simple Game of Air Hockey Using C and OpenGL ES 2 for Android, iOS, and the Web | This is a set of tutorials that takes a look at a very simple game developed for Android and ports it to the web by using emscripten. | ||||
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
Cocos2D-X | |||||
Rogue.JS | |||||
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
essentia.js | JavaScript library for extensive Music and Audio Analysis | Albin Correya | https://github.com/MTG/essentia.js | ||
openFrameworks | openFrameworks ported via Emscripten | ||||
Vim.js | Vi IMproved | ||||
GnuPG | The GNU Privacy Guard suite | ||||
OpenSCAD | Solid 3D CAD Modeller | ||||
bardecode | ExactImage's barcode scanner | ||||
LaTeX and BibTeX | Ports of TeX Live's pdflatex and bibtex tools (using texlive.js) | ||||
ctags | Port of ctags | ||||
gnuplot | Port of gnuplot | ||||
LLVM IR | Compile and run LLVM IR in JS, using compiled parts of LLVM + emscripten | ||||
Graphviz | Graph visualization software (port is here) | ||||
PNG Crush | PNG optimizer in a web page | ||||
XML schema validation | XML validation in pure JS using compiled libxml | ||||
hpdf.js | Create PDF files in pure JS using compiled libharu | ||||
SQLite | SQLite compiled to JavaScript with an easy-to-use API (through sql.js) | ||||
Text-to-Speech | eSpeak, a speech synthesizer, compiled to JavaScript. | ||||
Poppler | PDF rendering in JavaScript, using Poppler and FreeType. Warning: Very large (>12MB) download. | ||||
FreeType | TrueType font rendering in JavaScript, using FreeType | ||||
Pocketsphinx.js | Speech recognition in JavaScript, using PocketSphinx and the Web Audio API | ||||
Phonetisaurus | Port of grapheme-to-phoneme (g2p) engine phonetisaurus used to create dictionaries for pocketsphinx, to javascript | ||||
ogg.js | libogg, libvorbis, and libopus compiled to JavaScript for Aurora.js | ||||
MiniSat | Port of the MiniSat SAT solver | ||||
Boolector | Port of the Boolector SMT solver | ||||
videoconverter.js | A port of the FFmpeg video utilities | ||||
audioconverter.js | The FFmpeg port with lame, vorbis and fdk-aac libraries for audio transcoding | ||||
ffmpeg.js | Another port of the FFmpeg intended for WebM encoding | ||||
PDCurses | Port of PDCurses | ||||
astyle.js | Port of Artistic Style | sass.js | Port of libsass | ||
epanet.js | Hydraulic analysis of water supply networks | ||||
TinyGL.js | Implementation of a subset of OpenGL 1.1 compatible API in JavaScript | ||||
PDFium.js | Render PDF using PDFium in JavaScript | ||||
aalib.js | Port of aalib | ||||
bb.js | Port of bb, the demo of aalib | ||||
aaWebCam | Render webcam using aalib | ||||
typespeed.js | Port of typespeed | ||||
glpk.js | (partial) Port of GLPK (GNU Linear Programming Kit) | ||||
lmfit.js | Port of lmfit, a curve fitting library | ||||
y4m.js | Wrapper of MJPEG Tools, to support decoding of Y4M files | ||||
LaTeX Base | Web-based LaTeX editor that uses a LaTeX compiler built with Emscripten | lambdabaa | 06/29/16 | Link | |
spatiasql.js | Port of SpatiaLite, a spatial DBMS | ||||
tesseract.js | Port of Tesseract, an OCR engine | antimatter15 | http://tesseract.projectnaptha.com/ | ||
ccv.js | Partial port of CCV, a computer vision library | ||||
WASM-ImageMagick | ImageMagick ported via Emscripten, image transformation and manipulation | KnicKnic | 2018-09-20 | https://knicknic.github.io/imagemagick/ | https://github.com/KnicKnic/WASM-ImageMagick |
quantlib-wasm | A wrapper of the quantitative finance library Quantlib | Captor AB | 2019-08-21 | NPM | GitHub |
node-seal | A port of Microsoft SEAL's homomorphic encryption library to WebAssembly Morfix.io | s0l0ist | 2019-05-26 | NPM | GitHub |
wasm-vips | libvips for the browser and Node.js, compiled to WebAssembly with Emscripten | kleisauke | 2020-09-01 | NPM | GitHub |
Name | Description | Author | Submitted | Link | Source |
---|---|---|---|---|---|
zopfli.js | Zopfli, slow but smaller zlib/gzip compression | ||||
zpipe | zlib compiled to JS | ||||
zee.js | Another port of zlib to JS (focused on compressing/decompressing of gzip files) | ||||
lzma.js | LZMA ported to JS | ||||
sql.js | SQLite ported to JS | ||||
libtess2.js | libtess2 compiled to JavaScript | ||||
Projects using asm.js | |||||
WAM | DAW style audio plug-ins for the Web | Jari Kleimola & Oli Larkin | 20-Nov-2017 | webaudiomodules.org | github |
libgit2 | Run git inside the browser Youtube demo | Peter Salomonsen | |||
xapian/Runbox7 | Xapian search index port running in the browser demo video | Runbox | |||
pcl.js | pcl.js is a Point Cloud Library (PCL) that runs in the browser, powered by Emscripten and WebAssembly. Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. | Darkce |
README.md ``