Hallo
Zitat:
ISceneNode::remove() , ISceneManager::clear(), IGUIElement::remove(), IGUIEnvironment::clear()
Meinst du das?
Genau, das geht in die richtige Richtung.
Man muss sich doch nur mal paar großen Games, zB. welche von EA ansehen und dessen Verhalten studieren. Wann bei ihnen etwas geladen wird, was genau viel Arbeitsspeicher wegfrisst, etc. Ganz einfach um zu sehen, wie es die Profis machen. Natürlich, ganz selbstverständlich, jeder muss sein ganz eigenes Konzept entwickeln, das ist auch Sinn der Sache.
Zitat:
(dürfte im Hobby-Bereich ja wohl kaum an die Grenzen des RAMs stoßen)
Könnte im Hobbybereich aber an die Grenzen des KnowHow stoßen.
Zitat:
lad doch einfach je nach gamestate die erforderlichen daten aus deinen ressourcenmanagern (wäre gut, wenn du sowas hast)
Welche Ressourcenmanager? Kannst du das näher erklären, ich weiß nicht genau was du meinst.
Also ich würde es so machen:
Beim Programmaufruf:
Gamestate=Menu, Menu laden
Im Menu startet man nun eine Mission:
Gamestate=Game (Menu unsichtbar), Game laden
Nächste Mission:
Reset (alle terminieren), Gamestate=Game, Menu laden, Game laden
Mission beenden, Spielabbruch:
Reset, Gamestate=Menu, Menu laden
Dies könnte man durch Aufruf von Funktionen leicht bewerkstelligen. Das Hauptmenü besteht hauptsächlich aus GUI-Elementen und ich denke der Aufbau dessen wird im Vergleich zu einer Spielszene deutlich schneller sein, deswegen wird es nicht ausmachen, wenn man dieses durch das Reseten neu laden müsste.
Würde ich wie ihr es beschrieben habt, die Spielszene einfach da lassen, würde diese doch immerhin Rechenleistung beanspruchen und was wäre daran so vorteilhaft 10 Levels parallel laufen zu lassen?