andygrunwald / things-with-buzzers-websocket

A WebSocket server to publish messages when someone pushed a hardware game show buzzer 🚀
Apache License 2.0
8 stars 1 forks source link

A non-tech expert way to run this game? #11

Open jurislancaster opened 3 years ago

jurislancaster commented 3 years ago

Hello!

Is there a non-tech expert way to explain how to run this game? I'm new to this stuff, and this app would be useful for playing jeopardy with some close friends!

I downloaded the node.js program, but I'm unsure what to do next.

Can someone help?

Sincerely,

Juris

andygrunwald commented 3 years ago

Hey @jurislancaster, thanks for your interest in this project.

Up to now, there is not a non-tech tutorial on how to set it up and get it running. The main reason is the time to create a such guide.

A challenge would be to know at which level to start/which level we assume the reader is having. Here, you can help. Can you elaborate a bit more on what you understand when you say "non-tech"?

Another question: When you say "run this game", are you talking about jeopardy?

And do you create/plan to rebuild the buzzers as well?

jurislancaster commented 3 years ago

Hey Andy!

Thanks for the reply!

So, I’m a true beginner. I’ve fiddled with code, sometimes just to see what would change. Such codes I’ve only ever looked at is C# or HTML.

I’ve been looking over the entire internet for a program like this that you’ve created. From my limited understanding, I would need to create a local server, I have no “clue” how to do that. (Jeopardy pun intended). I don’t understand how to install these “dependencies”. ... Like I said, the farthest I’ve gotten with your readme, was downloading and installing node.js

Right now, I’m in the middle of a project to create physical Jeopardy signaling devices, that I would love to use with your program. I was planning to hook up my Jeopardy buttons with a USB joystick board from Amazon. — I have a program that will let me turn the player presses into keystrokes.

I’d like to imitate the show as close as possible. But, I can’t have a show, if I can’t operate the software, because I don’t have the knowledge to even open the software.

If you can help, that would be great. I understand that you might have time restrictions. Thank you in advance!

Juris

andygrunwald commented 3 years ago

hey @jurislancaster,

sorry for the late reply. A lot of things to do here on my side.

I do not have time to write a detailed guide, but maybe this will help you a bit: A description on how I did it.

I had a Raspberry pi with a standard Raspbian installation. This was my server. On the Raspberry I download + start the things-with-buzzers-websocket program. You can download pre-compiled executables at releases. For a Raspberry, this would be twb-websocket_Linux_armv6.tar.gz or twb-websocket_Linux_arm64.tar.gz.

Side note: Please take in mind that this websocket-server works with my custom Raspberry Pi hat (see on how to build the hat or the buzzers.

What does the websocket-tool do? This is simple: The buzzers are connected via USB cable (+on the GPIO) via the Raspberry Pi. The websocket-tool listens on the GPIO-inputs and wait for signals (e.g., when someone hit a buzzer). Next to it, the tool opens a websocket. A websocket is a "stream" of data where applications (e.g. Websites or Jeopardy Frontends) can subscribe to. Every time a signal comes in via the GPIO, it will be published via the websocket. And every listener can react accordingly.

About Jeopardy: On the Raspberry Pi, the buzzers are connected and the websocket tool is running. Now download the Jeopardy! Game and start it.

  1. Install nodejs
  2. Go into the directory and type make install
  3. Go into the directory and type make run

This starts the Jeopardy game and provides a webserver. Now you can connect with a laptop (in the same network as the Raspberry Pi), connect the laptop to a projector and start playing.

Does this help you a bit?

jurislancaster commented 3 years ago

hey @jurislancaster,

sorry for the late reply. A lot of things to do here on my side.

I do not have time to write a detailed guide, but maybe this will help you a bit: A description on how I did it.

I had a Raspberry pi with a standard Raspbian installation. This was my server. On the Raspberry I download + start the things-with-buzzers-websocket program. You can download pre-compiled executables at releases. For a Raspberry, this would be twb-websocket_Linux_armv6.tar.gz or twb-websocket_Linux_arm64.tar.gz.

Side note: Please take in mind that this websocket-server works with my custom Raspberry Pi hat (see on how to build the hat or the buzzers.

What does the websocket-tool do? This is simple: The buzzers are connected via USB cable (+on the GPIO) via the Raspberry Pi. The websocket-tool listens on the GPIO-inputs and wait for signals (e.g., when someone hit a buzzer). Next to it, the tool opens a websocket. A websocket is a "stream" of data where applications (e.g. Websites or Jeopardy Frontends) can subscribe to. Every time a signal comes in via the GPIO, it will be published via the websocket. And every listener can react accordingly.

About Jeopardy: On the Raspberry Pi, the buzzers are connected and the websocket tool is running. Now download the Jeopardy! Game and start it.

  1. Install nodejs
  2. Go into the directory and type make install
  3. Go into the directory and type make run

This starts the Jeopardy game and provides a webserver. Now you can connect with a laptop (in the same network as the Raspberry Pi), connect the laptop to a projector and start playing.

Does this help you a bit?

Hey Andy!

That does help. I didn’t realize I needed a Raspberry Pi. Makes sense now.

Thank you for your understanding. I was attempting to use a joystick to usb for my buzzer buttons. Essentially keyboard presses, but that would only work for this program if it recognized the key press.

My skill is not to raspberry pi level yet, but I appreciate this explanation. I’ll have a better chance of at least getting the program to run, even if I cannot let players signal-in yet.

Thank you again,

Trae

andygrunwald commented 3 years ago

but that would only work for this program if it recognized the keypress.

If you manage to modify the websocket-tool to recognize this, it should work. Even on your local computer/laptop. The thing is, to play Jeopardy, you need to have multiple of those input devices (like joysticks). One for each team. The raspberry pi here only acts as server, because the buttons are connected to it. If you want to use your local pc / laptop, you can also do this. No need for a raspberry pi then.