Nerdquiz für zu Hause

Hallo und vielen Dank für die ausführliche Rückmeldung :slight_smile:
Ich habe schon länger nicht mehr weiterprogrammiert, werde aber in der Urlaubszeit hoffentlich wieder dazu kommen.

Bezüglich der Speicherfunktion:
Ich hatte schon länger vor, dass das Spiel gespeichert und geladen werden kann. Angefangen hatte ich schon und dann ganz schnell festgestellt dass das ein größeres Thema ist und ich das ganze hinten angestellt habe. Ich hatte eigentlich auch nicht erwartet dass jemand direkt mehrere Spiele hintereinander spielt, aber gut zu wissen :wink: Verschiedene Speicher/Ladeslots machen dann auch Sinn. Wahrscheinlich werde ich dann einfach „fragen_‚irgendwas‘.txt“ Dateien im Ordner suchen und diese dann laden lassen können.

Hochladefunktion Fragengenerator:
Da habe ich noch garnicht dran gedacht. Das macht durchaus Sinn und werde ich in Betracht ziehen, kann eigentlich nicht so viel Aufwand sein.

Testbuzzer-Knopf:
Interessant, denn dieses Feature war in der ersten Version implementiert. Habe ich dann aber rausgenommen weil ich es für überflüssig hielt. Kannst du das Problem mit den Namen nochmal genauer beschreiben? Ich habe nicht wirklich verstanden warum „irgendwas nicht mehr funktioniert hat“. Die Namen können ja auch nachträglich im Adminpanel geändert werden solange das Spiel noch nicht gestartet hat.

Nerdquiz Matzen:
Da habe ich noch nicht dran gedacht, ohne Zustimmung von den Bohnen werde ich auch nicht klauen, aber ich kann ja mal nachfragen. Allerdings habe ich auf die schnelle keine Idee wie ich das am Besten implementiere. Für mich war mein Quiz nie wirklich rundenbasiert. Wenn wir gespielt haben, habe ich einfach nach der Hälfte der Fragen die restlichen Punkte verdoppelt.

Timer:
Klar, das kann man machen. Wie gesagt war das für uns nie ein Thema, aber wenn das gewünscht ist, kein Problem.

Feedback bei Frage starten:
Okay, das ist eine gute Idee. Werde ich implementieren.

Point and click statt drag an drop:
Hmm okay, da muss ich mal gucken ob ich das noch ohne großen Aufwand nachträglich ändern kann. Ich persönlich fand dragdrop einfacher, ist vielleicht Gewöhnungssache. Problem ist jetzt dass das ganze Ding auf dragdrop ausgelegt wurde. Schaue ich mir mal an.

Danke für die ausführliche Rückmeldung. Freut mich immer wenn das Zeug auch verwendet wird :slight_smile:
Wie gesagt kann ich in der nächsten Zeit wahrscheinlich nicht viel Zeit investieren, aber das Projekt ist weiterhin in Arbeit und ich bin für jede Kritik dankbar.

Sehr gerne, denn das, was ich dort zusammengeklöppelt habe, ist das Beste was ich schaffe. Wenn du wirklich Interesse dran hast, schreib einfach ne Direktnachricht, dann können wir uns leichter austauschen.

Hi, ein super Programm was du da erstellt hast!

Eine Frage hätte ich jedoch: Ich benutze die Tastatur als Buzzer. Dort sind nun vier Tasten voreingestellt. Kann ich diese auch irgendwo verändern bzw. viel wichtiger erweitern? Ich würde gerne mit 6 Leuten spielen, jedoch kann nirgendwo weitere Tasten einstellen, sodass ich auf 4 Spieler beschränkt bin.

Wollte versuchen die Buzzer über Makey Makey ansteuern zu lassen und dafür müssen ja Tasten angewählt werden. Daher die benötigten mehr Tasten als nur 6 :slight_smile: .

Bzw. noch eine andere Sache: Ich kann auf die Smartbuzzer nicht von mobilen Geräten zugreifen. Ich gebe die Serveradresse ein, die ich auch am PC habe, aber er öffnet nichts. Was mache ich falsch?

Edit: Zumindest das hat sich erledigt. Lag an der Firewall.

Cool dass es dir gefällt :slight_smile:
Den Keyboard-Buzzer habe ich nicht wirklich vor zu erweitern. Der Smartbuzzer macht das alles viel einfacher, dachte nicht dass den KB-B überhaupt noch jemand benutzt :slight_smile: Ich habe gesehen dass es für nodejs ein makey-makey modul gibt. Du könntest versuchen nodejs mit makeymakey und socketio modul zu verwenden und einfach direkt die nachricht an den Server zu schicken. Senden müsstest du das dann so an den Server:

var socket = io.connect(serverip);
var data = {
				buzzerid: buzzerid,
				timestamp: '0',
			};
socket.emit('buzzerresponse',data);

Danke für deine Antwort :slight_smile:

