Coder Social home page Coder Social logo

nodegame / nodegame-server Goto Github PK

View Code? Open in Web Editor NEW
17.0 6.0 7.0 15.77 MB

nodeGame server for the browser and node.js

Home Page: http://nodegame.org

License: MIT License

Makefile 0.01% JavaScript 97.58% HTML 0.04% CSS 1.40% SCSS 0.68% Pug 0.29%
nodegame javascript server connections rooms gameserver game behavioral experiment

nodegame-server's Introduction

nodeGame

Fast, scalable JavaScript for large-scale, online, multiplayer, real-time games and experiments.


The Good parts

  • Open source and open standard (HTML5)
  • Modular framework (server / client / window / widgets / games)
  • Low / medium level of programming required
  • Powerful API
  • Integrated NDDB Javascript database
  • Server can run multiple games at the same time
  • Powerful and customizible waiting rooms
  • Monitor interface
  • Works on mobile devices and tablets
  • Bots (for playing) and Phantoms (for testing)
  • Installation is required only for the server, clients just need their browser windows
  • Integrates smoothly with other libraries (e.g. jQuery, D3.js, etc.) and web services, such as Amazon Mechanical Turk

Quick Start

nodeGame comes with a default game taken from the academic literature of game theory. It is called the Ultimatum game. To play it follows the steps:

  1. Download the latest version of node.js for your platform
  2. Download the latest version of git for your platform
  3. Download installer, and install nodegame: node nodegame-installer
  4. Enter installation directory.
  5. Start the server with the command: node launcher.js
  6. Open one tab pointing to localhost:8080
  7. Select Ultimatum game
  8. Open more tabs, or start a bot through the waiting room interface
  9. Check the monitor interface at localhost:8080/ultimatum/monitor

Documentation

Complete documentation is available in the nodeGame wiki.

License

MIT

nodegame-server's People

Contributors

dfmorrison avatar jdoerrie avatar marccote avatar philippkueng avatar shakty avatar themichaelyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nodegame-server's Issues

game.settings variables can only be referenced by an active treatment in views

Values and variables defined in game.settings.js can only be referenced by an active treatment (in the views):

var newVariable = settings.treatmentName.variable;

Since it is sometimes necessary to deactivate certain treatments, it would be preferable if it were possible to reference them directly without being tied to a specific treatment.

Easy way to parse query string parameter by game or game room

At the moment, you can do it only with auth enabled or by directly accessing channel.playerServer.clientObjDecorator

There is no clear way of setting the treatment via queryString parameter, or overwriting a setting. This could be automatized.

PhantomJS Bot crashes the server

When I click on Start Bot in the monitor interface the server crashes with the following error:

error: ServerNode caught an exception: Error: spawn ENOENT

/var/www/ngtest/node_modules/nodegame-server/lib/ServerNode.js:236
throw err;
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)

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.