Plattformen: Unterschied zwischen den Versionen
Weitere Optionen
FeGmbH (Diskussion | Beiträge) Die Seite wurde neu angelegt: „Das '''Erstellen von Plattformen''' ist das Kern-Feature im ''Social Media Simulator''. Spieler können hier eigene soziale Netzwerke gründen, konfigurieren, Upgrades erwerben und auf Marktereignisse reagieren. Das System basiert auf einer direkten REST-API-Kopplung zwischen dem PHP-Frontend (Plattform) und dem Spring Boot-Backend. __TOC__ == Spiel-Konfiguration (Registrierung) == Bevor die Simulation startet, muss das Unternehmen initialisiert werden…“ |
FeGmbH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
== Spiel-Konfiguration (Registrierung) == | == Spiel-Konfiguration (Registrierung) == | ||
Bevor die Simulation startet, muss das Unternehmen initialisiert werden. Wenn noch kein aktiver Spielstand geladen ist (< | Bevor die Simulation startet, muss das Unternehmen initialisiert werden. Wenn noch kein aktiver Spielstand geladen ist (<code>$start = false</code>), wird dem Spieler das Konfigurationsformular angezeigt. Über dieses Formular werden die Startbedingungen festgelegt: | ||
* '''Firmenname:''' Der eindeutige Name des sozialen Netzwerks (Pflichtfeld). | * '''Firmenname:''' Der eindeutige Name des sozialen Netzwerks (Pflichtfeld). | ||
| Zeile 15: | Zeile 15: | ||
** ''Start-Forschungspunkte:'' Verfügbares Wissen für Upgrades (Standard: 0). | ** ''Start-Forschungspunkte:'' Verfügbares Wissen für Upgrades (Standard: 0). | ||
Nach dem Absenden des Formulars werden die Daten mittels < | Nach dem Absenden des Formulars werden die Daten mittels <code>POST</code> an die Schnittstelle <code>init_game.php?id={UUID}</code> übertragen, die das Spiel im Backend registriert. | ||
== Live-Gameplay & HUD == | == Live-Gameplay & HUD == | ||
Sobald das Spiel läuft (< | Sobald das Spiel läuft (<code>$start = true</code>), wechselt die Ansicht in die Echtzeit-Simulation. Das Interface passt sich dynamisch an das im <code>ThemeManager</code> gewählte Design (Dark Mode oder Light Mode) an. | ||
=== Head-Up-Display (HUD) === | === Head-Up-Display (HUD) === | ||
Das HUD zeigt die aktuellen Leistungskennzahlen des Unternehmens. Diese Werte werden im Hintergrund jede Sekunde über einen asynchronen API-Call (< | Das HUD zeigt die aktuellen Leistungskennzahlen des Unternehmens. Diese Werte werden im Hintergrund jede Sekunde über einen asynchronen API-Call (<code>/api/game?id=...</code>) aktualisiert, um dem Spieler eine latenzfreie Übersicht zu bieten: | ||
{| class="wikitable" | {| class="wikitable" | ||
| Zeile 27: | Zeile 27: | ||
! Kennzahl !! Beschreibung !! API-Variable | ! Kennzahl !! Beschreibung !! API-Variable | ||
|- | |- | ||
| '''Geld''' || Das verfügbare Kapital für Erweiterungen und Gehälter. || < | | '''Geld''' || Das verfügbare Kapital für Erweiterungen und Gehälter. || <code>money</code> | ||
|- | |- | ||
| '''Forschung''' || Punkte, die für technologische Upgrades benötigt werden. || < | | '''Forschung''' || Punkte, die für technologische Upgrades benötigt werden. || <code>researchPoints</code> | ||
|- | |- | ||
| '''Mitarbeiter''' || Die aktuelle Belegschaft, die das Wachstum vorantreibt. || < | | '''Mitarbeiter''' || Die aktuelle Belegschaft, die das Wachstum vorantreibt. || <code>employees</code> | ||
|} | |} | ||
| Zeile 42: | Zeile 42: | ||
Über die untere Kontrollleiste kann das Modal-Fenster für den '''Shop''' geöffnet werden. Die Liste der verfügbaren Upgrades wird direkt aus dem Backend geladen. | Über die untere Kontrollleiste kann das Modal-Fenster für den '''Shop''' geöffnet werden. Die Liste der verfügbaren Upgrades wird direkt aus dem Backend geladen. | ||
* '''Kauf-Prozess:''' Beim Klick auf „Kaufen“ wird die JavaScript-Funktion < | * '''Kauf-Prozess:''' Beim Klick auf „Kaufen“ wird die JavaScript-Funktion <code>buyItem(itemName)</code> aufgerufen, die einen asynchronen <code>POST</code>-Request an den Endpunkt <code>/api/shop/buy</code> sendet. | ||
* '''Validierung:''' Das Backend prüft, ob das Guthaben des Spielers ausreicht. Bei Erfolg wird das Shop-Fenster geschlossen, die HUD-Werte aktualisiert und ein neuer Eintrag im Ereignis-Log generiert. | * '''Validierung:''' Das Backend prüft, ob das Guthaben des Spielers ausreicht. Bei Erfolg wird das Shop-Fenster geschlossen, die HUD-Werte aktualisiert und ein neuer Eintrag im Ereignis-Log generiert. | ||
| Zeile 48: | Zeile 48: | ||
Während der Simulation können unvorhergesehene Ereignisse eintreffen, die den Spieler vor logische oder finanzielle Entscheidungen stellen (z. B. Mitarbeiterkündigungen). | Während der Simulation können unvorhergesehene Ereignisse eintreffen, die den Spieler vor logische oder finanzielle Entscheidungen stellen (z. B. Mitarbeiterkündigungen). | ||
Das System nutzt hierfür native HTML5-< | Das System nutzt hierfür native HTML5-<code><dialog></code>-Elemente. Sobald ein Event triggert, wird die Funktion <code>showEvent(title, text)</code> aufgerufen. Der Spieler muss eine der Optionen wählen, woraufhin die Entscheidung via <code>handleChoice(choice)</code> an den API-Endpunkt <code>/api/game/event-choice</code> zurückgemeldet wird. | ||
== Entwickler-Hinweise & API-Anbindung == | == Entwickler-Hinweise & API-Anbindung == | ||
Für die korrekte Funktionsweise muss das Backend die Datenstruktur exakt im flachen Format | Für die korrekte Funktionsweise muss das Backend die Datenstruktur exakt im flachen Format hergeben: | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
| Zeile 69: | Zeile 69: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
:::''Hinweis: Der automatische HUD-Aktualisierungs-Intervall läuft auf | :::''Hinweis: Der automatische HUD-Aktualisierungs-Intervall läuft auf 10 Hz (100ms). Das Pausenmenü (erreichbar über die Escape-Taste) friert die HUD-Abfragen temporär ein.'' | ||
[[Kategorie:Spielmechanik]] | [[Kategorie:Spielmechanik]] | ||
[[Kategorie:Entwickler-Dokumentation]] | [[Kategorie:Entwickler-Dokumentation]] | ||
Aktuelle Version vom 16. Juni 2026, 20:58 Uhr
Das Erstellen von Plattformen ist das Kern-Feature im Social Media Simulator. Spieler können hier eigene soziale Netzwerke gründen, konfigurieren, Upgrades erwerben und auf Marktereignisse reagieren.
Das System basiert auf einer direkten REST-API-Kopplung zwischen dem PHP-Frontend (Plattform) und dem Spring Boot-Backend.
Spiel-Konfiguration (Registrierung)
Bearbeiten Quelltext bearbeitenBevor die Simulation startet, muss das Unternehmen initialisiert werden. Wenn noch kein aktiver Spielstand geladen ist ($start = false), wird dem Spieler das Konfigurationsformular angezeigt. Über dieses Formular werden die Startbedingungen festgelegt:
- Firmenname: Der eindeutige Name des sozialen Netzwerks (Pflichtfeld).
- Erweiterte Einstellungen (Cheats & Balances):
- Unbegrenzt Geld: Schaltet den Sandbox-Modus frei.
- Start-Geld: Bestimmt das Startkapital (Standard: 1.000 €).
- Start-Mitarbeiter: Die Anzahl der Angestellten zu Beginn (Standard: 1).
- Start-Forschungspunkte: Verfügbares Wissen für Upgrades (Standard: 0).
Nach dem Absenden des Formulars werden die Daten mittels POST an die Schnittstelle init_game.php?id={UUID} übertragen, die das Spiel im Backend registriert.
Live-Gameplay & HUD
Bearbeiten Quelltext bearbeitenSobald das Spiel läuft ($start = true), wechselt die Ansicht in die Echtzeit-Simulation. Das Interface passt sich dynamisch an das im ThemeManager gewählte Design (Dark Mode oder Light Mode) an.
Head-Up-Display (HUD)
Bearbeiten Quelltext bearbeitenDas HUD zeigt die aktuellen Leistungskennzahlen des Unternehmens. Diese Werte werden im Hintergrund jede Sekunde über einen asynchronen API-Call (/api/game?id=...) aktualisiert, um dem Spieler eine latenzfreie Übersicht zu bieten:
| Kennzahl | Beschreibung | API-Variable |
|---|---|---|
| Geld | Das verfügbare Kapital für Erweiterungen und Gehälter. | money
|
| Forschung | Punkte, die für technologische Upgrades benötigt werden. | researchPoints
|
| Mitarbeiter | Die aktuelle Belegschaft, die das Wachstum vorantreibt. | employees
|
Ereignis-Log
Bearbeiten Quelltext bearbeitenAuf der rechten Seite des Interfaces befindet sich der Event-Log-Stream. Hier werden globale Systemereignisse, getätigte Käufe oder Meilensteine gelistet. Jeder Eintrag wird mit einer farblichen Kennzeichnung versehen:
- Grün (Gain): Positive Effekte, Startboni oder Einnahmen.
- Rot (Cost): Ausgaben, Verluste oder Kosten für Upgrades.
Das Upgrade-System (Der Shop)
Bearbeiten Quelltext bearbeitenÜber die untere Kontrollleiste kann das Modal-Fenster für den Shop geöffnet werden. Die Liste der verfügbaren Upgrades wird direkt aus dem Backend geladen.
- Kauf-Prozess: Beim Klick auf „Kaufen“ wird die JavaScript-Funktion
buyItem(itemName)aufgerufen, die einen asynchronenPOST-Request an den Endpunkt/api/shop/buysendet. - Validierung: Das Backend prüft, ob das Guthaben des Spielers ausreicht. Bei Erfolg wird das Shop-Fenster geschlossen, die HUD-Werte aktualisiert und ein neuer Eintrag im Ereignis-Log generiert.
Zufallsereignisse (RPG-Dialoge)
Bearbeiten Quelltext bearbeitenWährend der Simulation können unvorhergesehene Ereignisse eintreffen, die den Spieler vor logische oder finanzielle Entscheidungen stellen (z. B. Mitarbeiterkündigungen).
Das System nutzt hierfür native HTML5-<dialog>-Elemente. Sobald ein Event triggert, wird die Funktion showEvent(title, text) aufgerufen. Der Spieler muss eine der Optionen wählen, woraufhin die Entscheidung via handleChoice(choice) an den API-Endpunkt /api/game/event-choice zurückgemeldet wird.
Entwickler-Hinweise & API-Anbindung
Bearbeiten Quelltext bearbeitenFür die korrekte Funktionsweise muss das Backend die Datenstruktur exakt im flachen Format hergeben:
{
"id": "GAME-UUID-STRING",
"companyName": "Beispiel GmbH",
"money": 1000,
"researchPoints": 0,
"employees": 1,
"shop": [
{
"name": "Server-Infrastruktur",
"price": 500
}
]
}
- Hinweis: Der automatische HUD-Aktualisierungs-Intervall läuft auf 10 Hz (100ms). Das Pausenmenü (erreichbar über die Escape-Taste) friert die HUD-Abfragen temporär ein.