Eure Ideen sind gefragt! 🎱
Ich möchte die Homepage gerne weiter verbessern und bin deshalb auf eure Ideen und Vorschläge gespannt.
Was fehlt euch? Was könnte besser funktionieren oder übersichtlicher sein?
Ihr könnt zum Beispiel Vorschläge zu folgenden Themen machen:
- Bedienung
- Spielerprofile
- Ergebnisse und Statistiken
- neue Funktionen
- weitere Inhalte
Schreibt eure Vorschläge einfach als Kommentar unter diesen Beitrag.
Am besten beschreibt ihr kurz:
Was soll geändert werden?
Warum wäre die Änderung sinnvoll?
Wie könnte sie eurer Meinung nach aussehen?
Vielen Dank für eure Unterstützung! 🎱
24 Kommentare
Daily und Weekly challenges hinzufügen
Daily und Weekly Challenges wurden hinzugefügt
Fehlermeldung hinzufügen, falls der Login fehlgeschlagen ist
Fehlermeldung wurde hinzugefügt.
Projektkonzept: Dynamische Billard-Skizzen für Übungen Ziel
Das bestehende WordPress-Plugin für Billardübungen soll um eine dynamisch erzeugte, vektorbasierte Darstellung von Billardsituationen erweitert werden.
Die Skizzen sollen einheitlich aussehen, auf allen Geräten scharf bleiben und die Positionen der Kugeln präzise und reproduzierbar anhand von Koordinaten darstellen.
Die bestehende Übungsverwaltung und Datenstruktur des WordPress-Plugins bleiben grundsätzlich erhalten. Es wird kein separates Übungs- oder Szenario-System aufgebaut.
Grundprinzip
Die Darstellung wird aus drei Komponenten zusammengesetzt:
Billardtisch als statisches SVG
Einmalig erstellte SVG-Vorlage. Enthält Tischfläche, Banden und sechs Taschen. Wird für alle Übungen identisch verwendet. Dient als unveränderlicher grafischer Hintergrund.
Kugeln als standardisierte SVG-Elemente
Kugeln werden ebenfalls vektorbasiert dargestellt. Einheitliche Größe und Darstellung. Farbe, Nummer bzw. Typ können über Parameter bestimmt werden. Die Kugeln werden nicht als individuelle Bilddateien gespeichert.
Übungsspezifische Koordinaten
Jede Übung speichert ausschließlich die benötigten Daten der Kugelpositionen. Die Position wird über ein definiertes Koordinatensystem des Tisches angegeben. Beim Aufruf der Übung erzeugt das Plugin daraus die vollständige SVG-Darstellung.
Vereinfacht:
Übungsdaten ↓ Kugelkoordinaten + Kugeltypen ↓ SVG-Renderer ↓ Tisch-SVG + Kugel-SVGs ↓ fertige Billard-Skizze im Browser Koordinatensystem
Für die Positionierung wird ein normiertes Koordinatensystem verwendet, unabhängig von der tatsächlichen Pixelgröße der Darstellung.
Beispielsweise:
Tischfläche: 100 × 50 Einheiten (0,0) ───────────────────── (100,0) │ │ │ │ │ Spielfläche │ │ │ │ │ (0,50) ──────────────────── (100,50)
Eine Kugel kann beispielsweise mit
x = 72 y = 38
gespeichert werden.
Das SVG verwendet entsprechend ein viewBox=“0 0 100 50″. Dadurch bleiben die Positionen unabhängig von der späteren Darstellungsgröße exakt.
Die tatsächlichen Abmessungen und das Seitenverhältnis des verwendeten Billardtisches werden einmalig in der Tischvorlage definiert.
Datenhaltung
Die bestehenden Übungsdaten des Plugins bleiben erhalten.
Für die grafische Darstellung werden lediglich zusätzliche Daten an der jeweiligen Übung hinterlegt, beispielsweise:
diagram_enabled = true balls = [ { type: „cue“, x: 72, y: 38 }, { type: „target“, x: 31, y: 24 }, { type: „ball“, number: 3, x: 45, y: 18 } ]
Die genaue Speicherung kann als WordPress-Post-Meta, bestehendes Übungsfeld oder strukturierte JSON-Daten erfolgen. Es soll keine zusätzliche Datenbankstruktur eingeführt werden, sofern sie nicht notwendig ist.
Die Daten enthalten nur die Informationen, die sich zwischen Übungen unterscheiden.
SVG-Erzeugung
Das SVG wird bei der Ausgabe der Übung dynamisch erzeugt.
Es wird keine gerenderte PNG/JPG-Datei erzeugt und grundsätzlich auch keine individuelle SVG-Datei pro Übung gespeichert.
Der Renderer:
lädt die statische Tischvorlage, liest die Kugeldaten der aktuellen Übung, erzeugt die entsprechenden Kugel-Elemente, setzt diese anhand der gespeicherten Koordinaten, gibt das fertige SVG an den Browser aus.
Damit ist jede Darstellung jederzeit reproduzierbar.
Wiederverwendung von Tisch und Kugeln
Der Tisch und die Kugeldarstellungen werden als zentrale grafische Komponenten behandelt.
Ändert sich beispielsweise später das Design des Tisches, wird nur die zentrale Tischvorlage geändert. Alle Übungen verwenden automatisch die neue Darstellung.
Ebenso können Kugeln zentral definiert werden:
Weiße Kugel Gelbe Kugel Rote Kugel Blaue Kugel Nummerierte Kugeln …
Eine Änderung an Größe, Rand, Schattierung oder Darstellung einer Kugel wirkt sich damit automatisch auf alle Übungen aus.
Ausgabe im bestehenden Plugin
Die bestehende Übungsausgabe wird um die Billard-Skizze ergänzt.
Idealerweise stellt das bestehende Plugin eine Funktion wie
render_billiard_diagram($exercise)
bereit.
Diese Funktion liefert das vollständige SVG zurück und kann an der gewünschten Stelle der bestehenden Übungsansicht ausgegeben werden.
Die Integration soll möglichst gekapselt erfolgen, sodass die vorhandene Übungslogik weitgehend unangetastet bleibt.
Perspektive: Editor
Ein späterer Schritt kann ein einfacher grafischer Editor im WordPress-Backend sein.
Dabei wird die zentrale Tischvorlage angezeigt und Kugeln können per Drag & Drop positioniert werden.
Der Editor übersetzt die Bildschirmposition automatisch in die normierten Koordinaten und speichert nur diese Daten.
Beispiel:
Kugel verschieben ↓ x = 72.35 y = 38.10 ↓ Datenbank
Die eigentliche SVG-Ausgabe bleibt unverändert.
Damit können neue Übungen sehr schnell erstellt werden, ohne manuell SVG-Code bearbeiten zu müssen.
Grundsätze SVG statt Rastergrafik Koordinaten statt gespeicherter Kugelbilder Ein zentraler Tisch für alle Übungen Einheitliche zentrale Kugeldarstellungen Dynamisches Rendering beim Aufruf Bestehendes Übungs-Plugin bleibt führendes System Keine unnötige zusätzliche Datenbankstruktur Normiertes Koordinatensystem für reproduzierbare Positionen Editor kann später ergänzt werden, ohne das Datenmodell grundsätzlich zu ändern
Das System soll zunächst bewusst einfach bleiben, aber so aufgebaut sein, dass später ein komfortabler visueller Editor und weitere grafische Elemente (z. B. Stoßlinien, Markierungen oder Laufwege) ergänzt werden können.
Erste Implementierung fertig.
Weiterer Ausbau:
1. Zoom-Bereich festlegen, da Übungen in der Gesamtansicht teilweise zu klein dargestellt werden
2. den Anwender im Editor besser unterstützen.
– Spielfläche einblenden
– Objektkoordinaten
– die zwei Verschiebebuttons räumlich zusammenbringen
Weitere Formen der Übungen ergänzen:
– möglichst wenig Stöße
– möglichst schnell
wichtig ist zu berücksichtigen, dass sich die Logik ändert.
Nicht so viele Punkte wie möglich, sondern umgekehr „less is better“.
Termine in der Gruppenverwaltung einführen.
Der Gruppenleiter erstellt einen (Regel-)Termin für die Gruppe. Z.B. für einen Trainingstag oder einen Spieltag der Mannschaft.
Relevante Termine könnten bei den Spielern in der Übersicht angezeigt werden.
Mach dir Gedanken darüber, was passiert, wenn ein Spieler entfernt werden muss.
Was passiert mit alten Ergebnissen? Herausforderungen Rangliste, gegebenenfalls seiner Gruppenleiter Position
Eine User Profile Seite hinzufügen, die folgendes anzeigt:
– Nickname
– Voller Name
– Rang
– Beitrittsdatum
– Passwort ändern
Weitere mögliche Anzeigefelder könnten sein:
Verein
Tournament App ID / Profil
Frei, Felder für weitere Referenzen
Fargo Rate
Bild?
Umgesetzt.
Fargo Rate und Bild zunächst nicht implementiert.
Funktion zum Export von Daten hinzufügen. Besonders von Übungen
Ansicht der Trainingspläne der Ansicht der Übungen anpassen
Füge eine Statistik pro Spieler ein, die es ihm ermöglicht Spiele mit anderen Spielern (auch außerhalb des Plugins ) zu speichern.
Dabei sollte ein Link auf das Spielerprofil angegeben werden können.
Beachte die besondere Sensibilität dieser Daten!
Implementiert
E-Mail Benachrichtigungen einführen für:
1. Passwort Änderung
2. Termin in der Gruppe
3. Herausforderung
Füge eine Funktion ein, mit der ich andere Spieler, die auf dieser Seite registriert sind, zum Billard spielen einladen kann. Datum, Uhrzeit und Ort sollten angegeben werden können und eine Outlook Einladung soll verschickt werden können.
Cool wäre dabei auch wenn man verschiedene Orte bereits im Vorfeld hinterlegt hat, so dass man nicht jedes Mal neu eintippen muss
Erweiterung der Idee.
Man könnte im Umkreis suchen bzw. über Gesuche informiert werden.
Für die Gesuche wäre eine Zeitspanne sinnvoll.
Man gibt ein, dass man für Freitag 17-22 Uhr einen Mitspieler sucht. Spieler in der Nähe bekommen eine Info über das Gesuch und man kann sich verabreden.
Live Match sollte anzeigen, wer am Break ist.
Heißt: Wechselbreak und Winnerbreak müssen auswählbar sein.
Auch, wer den Anstoß gewonnen hat
Im Nutzer Table Editor eine Vorschlagsfunktion implementieren, mit der Nutzer ihren Tisch als neue Übung vorschlagen können
Eine Turnierfunktion einfügen.
– Gruppenphase / KO-System
– Doppel-KO
Famous – Tables
Ähnlich wie Übungen, bekommt der Spieler einen Tisch mit Kugeln präsentiert.
Die Idee ist, dass es sich nicht um irgendwelche Übungssetups handelt, sondern um reale Tische.
Aufbau direkt nach dem Anstoß.
Der Tisch stammt von einem berühmten Spieler.
Der Tisch wurde von diesem Spieler ausgeschossen.
Es lässt sich eine Hilfe anzeigen, wo der Ball im Original zu liegen gekommen ist.