Skip to content

Porting Examples and Demos

fta2012 edited this page Aug 25, 2016 · 31 revisions

Games and Game Engines

Name Description Author Submitted Link Source
Unity Demos Angry Bots, Dead Trigger 2 (blogpost)
Tappy Chicken The full Unreal Engine 3, which was ported in 4 days
Nebula3 The Nebula3 engine
Bullet The Bullet physics engine compiled to JavaScript with convenient automatically-generated bindings (through ammo.js) updated!
Esenthel Engine Live Demo
Quake 3 QuakeJS, a port of ioquake3
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
BananaBread Port of Sauerbraten/Cube 2. Project page here.
[Torque 2D Demo] (http://stuff.cuppadev.co.uk/torque2d-web/) An experimental port of the [Torque 2D] (https://github.com/GarageGames/Torque2D/wiki) game engine. [Blogpost] (http://www.cuppadev.co.uk/2013/12/torque2d-in-a-web-browser/)
Voxel Invaders Blogpost
Dune II Port of OpenDune, an open source implementation of the classic real-time strategy game Dune II
Me & My Shadow A 2D SDL platform/puzzle game (original here)
Ceferino Port of a 2D action game (also available here)
SuperTux Port of SuperTux by @forandom
Transport Tycoon Deluxe port of OpenTTD by caiiiycuk
Box2D The Box2D physics engine compiled to JavaScript with convenient automatically-generated bindings (through box2d.js)
Online Freecell solver (Text-based) Port of libfreecell-solver (part of Freecell Solver) to JavaScript, with some jQuery glue
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!
drahtkern tech demo A cross-platform 3D engine techdemo developed by MADE
Open Syobon Action A parody of Super Mario. Original here.
Randomedia Game An endless game with aliens and sheeps. Source code on Github.
Minko Engine A free and open source 3D engine for HTML5, iOS, Android, Windows, Mac and Linux.
Minko - Sponza The famous Sponza 3D model rendered with the Minko Engine.
Minko - Venus de Milo A 3D scan of the Venus de Milo rendered with the Minko Engine.
Recast.js - Port of Recast navigation mesh library
Oxygine A free and open source 2D game framework for HTML5, iOS, Android, Windows, Mac and Linux.
Duck Dynasty Slots A web version of Duck Dynasty Slots which was previously a mobile-only game. [Blogpost] (http://code.zynga.com/2014/08/zyngas-first-foray-into-webgl-and-how-it-runs-on-ie10/)
CaveExpress and CavePacker Free and open source 2D games (SDL2). https://github.com/mgerhardy/caveexpress
GDevApp Webapp to create 2D games without programming. Based on open source GDevelop project, ported to JS with Emscripten.
EasyRPG Player HTML5 port Port of the EasyRPG Player RPG Maker 2000/2003 games interpreter.
BrowserHack Port of NetHack.
Simon Tatham's Puzzles
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
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

Graphics

Name Description Author Submitted Link Source
IMGUI OpenGL GUI
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
[Crunch DXT1 Texture Compression] (http://www-cs-students.stanford.edu/~eparker/files/crunch/more_info.html) Using [Crunch] (https://code.google.com/p/crunch/) to compress DXT1 textures for use in browsers supporting [compressed textures] (http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/). Online [demo page] (http://www-cs-students.stanford.edu/~eparker/files/crunch/decode_test.html) using library.
Topologic Simple viewer for higher-dimensional geometric primitives and fractals.
Verovio A library for engraving MEI music notation into SVG

Emulators

Name Description Author Submitted Link Source
JSMESS JavaScript port of the MESS emulator
Classic Mac OS Mac Plus emulator using PCE
[Moonjs] (http://svtsim.com/moonjs/agc.html) Simulator for the [Apollo Guidance Computer] (http://www.ibiblio.org/apollo/) (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

Application Frameworks

Name Description Author Submitted Link Source
pepper.js Ports of miscellaneous PNaCl apps (earth, voronoi, bullet, etc.)
Qt Ports of various Qt demos

Programming Languages

Name Description Author Submitted Link Source
C/C++ Clang and LLVM
Lua The Lua VM, ported in lua.vm.js updated!
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.16.3
pypy.js JIT Python Interpretor Ryan Kelly github Homepage

Tutorials

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.

WIP

Name Description Author Submitted Link Source
Cocos2D-X
Rogue.JS

Utilities

Name Description Author Submitted Link Source
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] (https://github.com/manuels/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.

Other Examples

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