Hallo liebe Community,
ich bin neu hier und bin gerade an der technischen Konzeption für mein erstes größeres Spiel, nun habe ich aber folgendes Problem : Gameobjects erstellen und Speichern
Kurz zu den Gameobjects :
Ich benutze eine abstrakte Oberklasse, von denen dann alle Objekte erben. Diese besitzen alle eine Methode use(), die dann ein gewünschtes Event auslöst. Das ist hart implementiert und ich hab mir schon überlegt dort Skripte einzusetzen, aber naja bin nicht gerade der Scriptmeister :noe:
Nun zum eigentlichen Problem :
Ich handle das derzeit so, dass ich mithilfe meines eigens geschrieben MapEditors wird anhand einer Zahl festlege welches Objekt wo generiert wird. Das sieht dann folgendermasen aus :
[JAVA=0]
public Gameobject getObject(int ObjectNumber, int key){
switch(ObjectNumber){
case 1:
return new WaterC();
case 2:
return new Campfire1();
case 3:
return new Building1();
default:
return null;
}
}
[/code]
Erste kleine Frage, ist das, und ich glaube das werden mir 40 Leute sagen :toll:, potthässlich und wird nicht so gemacht, da das bei tausenden Objekte und großen Karten zum Tod des Rechners führt :lol:
oder gibts da keine Alternative? :bahnhof:
Hauptfrage aber ist, wie würdet ihr die Objekte abspeichern. Da kommen nämlich einige Probleme auf einen zu, die mir gerade den Kopf zumüllen ???:L
Zum Einen müssen die Anfangspositionen irgendwo vermerkt sein, dies wollte ich in der Map selbst tun. Dabei werden dann auch die Zahlen z.B 1_3 vermerkt, etwa 1 steht für das Objekt und die 3 steht für etwas eher besonderes daran, etwa 1 wäre ein Schalter und die 3 steht dafür, dass man damit Tür 3 aufmacht, die dann auch diese 3 haben muss.
Darüberhinaus frage ich mich allgemein, wie ich so ein Gameobject abspeichern soll, da es ja unglaublich viele Eigenschaften besitzen kann. Die dann auch wieder von Objekt zu Objekt unterschiedlich sind. :bahnhof:
Zum Anderen müssen beim Speichern eines Spielstandes alle Objekte in den Spielstand rein, da sich ihr Zustand verändern kann. Da ich aber recht viele Maps haben werde, muss ich von allen Maps alle Objekte speichern. Lässt es sich also nicht vermeiden, dass die Spielstände vom Speicherverbrauch her riesig werden oder ist meine Grundidee einfach nur beschissen :rtfm:
Würde mich über konstruktive Kritik freuen :applaus:
Falls einer den Prototypen testen will, oder irgendwelchen Code sehen möchte, so möge er mir eine PM schreiben
lg Thunder
ich bin neu hier und bin gerade an der technischen Konzeption für mein erstes größeres Spiel, nun habe ich aber folgendes Problem : Gameobjects erstellen und Speichern
Kurz zu den Gameobjects :
Ich benutze eine abstrakte Oberklasse, von denen dann alle Objekte erben. Diese besitzen alle eine Methode use(), die dann ein gewünschtes Event auslöst. Das ist hart implementiert und ich hab mir schon überlegt dort Skripte einzusetzen, aber naja bin nicht gerade der Scriptmeister :noe:
Nun zum eigentlichen Problem :
Ich handle das derzeit so, dass ich mithilfe meines eigens geschrieben MapEditors wird anhand einer Zahl festlege welches Objekt wo generiert wird. Das sieht dann folgendermasen aus :
[JAVA=0]
public Gameobject getObject(int ObjectNumber, int key){
switch(ObjectNumber){
case 1:
return new WaterC();
case 2:
return new Campfire1();
case 3:
return new Building1();
default:
return null;
}
}
[/code]
Erste kleine Frage, ist das, und ich glaube das werden mir 40 Leute sagen :toll:, potthässlich und wird nicht so gemacht, da das bei tausenden Objekte und großen Karten zum Tod des Rechners führt :lol:
oder gibts da keine Alternative? :bahnhof:
Hauptfrage aber ist, wie würdet ihr die Objekte abspeichern. Da kommen nämlich einige Probleme auf einen zu, die mir gerade den Kopf zumüllen ???:L
Zum Einen müssen die Anfangspositionen irgendwo vermerkt sein, dies wollte ich in der Map selbst tun. Dabei werden dann auch die Zahlen z.B 1_3 vermerkt, etwa 1 steht für das Objekt und die 3 steht für etwas eher besonderes daran, etwa 1 wäre ein Schalter und die 3 steht dafür, dass man damit Tür 3 aufmacht, die dann auch diese 3 haben muss.
Darüberhinaus frage ich mich allgemein, wie ich so ein Gameobject abspeichern soll, da es ja unglaublich viele Eigenschaften besitzen kann. Die dann auch wieder von Objekt zu Objekt unterschiedlich sind. :bahnhof:
Zum Anderen müssen beim Speichern eines Spielstandes alle Objekte in den Spielstand rein, da sich ihr Zustand verändern kann. Da ich aber recht viele Maps haben werde, muss ich von allen Maps alle Objekte speichern. Lässt es sich also nicht vermeiden, dass die Spielstände vom Speicherverbrauch her riesig werden oder ist meine Grundidee einfach nur beschissen :rtfm:
Würde mich über konstruktive Kritik freuen :applaus:
Falls einer den Prototypen testen will, oder irgendwelchen Code sehen möchte, so möge er mir eine PM schreiben
lg Thunder
Zuletzt bearbeitet: