Code Monkey home page Code Monkey logo

node-redescape-escaperoomsupplier's Introduction

node-redescape-EscapeRoomSupplier

Introduction

This project aims to create several templates to use in node-red to control Escape Room Supplier devices.

Architecture

This is a "recipe based" approach, where each "recipe" will be a json file that contains a node-red definition for a flow that can be used in a stand-alone way. There will be some dependencies on previous flows but that will only be to the flows that are part of the "core" architecture and we will try to keep them to a minimum. This "base" flows will take care of handling common operations and ensure that all recipes follow the same patterns & practices.

Objectives

  • Create a browser-based dashboard for gamesmasters that shows the status of all puzzles in the room, providing options to remotely solve or reset them
  • Integrate UPC (Universal Puzzle Controller) Boards to the dashboard enabling the solve/reset functionality
  • Use the APIs of the UPC (Universal Puzzle Controller) boards to see and modify the state of the sensors / puzzles.
  • Start/stop a game timer, make manual adjustments, and display time remaining on an in-room display for players that can be styled to match the theme of your room
  • Display pre-defined or custom hints on various devices - a monitor, LCD display, printer etc.
  • Provide the ability to emulate an UPC, enabling the modeling of an Escape Room with that devices in mind
  • Provide more "creative" and increase the density of puzzles that we can create for each UPC
  • Enable recording of telemetry data to analyze escape room behavior
  • Provide Escape Room state persistence in a database (SQL)

Screenshots

Dashboard

"Example GM Dashboard"

Features

  • Free and open source - Completely free to download and use.

To Get Started

Install node-red and basic Palette

To install node-red and basic palette we have this Tutorial

Install Core Flows

To install Core Flows follow this Tutorial

Flow documentation

Documentation is at Flows

To use a Flow download the json file from the site and import it on your own Node-RED instance.

UPC Emulation

All the samples are based on the API exposed by UPC devices v2 as documented at UPC API v2.0

We implemented two versions of the emulator:

node-redescape-escaperoomsupplier's People

Contributors

ralsogaray avatar gabrielcor avatar

Watchers

 avatar

node-redescape-escaperoomsupplier's Issues

Enable filters for MQTT log

The log feature logs every MQTT message, it'd be interesting to have a way to filter which ones we want to.

Save all game state and recover it

If node-red crashes, all UPC puzzle state is lost.
We can interrogate all UPCs again on the restart, but there are things that pertain to the game (like elapsed time, etc.) that are important to persist and have the ability to recall.

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.