Hallo,
Bisher habe ich nur "statische" Sachen programmiert und musste mir keine Gedanken um den GC machen. Gerade programmiere ich mal Spaßeshalber ein einfaches Spiel, sehr angelehnt an call of war.
Es geht mir hier um die grundlegende Nutzung des GC. Meine Objekte sind klein und wenige (maximal tausend mit einfachen Attributen), daher ist bei mir nicht der Speicher das Problem. Einige Objekte werden da herumstehen und nichts tun, sollen aber da bleiben; andererseits sollen einige Objekte vom Spiel verschwinden, um Fehler aller Art zu vermeiden.
Man muss sich das so vorstellen: Es gibt die militärischen Einheiten Infanterie und Panzer. Eine oder mehrere dieser Einheiten bilden Divisionen. Nur Divisionen können im Spiel Aktionen durchführen.
Es kann nun sein:
* Eine Division steht vielleicht das ganze Spiel herum, tut also nichts, darf vom GC aber nicht gelöscht werden (wird sie sowieso nicht, stelle ich mir vor)
* Eine Division killt eine andere. Die Einheiten mit Leben <0 sollten vom GC eliminiert werden, da sie sonst durch Stillstehen sich regenerieren könnten.
* Auch die Division, die keine Einheiten mehr hat, sollte auch vom GC geholt werden, damit zB keine andere feindliche Division sie angreifen kann. Wäre ja schön doof sich in eine Schlacht gegen eine leere Division zu begeben.
Der GC kann unmöglich wissen welche Divisionen noch gebraucht werden oder nicht.
Eine Möglichkeit das Problem zu umgehen, ist entweder ein Attribut "lebend oder tot" für jede Einheit oder Division zu machen. Oder man könnte eine Verwaltungstabelle einrichten.
Wie geht man sowas überhaupt an?
Bisher habe ich nur "statische" Sachen programmiert und musste mir keine Gedanken um den GC machen. Gerade programmiere ich mal Spaßeshalber ein einfaches Spiel, sehr angelehnt an call of war.
Es geht mir hier um die grundlegende Nutzung des GC. Meine Objekte sind klein und wenige (maximal tausend mit einfachen Attributen), daher ist bei mir nicht der Speicher das Problem. Einige Objekte werden da herumstehen und nichts tun, sollen aber da bleiben; andererseits sollen einige Objekte vom Spiel verschwinden, um Fehler aller Art zu vermeiden.
Man muss sich das so vorstellen: Es gibt die militärischen Einheiten Infanterie und Panzer. Eine oder mehrere dieser Einheiten bilden Divisionen. Nur Divisionen können im Spiel Aktionen durchführen.
Es kann nun sein:
* Eine Division steht vielleicht das ganze Spiel herum, tut also nichts, darf vom GC aber nicht gelöscht werden (wird sie sowieso nicht, stelle ich mir vor)
* Eine Division killt eine andere. Die Einheiten mit Leben <0 sollten vom GC eliminiert werden, da sie sonst durch Stillstehen sich regenerieren könnten.
* Auch die Division, die keine Einheiten mehr hat, sollte auch vom GC geholt werden, damit zB keine andere feindliche Division sie angreifen kann. Wäre ja schön doof sich in eine Schlacht gegen eine leere Division zu begeben.
Der GC kann unmöglich wissen welche Divisionen noch gebraucht werden oder nicht.
Eine Möglichkeit das Problem zu umgehen, ist entweder ein Attribut "lebend oder tot" für jede Einheit oder Division zu machen. Oder man könnte eine Verwaltungstabelle einrichten.
Wie geht man sowas überhaupt an?