Frequently Asked Questions (FAQ)
- What is nodeGame?
conducting multiplayer games and synchronous behavioral
experiments online and in the lab directly in the browser
- 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
- What is it good at?
It is specifically designed to support group behavior
experimental research with:
However, you can as well run discrete-time, single-player,
lab-in-the-field, and lab experiments.
- large group sizes (hundreds of players)
- real-time (but also discrete time) interactions,
- batches of simultaneous experiments.
- Is it free?
Yes, it is!
- Is it open source?
Yes, it is! Check the complete source code
- 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
- What is the learning curve?
For a developer familiar with other languages, but with little
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
You need low/medium knowledge of the
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
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
The following resources are provided by the framework:
The following resources must be coded by the developer:
- Waiting rooms
- Internal database
- Synchronization rules
- 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,
- Authorization rules
- Requirements rules
- Game levels
The following might be coded by the developer:
- A custom game interface (HTML or templates)
- The game sequence
- The interaction among players
- What actions to take when a disconnected player
- Is it compatible with Amazon Mechanical Turk?
Yes, nodeGame has integration with Amazon Mechanical Turk,
- How do I get technical help?
You can write directly
or post your question to
the forum. You should get an answer within