3D Collaborative Cube Puzzle using the Google Drive Realtime API
JavaScript CSS HTML
Latest commit 6e7ae83 Mar 19, 2016 @nicolasgarnier nicolasgarnier Merge pull request #8 from shalabhaggarwal/master
Fix for loop to prevent infinite loop.


Realtime Cube

Realtime Cube Screenshot


Realtime Cube, is an online game demonstrating usage of the Google Drive Realtime API.

Realtime Cube allows you to play to a well known colored cube puzzle collaboratively.

You can try out Realtime Cube on its live instance.

Installation and Configuration

The project can run on any static web server, but we also provide required configuration and boilerplate files to host it on App Engine.

If you wish to host it in your own App Engine instance make sure you set the name of your App Engine application in /app.yaml. To create an App Engine instance follow the instructions on appengine.google.com.

Create a Google APIs project and Activate the Drive API

First, you need to activate the Drive API for your app. You can do it by configuring your API project in the Google APIs Console.

  • Create an API project in the Google APIs Console.
  • Select the "Services" tab and enable the Drive API.
  • Select the "API Access" tab in your API project, and click "Create an OAuth 2.0 client ID".
  • In the Branding Information section, provide a name for your application (e.g. "Realtime Cube"), and click Next. Providing a product logo is optional.
  • In the Client ID Settings section, do the following:
    • Select Web application for the Application type
    • Click the more options link next to the heading, Your site or hostname.
    • List your hostname in the Authorized Redirect URIs and JavaScript Origins fields.
    • Click Create Client ID.
  • In the API Access page, locate the section Client ID for Web applications and note the Client ID value.
  • List your hostname in JavaScript origins in the Client ID settings.
  • Go to the Drive SDK page and copy the App ID.

Setup your App information

You should now have your Client ID and your App ID. In /realtimecube.js change the appId and the clientId in the realTimeOptions object.

Deploy, run that's it!


Before creating a pull request, please fill out either the individual or corporate Contributor License Agreement.

  • If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an individual CLA.
  • If you work for a company that wants to allow you to contribute your work to this client library, then you'll need to sign a corporate CLA.

Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll add you to the official list of contributors and be able to accept your patches.