Frequently Asked Questions (FAQ)
- What is nodeGame?
-
NodeGame is a open source JavaScript/HTML5 framework for
conducting multiplayer games and synchronous behavioral
experiments online and in the lab directly in the browser
window.
- Why is it called nodeGame?
-
The name comes from the Node.JS technology in which it is
implemented, which is particularly suited for real-time
interactive games.
- What is it good at?
-
It is specifically designed to support group behavior
experimental research with:
- large group sizes (hundreds of players)
- real-time (but also discrete time) interactions,
- batches of simultaneous experiments.
However, you can as well run discrete-time, single-player,
lab-in-the-field, and lab experiments.
- Is it free?
-
Yes, it is!
- Is it open source?
-
Yes, it is! Check the complete source code
on Github.
- How does it work?
-
nodeGame defines an API (Application Programming
Interface) through which experimenters can program new
strategic environments and configure the platform.
Most of the complexity is hidden away by the API, but
programming knowledge of JavaScript is required.
- What is the learning curve?
For a developer familiar with other languages, but with little
knowledge of JavaScript, it might take 2-3 days to understand
the framework. Once a developer is familiar with the
framework, it usually takes a couple of days to come up with a
testable prototype of a simple game/experiment.
- What languages do I need to know to create games in
nodeGame?
You need low/medium knowledge of the
JavaScript language, and you need to
understand how to create HTML pages.
Knowing Node.JS specific syntax will help you to
extend the platform or to create more complex games, but it is
not a requirement.
To create rich user interfaces, frameworks such as
jQuery
or Bootstrap can help.
Finally, if you want to dynamically build the HTML you might
look into the Pug templating language.
- How much do I need to code for running a game/experiment?
NodeGame is a programming framework, so programming is required. A
command line utility is provided to
generate a game template that can be modified and adapted to
your needs.
The following resources are provided by the framework:
- Waiting rooms
- Internal database
- Synchronization rules
- Timers
- Pausing / Resuming game
- Page customization (e.g. disable right click, prompt on leave
messages, waiting screens, etc.)
- Widgets (visualize timers, rounds number, language selector,
debug information, chat, etc.)
- Several event handlers (on disconnect, on entering a new step,
etc.)
- Authorization rules
- Requirements rules
- Game levels
The following resources must be coded by the developer:
- A custom game interface (HTML or templates)
- The game sequence
- The interaction among players
The following might be coded by the developer:
- What actions to take when a disconnected player
disconnects/reconnects
- Is it compatible with Amazon Mechanical Turk?
-
Yes, nodeGame has integration with Amazon Mechanical Turk,
see
the documentation.
- How do I get technical help?
-
You can write directly
to help@nodegame.org
or post your question to
the forum. You should get an answer within
24 hours.