Skip to content

JavaScript Game Boy Color emulator for iOS. Fork made for supporting game state syncing with Google Drive

License

Notifications You must be signed in to change notification settings

brandosha/gameplaycolor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game Play

A JavaScript Game Boy and Game Boy Color emulator for iOS, based on the GameBoy-Online emulator core.

If you just want to play Game Play, you can find it online at brandosha.github.io/gameplay.

Dependencies

Check out the project, update the submodules, install the brew-based dependencies, and install the additional Python dependencies:

git clone [email protected]:jbmorley/gameplay.git
cd gameplay
git submodule update --init --recursive

macOS

cat brew.txt | xargs brew install
cd scripts
pipenv install

Ubuntu

cat ubuntu.txt | xargs sudo apt install
cd scripts
pipenv install

It may be necessary to install pipenv as follows:

pip3 install pipenv

Building

Game Play is built using a custom Python build script which inlines and minifies HTML, CSS and JavaScript, and binds in the settings for a given deployment.

For example, building the release version of Game Play as hosted on brandosha.github.io/gameplay can be done by running the following command from the root of the repository:

scripts/build build settings/release.json

The build will be created in the build directory, and a corresponding *.tar.gz will be creatd in archives, tagged with the git sha and settings name (e.g., build-168bd9d0d8d309a1efb1983bd61ec34ff22951b5-release.tar.gz).

Changelog

Version 3.3.2

  • Migrate to service worker from application cache

Version 3.3.1

  • Fix iPadOS user agent issue

Version 3.3.0

  • Added game controller support

Version 3.2.3

  • Use different workaround for closing IndexedDB issue (see Version 3.2.1)

Version 3.2.2

  • Fix issue that caused the restart button to load the most recent snapshot instead of restarting
  • Fix audio issue with closing and reopening the app caused by autoplay restriction

Version 3.2.1

  • Update snapshot feature to store a snapshot for each game
  • Implement workaround for issue caused by iOS closing indexedDB connections when the app is sent to background (issue #5)

Version 3.2.0

  • Add support for saving a snapshot automatically when users close the app

Version 3.1.2

  • Add button for clearing all save data to help fix issues caused in upstream merge

Version 3.1.1

  • Update menus to fit full screen iPhones

Version 3.1.0

  • Add support for importing and exporting .sav files

Version 3.0.5

  • Fix issue with Google Drive sync caused when merging upstream

Version 3.0.4

  • Fix issue with loading game states

Version 3.0.3

  • Fix authorization issues when handling game states

Version 3.0.2

  • Fix issue with dismissing game menu when offline
  • Remove options for sending data to inseven

Version 3.0.1

  • Fix upload time issues by loading each save into its own file

Version 3.0.0

  • Add support for saving game states to Google Drive

Version 2.4.0

  • Add support for saving game states with Siri Shortcuts

Version 2.3.8

  • Fix audio playback on iOS 11.

Version 2.3.7

  • Updating Google Drive authentication.

Version 2.3.6

  • Improving the first run messaging.

Version 2.3.5

  • Fixing the icon on the sign in page.

Version 2.3.4

  • Fixing some crashes.

Version 2.3.3

  • Re-enable crash reporting.
  • Bug fixes.

Version 2.3.2

  • Fixing a small bug in artwork lookup.
  • Minor improvements to logging.

Version 2.3.1

  • Adding a mechanism to email logs.

Version 2.3.0

  • New improved game library.

Version 2.2.3

  • Catching up to upstream GameBoy-Online.
  • Some UI improvements.

Version 2.2.2

  • Don't animate the console when restoring games.
  • Temporarily disabling button animations to improve audio performance.

Version 2.2.1

  • New in-game menu.
  • Menu option for resetting the current game.
  • Menu option for Zelda fans: A + B + Select + Start.

Version 2.2.0

  • Support for diagonal directions using the d-pad.
  • Improved scrolling in the game library.

Version 2.1.7

  • Setting for console color.
  • Work-around for audio playback issues on iPhone 6.

Version 2.1.6

  • Adding support for different emulation speeds.

Version 2.1.5

  • Adding scrolling to the settings dialog on small screens.
  • Adding the version to the settings dialog.

Version 2.1.4

  • Moving the account sign out and 'Say Thanks' into a new settings dialog.
  • Adding the option to disable sound; use this to listen to your own music!

Version 2.1.3

  • Fixing early Google Drive session expiry.
  • Minor UI tweaks.

Version 2.0.13

  • Show release notes when informing users about updates.
  • Only display errors if no update is available.

Version 2.0.12

  • Improving guards against loading corrupt ROMs.

Version 2.0.11

  • Correcting the characters used on the d-pad and in the 'Say Thanks' link on iOS 8.3.

Version 2.0.10

  • Adding the application version, screen size and the user agent string into the logs.

Version 2.0.9

  • Improved logging.
  • Better error handling of missing ROMs.

Version 2.0.8

  • Improving information available in crash log emails.
  • Fixing some bugs which resulted in an attmept to play and save ROMs that had failed to download.
  • Introduced a recovery mechanism for the above scenario.
  • Improved debugging tools.

Version 2.0.7

  • Layout support for iPhone 4 and 4S.

Version 2.0.6

  • Changing the default error handler to ignore errors from cross-origin scripts.

Version 2.0.5

  • Fixed crash when inspecting Google Drive files with no extension.
  • Preventing application from running if the user cancels database creation.
  • Fixed crash when Google Drive returned an empty response.
  • Fixed crash due to incorrectly named logging call.

Version 2.0.0

  • Initial release of Game Play.

Version 1.0.0

  • Initial release of Game Play.

Thanks

Many thanks to:

Legal

  1. Game Boy and Game Boy Color are trademarks of Nintendo Co., Ltd.. All rights reserved.
  2. Downloading copied ROMs is illegal: only use images you have created from ROMs you own yourself.
  3. InSeven Limited is an independent software company and is in no way affiliated with Nintendo Co., Ltd..

License

Game Play and its dependencies are licensed under the MIT license. See LICENSE for more details.

Third Party Sources

Game Play includes the following third party sources:

  • jQuery - Copyright (C) 2013 jQuery Foundation and other contributors
  • GameBoy-Online - Copyright (C) 2010-2016 Grant Galitz

About

JavaScript Game Boy Color emulator for iOS. Fork made for supporting game state syncing with Google Drive

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • HTML 70.0%
  • JavaScript 21.3%
  • CSS 6.6%
  • Python 2.1%