GithubHelp home page GithubHelp logo

nickfujita / cubeslam Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 70.12 MB

Automatically exported from code.google.com/p/cubeslam

Makefile 0.32% JavaScript 88.69% Python 2.76% GLSL 0.50% HTML 2.03% Go 0.88% CSS 4.80% Shell 0.04%

cubeslam's Introduction

Cube Slam

Cube Slam is a WebRTC Chrome Experiment that you can play face-to-face against your friends.

Building

Requirements:

  • python (2.7.2 tested)
  • node (0.8.x tested)
  • make (GNU Make 3.81 tested, should come with xcode dev tools on mac)

Building is done using a Makefile which in turn uses npm and component for packages and jade and stylus for templating.

But to get started all you have to do it make sure python and node is installed and then:

$ make

While developing I'd recommend using watch so you don't have to keep running that command manually. The Makefile is set up to only run whenever something changes.

Testing

Requirements:

  • Go App Engine (brew install go-app-engine-64)

To get it up and running on a local machine the app engine dev server must be up and running. Start it with:

$ dev_appserver.py .

or use an nginx proxy to take care of the static files using:

$ make proxy # and follow the instructions...

Deploying

To deploy you must first be added to the app engine user list. Then it's simply a matter of using make:

$ make deploy-webrtcgame

Where the webrtcgame part depends on the app you want to deploy to. See the Makefile for available options.

Versioned deploys

Right now it will automatically increment the version number on each deploy. Simply because it will be easier to refer to a version while doing QA.

If you want to deploy to a specific version (like to version 1 which will be the default) you add v= like this:

$ make deploy-webrtcgame v=1

The version can be anything that can be a subdomain such as "hello-there-123". Which would be accessible at http://hello-there-123.webrtcgame.appspot.com/.

Query string shortcuts

Add these to the URL querystring to toggle some flags.

Network

  • buffer - should the rtc signal buffer candidates before sending them
  • signal - set to ws to use the WebSocket signal for rtc

Multiplayer

  • autonav - automatically press buttons to get to the game (use https:// to go all the way without accepting camera more than once)
  • render - set to sync to render the sync game in a 2d renderer window
  • ai - turns on the AI for the opponent (not very useful)
  • verify - stores hashes and the states for verification. set to a number (ms) to start an interval which sends them over the network. or use .-key to do it manually.

Singleplayer

  • play - go directly to a game against Bob

Game play

  • quality - webgl rendering quality. possible values are best, high, low, mobile
  • god - no player can die
  • momentum - set to off to turn off paddle momentum
  • round - set to a number to start at that particular round
  • extras - set to a comma separated list of extras to override the level extras.
  • framerate - set to a number to set the games framerate
  • speed - set to a number to set the games unit speed. which all speeds are based upon.
  • ns - the namespace of levels. can be either single, mobile or multi.
  • level - the level to play. can be any number but there's up to 11 scripted levels. after that it'll be randomized.

Localization

  • lang - set to a locale like en or sv to override the browser locale

Debug

  • dev - enables the settings gui
  • see - set to a path to start at (see lib/app.js for available paths)
  • mobile - force mobile
  • paused - start game in paused mode. step forward a frame using .-key.
  • silent - don't load in sounds
  • dmaf - turn on dmaf logs

cubeslam's People

cubeslam's Issues

Build is broken

What steps will reproduce the problem?
1. Run Make

What is the expected output? What do you see instead?
For it to build. Github resources seemed to have moved, in particular 
"component/mousetrap" and "component/jquery" v1.9.1

What version of the product are you using? On what operating system?
Latest version in repo. Ubuntu precise.

Please provide any additional information below.
I tried moving those two to "components/mousetrap" and "components/jquery" but 
then ran into issues where index.js was missing for both libs.

Original issue reported on code.google.com by [email protected] on 23 Jun 2014 at 10:24

Synchronization issue

What steps will reproduce the problem?
1. Play some games against yourself with one window in Incognito
2. At some point in time, the playing fields differ somehow

What is the expected output? What do you see instead?

For some reason, the playing fields are not synchronized properly. This causes 
some weird synchronization issues; both players will not see the same field, so 
the cube's animation is rendered differently and (I guess) the field in the 
first player's window wins this conflict.

What version of the product are you using? On what operating system?

Chrome 28.0.1500.37 beta-m
Windows 8 x64

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 13 Jun 2013 at 1:51

Attachments:

Glitches and Lagging

What steps will reproduce the problem?
1. When the cube is hit with the square side of the bar (the corner of the bar) 
the game crashes.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.

This happens in mozilla firefox and chrome but strangely, it works fine on IE 
11 (internet explorer)

Original issue reported on code.google.com by [email protected] on 23 Jan 2014 at 8:10

No Background Music in Firefox

What steps will reproduce the problem?
1. Visit https://cubeslam.com/

What is the expected output? What do you see instead?
Expected: With some background music
Actually: Silent

What version of the product are you using? On what operating system?
Firefox 21.0 and Ubuntu 13.04

Please provide any additional information below.
I understand that you want to demo latest tech in Chrome.
However, I hit http://code.google.com/p/chromium/issues/detail?id=249376 with 
Chrome.
And I expect that audio support is not something not doable in Firefox

Original issue reported on code.google.com by [email protected] on 15 Jun 2013 at 3:49

Game Freezes On Level 4

What steps will reproduce the problem?
1. Play up to level 4
2. Score a couple times or get scored on
3.

What is the expected output? What do you see instead?
Expected: To be able to continue the game
Instead: Game basically freezes. Can not move paddle, no ball comes, game does 
not continue.
What version of the product are you using? On what operating system?
The latest on cubeslam.com; Windows 7

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 19 Dec 2014 at 8:54

Cubeslam broken in 28.0.1500.45 beta on Linux

OS: Ubuntu 12.04 LTS
Chrome: 28.0.1500.45 beta

What steps will reproduce the problem?
1. Browse to www.cubeslam.com
2. Start a game with the bear

What is the expected output? 
Cubeslam intro, ability to play with friends and utilize the whole court.

What do you see instead?
Cubeslam intro is not played, cannot play with friends (no invite option and 
when trying to join via an invite you can only play with the bear) and the Bear 
Bob's paddle is too close, see screenshot.

If I do the same with Chrome M29 dev or M27 stable release it works fine.

I have not tested with the same version on Windows or Mac. I have however 
tested with the latest M29 dev and canary on Windows which works OK.

Original issue reported on code.google.com by [email protected] on 13 Jun 2013 at 9:19

Attachments:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.