Ich entwickle gerade ein Strategiespiel, wo es darum gehen soll, das Verhalten der Einheiten im voraus zu programmieren, anstatt sie persönlich zu steuern, das Spiel besteht also aus einer puren Simulation, in die man nicht eingreifen kann. Dabei sind die Einheiten selbstständig, haben ein eigenes Kartenwissen und ein definiertes kleines Gedächtnis und können untereinander kommunizieren. Ihre Entscheidungen müssen sie ca. jede Sekunde neu überdenken, wobei ihnen dafür nur ihr Kartenwissen, das Gedächtnis, und die Objekte in Sichtweite zur Verfügung stehen. Die Entscheidung besteht dann etwa in der Vorgabe einer Laufrichtung oder der Änderung des Gedächtnisses.
Die bequemste und für den "Spieler" wohl praktischste Lösung wäre nun, das Skript in Java schreiben zu lassen (das Spiel selbst ist in Java und Scala geschrieben), allerdings tut sich da das Problem auf, dass es offensichtlich möglich ist und geradezu einladend scheint, globale Variablen (falls man zur Ausführung des Skripts jedes Mal ein neues Objekt erstellt, kommen nur static Variablen infrage, daher der Titel) als unbegrenzten und gemeinsamen Speicher zu verwenden; man könnte also direkt das grundlegende Spielkonzept umgehen.
Gibt es dafür irgendwelche Lösungen, ohne ganz auf Java als Skriptsprache zu verzichten (z.B. etwa eine Klasse zu reinitialisieren)?
Vielen Dank für eure Hilfe!
Die bequemste und für den "Spieler" wohl praktischste Lösung wäre nun, das Skript in Java schreiben zu lassen (das Spiel selbst ist in Java und Scala geschrieben), allerdings tut sich da das Problem auf, dass es offensichtlich möglich ist und geradezu einladend scheint, globale Variablen (falls man zur Ausführung des Skripts jedes Mal ein neues Objekt erstellt, kommen nur static Variablen infrage, daher der Titel) als unbegrenzten und gemeinsamen Speicher zu verwenden; man könnte also direkt das grundlegende Spielkonzept umgehen.
Gibt es dafür irgendwelche Lösungen, ohne ganz auf Java als Skriptsprache zu verzichten (z.B. etwa eine Klasse zu reinitialisieren)?
Vielen Dank für eure Hilfe!