Spielsysteme

Quests im Spiel: tägliche Aufgaben und Belohnungen

Wie die fertigen Quests von iDos Games funktionieren: tägliche, wöchentliche und einmalige Aufgaben, eine Punkteleiste mit Truhen und ein Bonus für eine Gruppe von Aufgaben, und wie du sie im Dashboard einrichtest.

Quests sind ein fertiges Aufgabensystem: tägliche, wöchentliche und einmalige Quests mit Belohnungen, eine Punkteleiste mit Truhen und ein Bonus für eine erledigte Gruppe von Aufgaben. Quests gehören zu jedem neuen Projekt. Fortschritt und Belohnungen zählt der Server; das Spiel meldet nur, was der Spieler getan hat, und zeigt das Ergebnis.

Was der Spieler sieht

  • Zyklen als Tabs: täglich, wöchentlich, Erfolge, mit einem Timer bis zum nächsten Zyklus.
  • Fortschrittsbalken an jeder Aufgabe und ein Detailfenster mit allen Zielen.
  • Ein Knopf „Alle abholen“ für erledigte Aufgaben.
  • Eine Punkteleiste mit Truhen, die sich öffnen, wenn Punkte zusammenkommen.
  • Ein Abzeichen am Tab, wenn erledigte Aufgaben warten.
Quests
12 450
320
Täglich2
Wöchentlich
Erfolge
Neue Quests in 08:12:44
Quest-Punkte: 45
20
40
60
80
100
20 Monster besiegen
20/20
+10
Abholen
3 Stufen schaffen
3/3
+10
Abholen
Helden 10-mal verbessern
7/10
+15
Abholen
Etwas im Shop kaufen
0/1
+20
Abholen
Alle abholen
Zyklen sind Tabs, mit dem Timer bis zum nächsten Zyklus.
Die Punkteleiste: abgeholte Quests bringen Punkte, unterwegs öffnen sich Truhen.
Eine erledigte Quest wartet auf „Abholen“; die übrigen zeigen ihren Fortschritt.
„Alle abholen“ holt alle erledigten Quests mit einem Tipp.
Beispiel. Der Quest-Bildschirm: Zyklen, die Punkteleiste mit Truhen und die Quest-Liste.

Wie Quests aufgebaut sind

  • Zyklus: ein Satz Aufgaben mit Zeitplan: täglich, wöchentlich, dauerhaft oder ein zeitlich begrenztes Event. Ein Zyklus kann in Phasen nacheinander laufen, zum Beispiel eine Saison aus acht Wochen, jede Woche mit eigenen Aufgaben und eigener Punkteleiste.
  • Quest: ein oder mehrere Ziele, jedes mit eigenem Zähler („20 Monster besiegen“), und eine Belohnung. Eine Quest kann voraussetzen, dass zuerst eine andere erledigt ist: So entstehen Ketten.

Es gibt drei Arten von Belohnungen, und alle wirken gleichzeitig:

  1. Quest-Belohnung: wenn alle Ziele erreicht sind.
  2. Truhen auf der Punkteleiste: Eine abgeholte Quest bringt Zykluspunkte, und bei der nötigen Summe öffnet sich eine Truhe.
  3. Gruppenbonus: wenn eine festgelegte Zahl von Quests einer Gruppe erledigt ist.

Woher der Fortschritt kommt

QuelleBeispielWas du tun musst
Das Spiel meldet esEin Monster besiegt, ein Level geschafftEine Codezeile an der Stelle, wo es passiert
Der Server zählt esEin Kauf im Shop, eine andere Quest abgeholtNichts, nur das Ereignis wählen
Ein Server-SkriptDeine eigene Regel im Cloud CodeEin Aufruf aus dem Skript

Schritt 01Einen Zyklus anlegen

Öffne das Dashboard, wähle dein Projekt und geh zu Live-Betrieb → v2 → Quest. Lege im Tab Zyklen einen Zyklus an, zum Beispiel einen täglichen, und füge auf Wunsch eine Punkteleiste mit Truhen hinzu.

Schritt 02Aufgaben hinzufügen

Lege im Tab Quests eine Quest an: Name, Zyklus, Ziele und Belohnung. Wähle für jedes Ziel, woher sein Fortschritt kommt. Zählt ihn das Spiel, wähle einen Zählernamen, zum Beispiel monsters_defeated.

Der Knopf KI auf der Seite öffnet einen Assistenten: „Erstelle drei tägliche Quests: für Siege, für Käufe im Shop und für Heldenverbesserungen“. Er schlägt Änderungen vor, du prüfst sie und drückst Speichern.

Schritt 03Dem Spiel beibringen, Fortschritt zu melden

Für Ziele, die das Spiel zählt, bitte den KI-Coder: „Zähle monsters_defeated jedes Mal, wenn ein Monster besiegt wird“. Er fügt den Aufruf an der richtigen Stelle im Code ein. Die Vorlage Idle-RPG meldet geschaffte Stufen und Heldenverbesserungen bereits.

Für Entwickler

Quests arbeiten über client.quest in @idosgames/core. Fortschritt wird per Zählername gesendet, nicht pro Quest: Der Server gibt ihn an jede aktive Aufgabe weiter, die auf diesen Zähler hört.

TypeScript
// Wo es passiert: Ein Monster wurde besiegt
await client.quest.addQuestProgress('monsters_defeated', 1)

// Der Quest-Bildschirm: Fortschritt des Spielers; Zyklen rücken von selbst weiter
const state = await client.quest.getUserQuestState()

// Die Belohnung einer erledigten Quest abholen
const claim = await client.quest.claimQuestReward('daily_win_20', 'daily')
if (!claim.ok) return showError(claim.error)
  • addQuestProgress bewegt nur Ziele, deren Quelle das Spiel ist. Ziele, die der Server selbst zählt, werden abgelehnt.
  • Sende nie einen Wert „zur Sicherheit“: Hat ein Ziel ein Maximum pro Aufruf, sperrt ein Überschreiten das Konto des Spielers.
  • Vergebene Belohnungen sind bereits auf die Guthaben im SDK-Cache angewendet, sie müssen nicht neu geladen werden.

Jedes Feld ist im Skill quest-system beschrieben, den der MCP-Server des SDK bereitstellt.

Häufige Fragen

Muss ich Quests zu meinem Projekt hinzufügen?

Nein. Quests gehören zu jedem neuen Projekt. Der Quest-Tab wird für Spieler sichtbar, sobald im Dashboard mindestens eine Quest eingerichtet ist.

Woher weiß das Spiel, dass eine Aufgabe erledigt ist?

Den Fortschritt zählt der Server. Manche Aufgaben zählt er selbst (Käufe, andere Quests), und Aktionen im Spiel, etwa ein besiegtes Monster, meldet das Spiel dem Server mit einer Codezeile.

Kann ich einen Battle Pass bauen?

Die Punkteleiste eines Zyklus bietet eine ähnliche Mechanik. Jede abgeholte Quest bringt Punkte, und auf der Leiste liegen Truhen, die sich öffnen, wenn der Spieler die nötigen Punkte erreicht.

Siehe auch

Erstelle dein eigenes Spiel

Beschreibe die Idee in einem Satz: Der KI-Coder baut das Spiel, und es geht unter eigenem Link online.