Naja, die Idee war halt, die Ausgangsdaten der Strings und Variablen in den Arrays am Anfang aus den Data-Zeilen einzulesen, aber ich meine, es ist nicht so gut, wenn Arrays so riesig sind, oder? Darum war meine Überlegung, das Array kleiner zu dimensionieren, so dass es quasi einen Ausschnitt der virtuellen Welt repräsentiert, die ich schaffen möchte, quasi wie eine Lupe auf einem Stadtplan. Wenn sich der Spieler bewegt, wird also immer nur der relevante Teil in das "RAM" geladen, um ein weiteres Bild zu bemühen...
Die Anzahl der aktiven String-Variablen und Strings aus Arrays ist in der Tat für die Garbage-Collection ausschlaggebend, wie schon McBacon schrieb, schließe ich mich seiner Empfehlung an, eine alternative GC (z.B. SuperGC) zu verwenden. Sich nur auf ein kleines Workingset von Strings zu beschränken, ist echt mühsam, spezielll wenn man nicht gezielt auf DATAs positionieren kann ("RESTORE Zeilennummer" fehlt - so etwas nachträglich einzubauen mag vielleicht etwas einfacher sein, als eine andere GC), aber es bleibt dennoch ziemlich langsam. Bequemer wäre schon, wenn man alle Strings und Szenarien bereits aus den DATAs (was auch schon lang genug dauern dürfte) lädt und dann aber schnell weiterschalten oder zwischen Szenen hin- und herschalten kann (vorausgesetzt, das GC-Thema ist behoben).