Ja der Keyboard Buzzer ist auch nur deswegen so interessant, wegen der Idee es mit Makey Makey zu verbinden. Wobei das mittlerweile auch nicht mehr so eine Priorität hat, da ich es mit den Smartbuzzern ja jetzt hinbekommen habe :slight_smile: .

Von dem was du geschrieben hast versteht ich leider nur die Hälfte, kenne mich damit nicht so gut aus und habe das alles auch nur dank deiner Videoanleitung zum Laufen bekommen^^. Danke dir trotzdem!

Hey,
erstmal danke für die sehr gut verständliche Anleitung für das Nerdquiz.
Mir ist etwas bei dem Imagequestions aufgefallen, unzwar das er immer eine Weile rauszoomt bis er die volle Bildgröße erreicht hat und dann verschwindet das Bild auch sofort. Gibts eine möglichkeit das das Bild länger angezeigt wird oder sofort in voller Größe angezeigt wird? Weil bei einigen Bilderfragen die ich erstellt hatte war das sehr nervig da das Bild sofort weg war.

Danke

1 „Gefällt mir“

Hey, coole Geschichte!

Mein Beitrag dazu kommt spät, da ich mich grade erst hier angemeldet habe. Also ein „Hello“ an alle!
Ich bastle grade für eigene Livestreams an einer Quizengine die technisch einen sehr ähnlichen Ansatz hat. Dabei handelt es sich um eine Umsetzung des Klassikers SuperGrips aus den 80er/90ern.

Sämtliche Oberflächen kommunizieren per JS auf Websockets, meine Buzzer rennen nicht auf PIs sondern esp8266, tun im Ansatz aber genau das selbe. Da node für mich als uralter Developer noch ein Buch mit sieben Siegeln ist, rennt auf dem Server PHP. Alte Leute halt :slight_smile:

Die hier angestoßene Diskussion ist auch ein halbes Jahr später noch sehr interessant und du hast mich dazu inspiriert, das Spiel endlich mal fertig zu stellen und auch ein kleines Video dazu zu basteln. Ich wollte deswegen einfach mal Danke sagen und bisschen RESTEPC zollen. Großartiges Projekt!

Grüße, PixelDemon

1 „Gefällt mir“

Hey Leute !

Undzwar wollen ich und ein paar Kumpels demnächst auch mal ein „Nerdquiz“ mithilfe dieses Projektes spielen :slight_smile:
Ist es vielleich möglich von jemanden der bereits einige Runden gespielt hat seinen Fragen und Antwort Katalog zu bekommen ?

Wir sind leider nur zu dritt bisher und wenn einer die Fragen erstellt ist das ganze nur begrentzt unterhaltsam.

Gibt es auch eine Möglichkeit das ganze ohne Wlan, besipielsweise über Bluetooth zu verwenden?

Soweit ich weiß nicht, aber ich habe einmal einfach am Laptop nen Wlan Hotspot aufgemacht und mit dem dann die Buzzer-Smartphones verbunden. Das funktioniert…

Hallo zusammen.
Ich möchte mich einmal sehr herzlich für dieses Projekt bedanken. Ich werde es demnächst für eine Quiz Olympiade verwenden und stecke bereits mitten in den Vorbereitungen.

Gibt es einen technischen Hintergrund, warum das Ganze nur im WLAN funktioniert? Die URL / Adresse und Port habe ich freigegeben, allerdings kommt man nur auf die SmartBuzzer Seite. Namen zum auswählen werden nicht angezeigt. Somit endet hier die Reise…
Verbindet man sich mit dem WLAN, werden die User direkt angezeigt.

Noch mal vielen Dank für das unglaublich tolle Tool!
VG
pathAuf

Hätte nicht gedacht dass nach drei Jahren noch Interesse an dem Projekt besteht :slight_smile:
Bist du sicher dass du die richtige IP ausgewählt hast? Beim Start des Servers kannst du ja die gewünschte IP auswählen, dort sollte dann deine LAN IP ebenfalls angezeigt werden. Ob WLAN oder nicht, ist vollkommen egal, es geht nur darum welche IP verwendet wird.

Tut es. :slight_smile: Wollte das zufälligerweise die Tage auch mal ausprobieren, allerdings für eine Runde übers Internet. So wie ich das verstanden habe, sollte das auch gehen, oder?

Theoretisch ja, in der Praxis ist das aber nicht so einfach. Da

A) Ich das Programm nicht darauf ausgelegt habe und
B) nur wenige Router erlauben, dass du dich selbst auf deine eigene IP verbindest.

Wenn du von deinem Anbieter die WAN-IP 5.5.5.5 zugewiesen bekommst, lassen viele Router es nicht zu, dass du dich selbst auf diese IP (zum Beispiel über HTTP) verbindest, da du ja schon von dieser IP kommst. Kommt immer ein bisschen auf den Router an, mit einer FritzBox sollte es funktionieren.

Du kannst versuchen das Quiz zu starten, dann die ip.js Datei zu öffnen und die IP auf deine WAN-IP zu ändern. Wenn du dann den Port frei gibst, sollte es funktionieren wenn dein Router es erlaubt. Aber ohne Gewähr :slight_smile:

