In Susuwataris Welt liegt Kohle verstreut im Raum. Susuwatari sammelt sie ein und bringt sie später zum Ofen. Doch was passiert, wenn noch Kohle im Raum liegt und der Ofen trotzdem schon beliefert wird? Genau hier kommt der RoomCoalManager ins Spiel. Er übernimmt die Rolle einer zentralen Kontrollinstanz und sorgt dafür, dass der Gameplay Loop sauber funktioniert.
Warum eine Rauminstanz sinnvoll ist
Ohne zentrale Verwaltung weiß der Ofen nicht, wie viele Kohleobjekte ursprünglich im Raum existierten. Er kennt nur die aktuell im Inventar gespeicherte Menge. Dadurch kann die Spiellogik inkonsistent werden.
Der RoomCoalManager löst dieses Problem, indem er:
- die Gesamtanzahl der Kohle im Raum speichert
- mitzählt, wie viel bereits eingesammelt wurde
- eine einfache Abfrage bereitstellt, ob der Raum „leer“ ist
So entsteht eine klare Regel: Erst wenn alles eingesammelt wurde, darf Susuwatari die Kohle abliefern.
Die technische Grundlage
Der Manager ist ein leeres GameObject im Raum mit eigenem Script. Beim Start zählt er alle Objekte mit dem Tag „Kohle“. Jedes Mal, wenn Susuwatari Kohle einsammelt, wird diese Information an den Manager gemeldet.
using UnityEngine;
public class RoomCoalManager : MonoBehaviour
{
public int totalCoalInRoom = 0;
public int collectedCoal = 0;
public bool AllCoalCollected => totalCoalInRoom > 0 && collectedCoal >= totalCoalInRoom;
private void Awake()
{
if (totalCoalInRoom <= 0)
{
totalCoalInRoom = GameObject.FindGameObjectsWithTag("Kohle").Length;
}
}
public void RegisterCoalPickup()
{
collectedCoal++;
}
}
Damit besitzt der Raum ein eigenes Gedächtnis.
Kommunikation mit Susuwatari
Sobald Susuwatari ein Kohleobjekt einsammelt, ruft sein PlayerCoalDetector die Methode RegisterCoalPickup() auf. Der Manager erhöht daraufhin seinen Zähler.
Der Ofen wiederum prüft beim Kontakt:
if (!roomManager.AllCoalCollected) return;
Ist noch Kohle im Raum vorhanden, bleibt der Ofen inaktiv.
Was das für das Gameplay bedeutet
Durch diese Struktur entsteht eine bewusste Aufgabe. Susuwatari muss wirklich jede Ecke des Raumes erkunden. Kein frühzeitiges Abliefern, kein Überspringen des Sammelprozesses.
Das sorgt für:
- klar definierte Levelziele
- bessere Spielerführung
- erweiterbare Spielmechaniken
Später kannst du leicht hinzufügen:
- eine Anzeige „Noch 2 Kohle im Raum“
- eine Tür, die sich erst öffnet, wenn alles eingesammelt ist
- unterschiedliche Ressourcenarten mit eigenen Managern
Warum diese Architektur sauber ist
Der Player weiß nur, dass er Kohle einsammelt. Der Ofen weiß nur, dass er Kohle entgegennimmt. Der Raum weiß, wie viel Kohle existiert. Jede Instanz hat eine klar definierte Aufgabe.
Diese Trennung verhindert unübersichtlichen Code und macht Susuwataris Welt modular erweiterbar.
Fazit
Der RoomCoalManager wirkt unscheinbar, ist aber ein zentraler Baustein für strukturierte Levelmechaniken in Susuwatari. Er verwaltet die Ressource auf Raumebene und sorgt dafür, dass Sammeln und Abliefern logisch zusammenhängen. Aus einer einfachen Zählvariable entsteht so ein kontrollierter, erweiterbarer Gameplay Loop.
Weitere Artikel auf Games und Lyrik: Die Pendulo Studios
