Coder Social home page Coder Social logo

nodegame / nodegame-client Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 1.0 12.08 MB

nodeGame client for the browser and node.js

License: MIT License

Makefile 0.01% JavaScript 99.99%
behavioral browser client experiment game games nodegame real-time science synchronous

nodegame-client'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-client's People

Contributors

jdoerrie avatar philippkueng avatar shakty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

shakty

nodegame-client's Issues

Matcher.replaceId

At the moment there is no easy way of replacing the ID of a disconnected client with that of, for example, a newly connected bot. It should be easy to replace it.

Introduce a global error handler

All functions included in gameloop should be put inside a try and catch block with some specific options about how to recover from the error.

Server-Client synchronization

If there is a time delay between node.connect and node.play on a client, the server can try to start the game, while the game is not actually ready to be started, at least in all the clients.

The clients that are ready will step, and the late ones will treat the step message as an invalid game state.

Maybe STATE messages should be cached if no game is found.

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.