Edit: Oder einfach VPN wie beispielsweise Hamachi verwenden.

Na sicher besteht noch Interesse! Is ja sau geil das Teil :slight_smile:

Die URL ist die richtige. LAN/WLAN funktioniert wunderbar!
Allerdings nicht über das Inet.

  • Um übers Inet drauf zugreifen zu können, habe ich ne Portweiterleitung auf den Rechner mit dem Server eingerichtet
  • Dazu auch gleich ne dyndns Adresse, damit das Tool unterhalb des Ports immer erreichbar ist.

Die Verbindung zum Server klappt von außen wunderbar! Problem ist allerdings, dass man bei Aufruf von zb. tollestool.dyndns.org:1111. immer automatisch auf die Seite zur Spielerauswahl geleitet wird (smartbuzzer) und keinen Spieler aus der Liste auswählen kann. Die Liste ist im WLAN/LAN funktionsfähig, übers Inet ist diese schlicht leer. :slight_smile:

Entweder hab ich n Brett vorm Kopf, oder es ist schlicht nicht darauf ausgelegt. Warum auch immer :frowning:
Webserver habe ich schon einige im Netz. Daher fällt mir gerade kein Grund ein, warum das hier nicht funktioniert

Hast du wirklich versucht von einem anderen PC auf deinen PC zuzugreifen oder hast du versucht von deinem Smartphone auf deinen PC zuzugreifen? Wenn man von einem Mobilgerät auf die Webseite zugreift, wird man immer auf den Smartbuzzer umgeleitet, egal ob lokal oder über das Internet.

Von einem normalen PC müsste es funktionieren, vorrausgesetzt du hast:

  1. Den Server gestartet
  2. Anschließend die ip.js bearbeitet (deine DynDNS Adresse eingetragen)
  3. Dann die Website auf dem Admin-PC aktualisiert (einfach im Browser F5 drücken)
  4. Auf dem Admin-PC die Spieler festgelegt und das Spielbrett erstellt
  5. Die restlichen Geräte (wie Mobiltelefon, etc.) verbunden

Falls das nicht klappt, lass es mich wissen. Dann stelle ich das bei mir nach und checke das.

Edit:
Habs gerade bei mir selbst getestet und mich jetzt auch wieder erinnert warum es nur im LAN funktioniert. Das Problem ist, dass die fragen.txt-Datei nur im lokalen Netz geladen werden kann. Die Webserver (auch das verwendete nodejs Modul) lassen es nicht ohne weiteres zu, dass Dateien von einem anderen Server geladen werden. Wenn du jetzt deine DynDNS-Adresse verwendest, denkt der Browser dass er die Textdatei von einem externen Server laden soll, blockt die Anfrage aber aus Sicherheitsgründen.

Ohne größere Anpassungen wird das Quiz also nicht übers Internet funktionieren. Alternative ist da wirklich nur ein VPN zu verwenden.

Würde die ganze Sache komplett auf einem rpi laufen, oder brauche ich auf jeden Fall einen Windows PC als Server/Moderator?

Da es mit nodejs läuft, sollte es auch ohne Probleme auf dem Pi laufen.

Da sich meine Tochter für ihre Geburtstagsparty das Motto QuizShow ausgesucht hat, bin ich auf der Suche nach einer einfachen Lösung bei deinem Projekt gelandet. In deinem ersten Video, wird über dem Timer noch die Frage mit eingeblendet. Bei meinen ersten Testläufen hab ich es jedoch nicht geschafft, die Frage am Spielerboard mit anzeigen zu lassen. Im zweiten Video von dir, sind die Fragen im ablaufenden Timer auch nicht mehr zu sehen. Gibt es die Möglichkeit noch, oder kann ich das mit wenig Aufwand anpassen? Desweiteren würde ich für die Kinder die Ratezeit gerne verlängern. Kannst du mir sagen in welcher Datei ich dazu, welchen Wert anpassen muß?
Vielen Dank

Ist beides relativ einfach zu lösen. Die Frage habe ich ausgeblendet, nachdem sich beim ersten Quiz meine Kandidaten beschwert haben, dass schon jemand gebuzzert hatte, obwohl sie die Frage noch nicht fertig gelesen hatten. Daher habe ich die Frage als Text entfernt, somit müssen die Kandidaten einfach besser zuhören :slight_smile:

Um die Frage wärend dem Timer einzublenden öffnest du die Datei public\index.html und änderst Zeile 118 von:
id=„pietimerfrageDEAKTIVIERT“
In:
id=„pietimerfrage“

Um die Länge des Timers anzupassen kannst du die Sekundenzahl in Datei public\func.js in Zeile 102 anpassen. Zum Beispiel von:
seconds: 20,
in
seconds: 30,
um den Timer auf 30 Sekunden anzupassen. Das Komma am Ende der Zeile nicht vergessen.

1 „Gefällt mir“