Home

Awesome

VaporBoy

<!-- Badges -->

Build Status License Badge GitHub package version

An A E S T H E T I C GB / GBC Emulator PWA. Powered by wasmBoy.

Talk given at WebAssembly SF March 28th, 2019

Vapor Boy Walk through gif

Table of Contents

Features

Example Gifs & Screenshots

<img alt="Desktop Layout" src="./readme_assets/desktopLayout.png" width="300px"/> <img alt="Land Scape Layout" src="./readme_assets/landscapeLayout.png" width="300px"/> <img alt="Desktop Control Panel" src="./readme_assets/desktopControlPanel.png" width="300px"/> <img alt="Land Scape Settings" src="./readme_assets/landscapeSettings.png" width="300px"/>

<img alt="Portrait Layout" src="./readme_assets/portraitLayout.png" height="300px"/> <img alt="Portrait ROM source Selector" src="./readme_assets/portraitROMSourceSelector.png" height="300px"/> <img alt="Portrait Home brew ROMs" src="./readme_assets/portraitHomebrewROMs.png" height="300px"/> <img alt="Portrait Effects" src="./readme_assets/portraitEffects.png" height="300px"/> <img alt="Portrait Tobu Tobu Girl" src="./readme_assets/portraitTobu.png" height="300px"/>

Lighthouse Score

Lighthouse Score Screenshot. Approximately 91

Contributing

Feel free to fork and submit PRs! Any help is much appreciated, and would be a ton of fun! I would appreciate opening an issue, or replying to an already open issue to express intent of trying to solve the issue, and we discuss.

Installation

Just your standard node app. Install Node with nvm, git clone the project, and npm install, and you should be good to go!

Npm Scripts & CLI Commands

# Starts the preact development server.
npm run start

# Same as `npm run start`
npm run dev

# Runs all precommit hooks
npm run precommit

# Runs the prettier linter, and automagically fixes all linting errors
npm run prettier:fix

# Builds a production version of the PWA
npm run preact:build

# Watches for changes, and continually builds/servers a production version of the PWA
npm run preact:build:watch

# Serves the locally built PWA
npm run preact:serve

# Serves the preact development server, called by `npm run start`
npm run preact:dev

# Start the cordova browser platform for development
npm run cordova:serve

# Serves the cordova (mobile) development server
npm run cordova:dev

# Start the electron server
npm run electron:serve

# Start the electron development server
npm run electron:dev

Special Thanks

Other Notes & Links

Privacy

Analytics is used on this application simply for performance monitoring, and tracking popularity of the applications. The following events are sent, with nothing more than the event name. The analytics provider used is Google Analytics.

The Events sent are: