Show whole topic Jun 09, 2009 9:21 pm
alzi Offline
Developer, Moderator
Registered since: Aug 12, 2007
Location: Ditzingen (nahe Stuttgart)


Subject: Re: Neue Einheiten XMLs
Sachen die meiner Meinung nach raus können:

-> Is_Controllable es gibt im Code eigentlich nichts, dass bis jetzt auch nur annährend so etwas überprüft. Das ergibt sich eigentlich daraus, ob eine Einheit bauen, fahren, schießen, etc. kann und daraus ergeben sich dann auch die Menüunterpunkte. Um aber die dann richtig hin zu bekommen, bräuchte man z.B. noch so was wie "can_be_self_destroyed". z.b. für die explode-minen.

-> Size_Length/Widht ist finde ich nicht nötig. Wir sind weit davon entfernt verschiedene Gebäudegrößen zu unterstützen. Nur eben dieses "is_big" ist dann nötig.

-> Is_Target_ ... kann finde ich raus, weil es doppelt mir "Allowed_Targets" in der Waffen Sektion ist. Das macht finde ich kaum einen sinn zu definieren, von welchen Einheiten eine Einheit angegriffen werden kann und dann auch noch welche Einheiten eine Einheit überhaupt Angreifen kann. Also ich finde zumindest kaum ein Beispiel wo sich das mal unterscheiden sollte und außerdem ist unser Code im Moment noch gar nicht auf eine solche Doppelabfrage ausgelegt, daher würde ich es erstmal bei einem einfache "can_attack" Attribut belassen, wie es auch vom Code unterstützt wird.

-> Built_Costs(_Max) Ich weiß nicht genau, wie das mit dem maximalen Wert ist, aber mit kommt es so vor, als wenn er immer das Dreifache des normalen Werts ist. Wenn das der Fall ist, dann brauchen wir das ja nicht. Mal drei kann auch das Programm rechnen. Und zum Normalwert: Wenn man aus dem original die Attribute der Einheiten aus der Resdatei extrahiert, dann gibt es da nicht genau die Baukosten. Dafür steht da ein Wert drin, der immer die Hälfte der Baukosten bei Fahrzeugen oder ein drittel der Baukosten bei Gebäuden (oder auch umgekehrt, weiß nicht mehr genau) ist. Dieser Wert wird dann z.b. auch benötigt um zu berechnen wie teuer Reparaturen sind oder wie lange Einheiten außergefecht gesetzt bleiben. Evtl. sollten wir lieber diesen Originalwert reinschreiben als das alles zurückzurechnen?!?

-> Is_Produced_by Siehe "can_build"

-> Turret_Gfx kann raus finde ich. Noch zu sehr Zukunft und der Code ist weit entfernt von so was.

-> Shot_Trajectory selbes wie Turret_Gfx

-> Ammo_Type selbes wie Turret_Gfx & Shot_Trajectory

-> Allowed_Targets Siehe "Is_Target_ ..."

-> Destination_Area/Destination_Type Mit so speziellen Treffertypen kann unser Code noch lange nicht umgehen und das wird er auch lange nicht können. Von daher würde ich sagen das kommt raus und lieber ein einfaches "cluster_attack" für den Raketenwerfer.

-> Movement_Allowed Ist auch hier zu speziell. So was kann unser Code nicht. Es gibt hierfür die Regel can_attack_and_fire, die nicht mit einer Anzahl von Bewegungspunkten, die frei sind bis der Schuss verloren geht vereinbar sind. Von daher würde ich sagen auch das kommt raus.

-> Gets_Experience, Can_Dive, Landing_Type, Can_Upgrade, Is_Kamikaze, Is_Infrastructure alles raus.

-> Self_Repair_Type Gebäude machen dies generell. Evtl. bräuchte man dieses Attribut, da wir ja die Trennung zwischen Gebäuden und Fahrzeugen abschaffen. Aber ich denke die Sache mit dem "mit Material oder ohne" ist unnötig.

-> Can_Launch_SRBM, Energy_Shield_Strength, Energy_Shield_Size raus!

-> Range_ ... ist im Moment völlig unnötig da zu unterscheiden. Würde ich auf ein einziges "Scan" Attribut zusammenfassen.

-> Costs_ ... / Factor_ ... Raus! Das hängt von anderen spielinternen Regeln ab und wird sich vermutlich auch erstmal nicht ändern.

-> Capacity_ ... Das ist evtl. ganz gut, das zu differenzieren, aber im Moment im Code nicht vorgesehen und ist glaube ich auch ne menge Arbeit das zu ändern. Hier muss man überlegen ob man sich die Arbeit macht, oder ob wir doch nur die Aufteilung in "cargo" und "can_load" machen, so wie früher. Reicht nämlich eigentlich für alle bestehenden Sachen aus. Besonders Kompliziert wird das ganze mit dem Umbau nämlich wenn es darum geht das Laden der Einheiten auch auf "Can_Use_Unit_As_Garage" anzupassen.

So das wars dann erstmal mit meinem Megapost. Bitte Senf dazu abgeben Smiling
Albert Ziegenhagel