Schlachtfeld

Der Stafflerblog von Warzone2100.de

01.05.2010

Modder-Interview #2: NTW/Delphinio

Filed under: Deutsch,Sonstiges von Kreuvf um 16:56:52

Anfang 2000 fand Delphinio eine Demoversion von Warzone 2100 und ist so letztendlich auch zum Spiel gekommen. Er kam ab 2003 zum Modding über kleine Maps, die er für die GDT-Gilde erstellt hatte. Motiviert hat ihn dabei auf selbstgebastelten Karten zu spielen und die Eintönigkeit der Teamwar- und New_Teamwar-Karten zu durchbrechen. Aufgrund einer Warzone-2100-Pause von Herbst 2004 bis Herbst 2006 vergaß er vieles, fing aber wieder mit Mapping an und wurde dank Lordy, einem warzonetreuen Briten, wieder ans Modding herangeführt. Die Arbeiten am NTW-Mod starteten im November 2006.

Inspiriert wurde Delphinio dabei vom DM-Mod, der ihn aufgrund seiner zahlreichen Veränderungen an Warzone 2100 begeisterte. Anfangs umfasste der NTW-Mod keinerlei Änderungen am Technologiebaum, was sich allerdings mit den Einbau des T1-Balancers, ein weiterer Mod Delphinios, änderte.

Kreuvf: Was genau ist das Ziel des NTW-Mod und wie weit ist dieses Ziel bereits erreicht?
Delphinio: Wenn ich das nur wüsste… . Ziel war es eigentlich eine Mod zu entwickeln, die die Balance verbessert und Warzone 2100 schöner macht. Plus ein paar spezielle Dinge wie neue Waffen. Ich hatte ja schon einige Male gesagt, dass sie jetzt fertig ist, und dann fand ich doch wieder was Neues. Irgendwann wird es kein Update mehr geben, nur wann das sein wird, weiß ich nicht.

Kreuvf: Was war mit dem Balancing nicht in Ordnung? Und was für neue Waffen gibt es?
Delphinio: Es gibt in 1.10 nur ein paar Sachen, die nicht ganz ok sind. Man bekommt Lancer zu früh, was die anderen Waffen nutzlos werden lässt, MG zum Beispiel. Heavy Laser und Plasma Cannon sowie die superschweren Bodies waren meiner Meinung nach zu schwer (massenmäßig). Desweiteren war der Pulse Laser für VTOLs überpowered.

Bei den neuen Waffen handelt es sich um die Heavy Gauss Cannon, die Heavy Twin Cannon, die Super Cannon, die Condor Missile, die Plasma Artillery und den Twin Pulse Laser. Neben den Waffen gibt es aber auch neue Gebäude, doch erstmal zu den Waffen:
Die Heavy Gauss Cannon ist eine einfache Erweiterung zur Gauss Cannon. Sie hat eine höhere Widerstandskraft und richtet mehr Schaden an, ist allerdings auch langsamer beim Nachladen und kostet mehr Energie. Da die superschweren Rümpfe nun schneller geworden sind und damit nützlicher, braucht man auch was, um diese zu bändigen.
Bei den Lasern wurde der Flashlight Laser entfernt und der Pulse Laser an die erste Stelle gesetzt, gefolgt vom Twin Pulse Laser, Heavy Pulse Laser und der frischen, neuen, besseren Plasma Cannon. Achso, den Hyperfire Laser gibt’s natürlich auch noch. Das ist ein Laser, der wie ein Maschinengewehr feuert und vorzugsweise gegen Panzer eingesetzt wird. Aber sucht euch nicht zu dicke Panzer aus… es dürfen schwere sein, aber verschwindet, wenn ein Vengeance kommt.
Plasma Artillery bekommt man, sobald man den schweren Laser (Heavy Pulse Laser) geforscht hat. Sie braucht 1 – 2 Schuss, um feindliche Gebäude dem Erdboden gleich zu machen. Sie ist vergleichbar mit der Condor Missile, hat aber einen schnelleren Ladevorgang.
Wobei die Condor Missile mehr Flächenschaden macht und auch an sich etwas stärker ist. Sie kommt vor der Archangel Missile und hat die Angel Missile ersetzt. Ich würde trotzdem die Plasma Artillery bauen, da diese auch weiter entfernte Ziele unter Beschuss nehmen kann.
Die HV Cannon wurde durch die Twin Heavy Cannon ersetzt, weil man die irgendwie nie richtig hingebalanced bekommt. Es handelt sich dabei um eine stärkere Doppelfeuerwaffe, die natürlich auch wieder mehr Widerstand gibt und schwerer ist, mehr Feuerkraft und eine langsamer Nachladerate hat. Super Cannon (eine große Doppelfeuerwaffe, auch in der Cannon-Klasse) hat dieselben Verbesserungen bzw. Verschlechterungen außer der Feuerrate, diese ist gleich.

Es gibt im NTW-Mod auch spezielle Thermal-Armor-Rümpfe: Fish, Dolphin, Whale und Chimpanzee, Baboon, Gorilla. Die Fish-Klasse ist billiger, leichter (= schneller) und hat weniger kinetische Rüstung als die Rümpfe der Chimpanzee-Klasse. Thermal Armor ist bei beiden gleich. Die Abkürzungen „SE“ und „SA“ stehen für „Special European“ und „Special African“.
NTW-Rümpfe

Nun zu den Gebäuden: Man kann Scavenger-Gebäude und einige ihrer Einheiten bauen. Es sind nicht alle Scavenger-Gebäude vorhanden, aber die gebräuchlichsten, die man in der Kampagne immer mal wieder antrifft.

Kreuvf: Scavenger-Einheiten? Also kann man auch diese kleinen Fußsoldaten bauen, die beim Kontakt mit einer Flammenwerferflamme rumlaufen und verbrennen? Wie hast du die gebalanced?
Delphinio: Ja, kann man. Sie sind ähnlich wie in der Kampagne balanced. Sie halten also nur sehr, sehr wenig aus. Wenn man Star Wars und das Imperium kennt, dann weiß man, was ich meine, wenn ich sage: „Quantität vor Qualität.“ Sie lassen sich schnell produzieren, wobei eine Einheit gerademal 4 – 15 Energie kostet. Vor allem kann man sie sofort produzieren, denn das HQ gibt’s erst nach etwa 6 Minuten. Das heißt, dass die selbstgebastelten Fahrzeuge erst ab der 7. Minute zum Einsatz kommen können. Was die Feuerkraft angeht, sind sie ok, man darf nur nicht den Fehler machen und denken, dass sie im Laufen schießen, denn das tun sie nicht. Aber NTW-Mod hat nicht nur Scavenger-Gebäude und deren Einheiten am Start, sondern auch endlich mal ansatzweise gute Schilde. Es gibt 2 Arten: Einen für VTOLs und einen für Bodeneinheiten.

Kreuvf: Wie sehen diese Schilde aus, was machen sie?
NTW-Schild
Delphinio: Ich wünschte ich könnte einen richtigen Schild entwickeln, aber das geht leider noch nicht. Sie üben beide EMP-Schocks aus. Immer auf die Einheit, die am dichtesten ist. Die Schilde haben eine sehr große Reichweite, womit Schilde eine Art Waffe sind.
EMP Tank Traps funktionieren ähnlich, allerdings geben sie nur einen Schock ab, wenn man gegen sie fährt. Und sie müssen sich auch sehr viel länger nachladen. Vielleicht verbessere ich sie aber noch.
Wenn mal die Energie ausgeht, baut man am besten einen Nuclear Reactor. : ) Aber vergesst bitte nicht die Kühltürme zu bauen. Es müssen mindestens 2 sein und so dicht wie möglich rangebaut werden. Der Lasersatellit hat die 1.10-Balance und das Nuclear Missile Silo nicht das von 2.3 ; ). Aber es ist stärker bei 10 min Nachladezeit. Daneben gibt es noch 8 verschiedene Minen.

Kreuvf: Wie funktionieren die Minen allgemein? Wie legt man sie? Wie entschärft man sie? Wie erkennt man sie?
Delphinio: Wenn ein Fahrzeug drauffährt, macht’s Boom. Minen haben keine Freund-Feind-Erkennung. Seine Allianz kann man über ein Mines Sign vor Minen warnen, das sind Schilder, die vor den Minen platziert werden können.
Gebaut werden Minen mit Trucks. Feindliche Minen sucht der Cyborg Minesweeper, der sie auch automatisch einsammelt, sobald er welche gefunden hat. Er kann auch eigene entfernen.

Kreuvf: NTW-Mod gibt es in einer Version für 1.10 und für die aktuellen Versionen des WZP. Gibt es Unterschiede und, wenn ja, welche?
Delphinio: Es wird versucht diese beiden Versionen gleich zu halten, aber natürlich ist dies nicht immer möglich. Es sind nicht viele Unterschiede. Es ist im Wesentlichen nur so, dass in der 2.3-Version die Minen und die Scavenger-Verteidigungsanlagen in der Forschung sind, was in der 1.10-Version nicht möglich ist aufgrund interner Beschränkungen. Bei der 1.10-Version gibt es einen Tag-Nacht-Zyklus, der in 2.3 durch die Skybox überflüssig geworden ist. Dann hat die 1.10-Version Grim’s Texturmod, der in 2.x auch bald nutzlos sein wird.

Kreuvf: Wie kann man dir Feedback zu deinem Mod geben?
Delphinio: Och, auf http://www.warzone-2100.com/ im Forum anmelden und im NTW-Bereich ein Thema aufmachen ^^ Oder das WZ2100.net-Forum nutzen. Ich schaue ebenfalls, ob Tickets in der Fehlerverfolgungssoftware der Entwickler für NTW sind, was aber in letzter Zeit nicht der Fall war.

Kreuvf: Sehr gut und damit ist das Interview dann auch fertig. Vielen Dank :D
Delphinio: Bitte ^^

Es existiert eine englische Übersetzung unter dem Titel „Modder interview #2: NTW/Delphinio“.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

25.02.2010

Modder-Interview #1: DyDo-KI/DylanDog

Filed under: Deutsch,Sonstiges von Kreuvf um 13:50:06

DylanDog, Autor der wohlbekannten DyDoKI, wird dieses Mal interviewt. Kurz und schmerzlos: Er ist ein Mod-Entwickler und kein Programmierer. Er hat sich bislang mit JavaScript, PHP und AJAX befasst. Echtzeitstrategiespiele wie C&C, Warcraft oder Empire Earth gehörten immer zu seinen Leidenschaften. Heute ist seine Freizeit sehr eingeschränkt, weshalb er meistens im Zug an DyDo arbeitet, auf den Hin- und Rückfahrten zu und von der Arbeit. Falls sich doch mal ein wenig Freizeit am Abend ergibt, so kann auch diese für die Arbeit an DyDo genutzt werden, wohingegen nur eine sehr geringe Chance für ihn besteht an Wochenenden zu entwickeln.

Kreuvf: Wie bist du das erste Mal mit Warzone 2100 in Kontakt gekommen? Und wie lange liegt das zurück?
DylanDog: Ich denke ich habe es Anfang 2009 mit Google gefunden, während ich nach Freeware-RTS-Spielen gesucht hatte. Dann irgendwann im Mai 2009 entschloss ich mich mir die BecomePrey-KI näher anzuschauen, ich weiß nicht mehr warum. Ich fing damit an einige Ereignisse zu verbessern, stellte dann aber fest, dass die Dinge, die ich einbauen wollte, eine vollständig neue KI benötigen würden.

Kreuvf: Was war dein Grund überhaupt mit einer anderen KI anzufangen? War die Standard-KI zu schwach? Worin unterscheidet sich BecomePrey? Und was ist im Vergleich zu DyDo anders?
DylanDog: Es war einfach Neugier! Ich fing an mir das BP-Script anzuschauen, weil jeder dachte es wäre die beste KI. Ich stellte dann schnell fest, dass ich in der Lage war die Script-Sprache zu verstehen und es eine tolle Sache wäre an einer KI für ein Echtzeitstrategiespiel zu arbeiten. Der größte Unterschied zwischen DyDo und BP? Alles!!! Vom Ernten (Bau von Ölbohrtürmen) bis zum Basenbau, von der Energieverwaltung (BP hat keine) hin zur Verwaltung von Gruppen (BP hat keine Verteidigergruppe, seine Basis ist praktisch unverteidigt, sofern ich mich recht entsinne). Auch die Forschungswege sind unterschiedlich… und DyDo ist sogar mit 4 verschiedenen Persönlichkeiten angelegt, selbst wenn die Unterschiede noch nicht wirklich ausgeprägt sind. Ich habe Niker, BP-Entwickler, zu danken, da er wirklich eine ausgezeichnete Dokumentation zu BP erstellt hat, was die Dinge echt einfacher macht. Noch dazu sind einige Teile aus DyDos KI-Script-Code (nur paar Funktionen) aus der Standard-KI und Aivolution, die ich für eine bessere KI halte als die Standard-KI und die BPKI, übernommen.

Kreuvf: Bei all den Features, welches davon a) funktioniert am besten, b) erfüllt dich am stärksten mit Stolz und c) ist am problematischsten, was die Implementierung anbelangt?
DylanDog: Zu a: Ich kann nicht wirklich sagen, welches das beste ist, da dort so viele gute Dinge sind. Es gibt da aber ein paar Features, die gut funktionieren:

  • DyDo verwaltet zwei Verteidiger- und zwei Angreifergruppen aus Einheiten (zusätzlich zu einer VTOL– und einer Unterstützergruppe).
  • Eine der Gruppen ist gemischt (Cyborgs + Panzer).
  • Es sendet niemals zwei LKW zu selben Ölquelle.
  • LKW sind ebenfalls in Gruppen organisiert: Bauen (baut Gebäude), Verteidigung (baut Verteidigungsanlagen) und Ernte (baut Ölbohrtürme).
  • Zielauswahl ist nicht zufällig: Benötigt eine KI Energie, so werden die feindlichen Bohrtürme angegriffen, nicht deren Basen.
  • Die Zahl an zu bauenden Gebäuden hängt von der Zahl an Ölbohrtürmen ab.
  • Forschung geschieht nicht zufällig.
  • Die Energieverwaltung funktioniert auch gut, denke ich.

Zu b: In sämtlichen anderen KI werden Entscheidungen, was zu tun ist, von zahlreichen Einzelereignissen im Skript bestimmt, in DyDo nicht. Ich habe ein zentralisiertes Ereignis für die Kontrolle der meisten wichtigen Aktionen eingeführt, das ich „AIbrain“ nenne. Dieses Ereignis wird sekündlich ausgeführt, sammelt einige Statistiken und entscheidet dann welche anderen Ereignisse aktiviert werden sollen und welche nicht. Die Energieverwaltung findet hier statt. Mir gefällt auch der Umstand, dass ich KI-Stärke-Stufen eingeführt habe… und offensichtlich bin ich stolz darauf, dass DyDo nicht schummelt! Es erhält nicht mehr Energie, es gewährt sich nicht selbst Zugang zu irgendwelchen Forschungsthemen und es erhält keinerlei Geschenke (Einheiten oder Gebäude). Die einzige Sache, die es tut, die kein Mensch tun kann, ist die Sammlung von Statistiken über die Feinde.
Zu c: Die VTOL-Verwaltung könnte stark verbessert werden und ich werde das auch tun… problematisch ist auch den verschiedenen KI-Persönlichkeiten unterschiedliche Verhalten zu geben. Aber wirklich problematisch ist es die Erwartungen der WZ-Spieler zu erfüllen!!! Viele denken, dass eine KI wie ein Mensch agieren könne, aber das wird niemals der Fall sein. Ein guter WZ-Spieler ist in der Lage eine KI durch verschiedene Taktiken zu schlagen. Die Fähigkeit mehrere Taktiken zu benutzen (wie etwa die Entscheidungen einen bestimmten Forschungspfad für ein bestimmtes Ziel zu verfolgen) ist schwierig zu implementieren. Was die KI-Stärke anbelangt: Ein Spiel 1 KI gegen 1 menschlichen Spieler wird immer der Mensch gewinnen, „Jeder gegen jeden“ in einem 4er-Spiel ist eine andere Sache (und sogar noch schwieriger, wenn DyDo auf eine Stärke von 5 gesetzt ist).

Kreuvf: Was denkst du sind die begrenzenden Faktoren der KI-Engine des Spiels für dich als KI-Entwickler? Welche Dinge würdest du gerne einbauen, kannst es aufgrund der Beschränkungen aber nicht?
DylanDog: Ich habe keinerlei Erfahrung mit anderen KI-Engines, aber ich muss sagen, dass die Warzone-KI-Engine echt großartig ist. Als KI-Entwickler hast du so gut wie alles, was du zum Entwickeln einer guten KI brauchst. Sicher gibt es ein paar Dinge, die man noch einbauen könnte, aber nichts davon würde große Veränderungen bewirken. Es gibt da eine Sache, die ich ein wenig einschränkend finde: Entfernungsberechnungen basierend auf Wegsuche. Was ich meine ist, dass man die Länge einer Route, die ein LKW bis zu einem bestimmten Punkt braucht, nicht wissen kann. Es gibt eine Funktion, die den Abstand zweier Punkte liefert, aber das ist „nur“ der reine Punkt-zu-Punkt-Abstand „in der Luft“, diese Funktion führt keine Wegsuche durch oder berechnet die Route, die der LKW nehmen würde. Eine neue Funktion, die die Weglänge zum Objekt ausgibt, wäre wirklich toll, aber ich denke, dass es zu schwierig zu implementieren ist.

Kreuvf: Zusammengefasst heißt dies, dass das Spiel an sich die nötigen Voraussetzungen erfüllt, um eine herausfordernde KI zu erstellen und du versuchst genau das, richtig? Die Entwickler planen Aivolution mit der Dydo-KI zu ersetzen. Aivolution war eines von Tromans Projekten und er wollte eine lernfähige KI. Was denkst du über lernfähige KI? Was denkst du sind die Chancen einer solchen KI und wo liegen ihre Grenzen?
DylanDog: Nun… ich habe nicht versucht eine zu bauen, ich habe schon eine gebaut! Ich hätte das bis November/Dezember 2009 nicht sagen können, aber jetzt bin ich ziemlich zufrieden mit der geleisteten Arbeit. Ich habe immer noch einige Ideen im Kopf wie man DyDo weiter verbessern könnte, aber ich sehe es jetzt schon als eine wirklich herausfordernde KI an.
Soweit ich weiß kannst du mit dem derzeitigen Engine-Interface keine lernende KI aufstellen, weil es dir an Wegen mangelt eine Datenbank zu verwalten, in der Informationen permanent gespeichert werden (ich meine auch nach Spielende). Troman konnte das vermutlich durch ein ad hoc eingebautes Feature für AIvolution im Warzone-2100-C-Code tun, irgendwie erkennt Warzone, dass AIvolution geladen ist und speichert einige Informationen. Lernfähigkeiten wären sicher eine tolle Sache für eine KI.

Dies ist eine Übersetzung des englischen Originals „Modder interview #1: DyDo AI/DylanDog“.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

09.08.2008

Entwicklerinterview #4 – Buginator

Filed under: Deutsch,Sonstiges von Kreuvf um 09:09:12

Buginator denkt, dass persönliche Informationen irrelevant sind, daher bleiben diese außen vor. Wenn man seinen „Namen“ bei Gna nachschlägt, bekommt man „bugs buggy“, was eine Anspielung auf „bugs bug me“ (Fehler nerven mich) ist.

Kreuvf: Wie hast du zu Warzone 2100 gefunden und seit wann bist du Teil der Warzone 2100 Resurrection Project-Gruppe?
Buginator: Ich bin um Warzone 2100 schon seit einer Weile herumgeschlichen, an das genaue Datum kann ich mich wirklich nicht erinnern. Es war auf jeden Fall eine ganze Weile. Teil des Teams, wenn du damit meinst, wann ich angefangen habe Patches einzuschicken, bin ich auch schon seit Langem. Auch hier habe ich das genaue Datum vergessen. Falls du „offizielles“ Mitglied des Warzone 2100 Resurrection Project meinst, dann ist das heute (1. August 2008).

Kreuvf: Heute? Du bist also wirklich heute offiziell beigetreten? Falls ja, dann ist das ein schöner Zufall. Hast du just heute entschieden offizieller Entwickler zu werden oder gab es andere Dinge, die dich davon abgehalten hatten ein offizielles Mitglied zu werden?
Buginator: Der einzige Grund dafür, dass ich „offizieller“ Entwickler wurde, war, dass ich selbst auf’s SVN zugreifen kann und nicht immer den anderen Leuten damit im Ohr liegen muss.

Eine Zeit lang war ich inoffiziell. Der Grund dafür war, dass ich neutral gegenüber den beiden Warzone-Gruppen bleiben wollte. Eine Gruppe hat den Code bisher jedoch noch nicht veröffentlicht und so war die Entscheidung mehr oder weniger gefallen. Natürlich gibt es viele weitere Dinge, die „hinter der Bühne“ abgelaufen sind und die ich ausgelassen habe. :) Würde sich aber gut für eine „Seifenoper“ (oder sogar Komödie?) eignen. ;)

Ich denke wirklich, dass es besser ist allen Quellcode und auch sonst alles von Tag 1 an zu haben. So hat Pumpkin es gemacht und ich denke standhaft, dass dies der einzuschlagende Weg ist. Ich mag bei einem Open Source-Projekt die Vorstellung „hinter verschlossenen Türen“ zu arbeiten nicht.

Kreuvf: Was hälst du für einen Hauptnachteil des Arbeitens hinter verschlossenen Türen? Und was hälst du für einen Hauptvorteil – da jene sich sicher nicht aus Spaß dazu entschieden haben hinter verschlossenen Türen zu arbeiten?
Buginator: Wenn du geheimniskrämisch sein willst, dann, gut, kriegst du deinen Willen. Niemand außerhalb der Gruppe wird wissen was du tust und niemand wird (kann) auf den Quellcode schauen, du kannst auf diesem Wege also keine Hilfe erwarten. Dies ist ein GROSSER Nachteil. Bei diesem Projekt, alles ist offen, kannst du von Tag 1 an auf alles einen Blick werfen. Der einzige Vorteil, der mir gerade in den Sinn kommt, ist, dass du nicht willst, dass andere wissen was du gerade tust. Man kann sich das vorstellen wie Duke Nukem Forever. Irgendwann wird dieses Spiel erscheinen, aber bis dahin ist es nichts als heiße Luft. Das ist auch, warum ich in einer Zwickmühle saß, weil ich der anderen Gruppe hätte beitreten können und den Quellcode hätte sehen können, aber hätte auch nur einer meiner Patches nur Ähnlichkeit mit etwas gehabt, was in deren Codebasis vorhanden ist, hätte man mir „Diebstahl“ vorgeworfen. Das wollte ich vermeiden und ist einer der Hauptgründe weshalb ich mich nicht der anderen Gruppe angeschlossen habe.

Kreuvf: Nichtsdestoweniger werden wir an diesem Projekt dran bleiben. Ein anderes Thema: Nun, da du Commit-Zugriff hast, wirst du – sicher doch – Zeug beisteuern. Was sind die Hauptgebiete des Quellcodes, an denen du zu arbeiten planst?
Buginator: Ich denke nicht, dass es ein Gebiet der Codebasis geben wird, das ich zu einem bestimmten Punkt nicht anfassen werden. :)

Kreuvf: Dein Name ist also ein Hinweis auf das, was du hauptsächlich tun wirst?
Buginator: Nicht wirklich. Die vielen Bugpatches, die ich früher geschrieben habe, habe ich geschrieben, weil ich das Spiel spielen wollte und es fehlerhaft war und einige der Features fehlten, die ich in einem RTS haben will. Ich plane nicht nur Fehler zu beheben – das ist ECHT langweilig.

Kreuvf: Auf die Implementierung welchen Features bist du denn am schärfsten?
Buginator: Zur Zeit? Hmm. Es gibt kein spezielles Einzelfeature, ich werde mich einfach danach richten, was mir nicht gefällt und wie ich es verbessern kann. Ein sehr kurzes Beispiel dafür sind die Tabs, die sich im Debugmenü unter dem Gebäude/Einheiten-Knopf verstecken. Ich dachte es wäre unsinnig die Liste auf nur 70 (oder waren es 80?) Gegenstände zu beschränken, daher habe ich das grundsätzlich so geändert, dass ich mich nicht mit diesen Beschränkungen auseinandersetzen muss.

Kreuvf: 2.1 kommt näher und näher: Welches der Features in 2.1 sind deine Lieblingsfeatures?
Buginator: Um ehrlich zu sein, weiß ich nicht wirklich was es ins offizielle 2.1 geschafft hat. Ich spiele Betas wirklich nicht viel und bleibe normalerweise beim Trunk. Ich schätze ich werde überprüfen müssen was es in 2.1 geschafft hat und was nicht. Andererseits habe ich nicht wirklich ein Lieblingsfeature. Obwohl, weniger Fehler wäre ein Feature, das mir gefallen würde. :)

Kreuvf: Deine Philosophie zur Arbeit an Warzone 2100 ist also, dass, was auch immer falsch erscheint oder korrigiert werden sollte, von dir auch erledigt wird?
Buginator: Nicht nur von mir, ich denke der Rest der Mitglieder tut das genauso.

Für gewöhnlich jedoch frage ich in den Foren zu größeren (oder auch kleineren) Änderungen herum, damit ich wenigstens ein wenig Rückmeldung erhalte. Vieles wird zurückgehalten wegen der Hardware, die die Leute benutzen, um das Spiel zu spielen. Ich wünschte jeder könnte seine Hardware aufbessern zu Hardware, die innerhalb der letzten paar Jahre hergestellt wurde, und auch wünschte ich die Treiberschreiber würden vernünftige Treiber für ihre Hardware veröffentlichen. Intels integrierte Grafik ist so schon schlecht genug, aber es scheint die Treiber sind sogar noch beschissener. Von VIA/S3 ganz zu schweigen. Leute, hört auf euch beschissene Laptops mit beschissenen Chipsätzen zu kaufen und zu erwarten, dass das Spiel auf solchen Geräten funktioniert! Argh!

Kreuvf: Wie viel deiner Zeit verbringst du mit dem tatsächlichen Spielen von Warzone 2100? Und, wenn du spielst, suchst du mehr oder weniger aktiv nach Fehlern?
Buginator: Ist unterschiedlich. Wenn mir langweilig ist, dann spiele ich ein wenig. Wenn ich einen Fehler während des Spiels finde, neige ich dazu zu versuchen eine Lösung zu finden. Ich lese Fehlerberichte sehr wohl, aber wie zuvor gesagt, hat die Fehlersuche es an sich schnell langweilig zu werden.

Ich habe auch nicht wirklich Zeit das Spiel ordentlich zu spielen (wie ein komplettes Mehrspielerspiel oder einen vollständigen Durchgang durch die Kampagne OHNE CHEATS!). Das ist der Grund weshalb wir Leute brauchen, die für die Entwickler spielen, damit wir wissen können was funktioniert und was nicht – und ist erstmal ein Fehler gefunden, dann müssen sie auch anfangen diesen in die Fehlerverfolgung einzupflegen. Sie können auch in die Foren posten, um zu sehen, ob andere das gleiche Problem haben, aber es ist besser die „offizielle“ Methode zu benutzen.

Kreuvf: Wie lange denkst du, dass ihr, das WRP, brauchen werdet, um 2.1.0 zu veröffentlichen? Und welche Fehler blockieren derzeitig noch ein Release?
Buginator: Das ist eine gute Frage. Ich halte mich nicht wirklich an die Haupt/Nebenversionen, da ich hauptsächlich mit dem Trunk arbeite, was der aktive Entwicklungszweig ist. Ein Blick auf die Fehlerberichte offenbart, dass wir noch Fehler haben (und wahrscheinlich auch immer haben werden).

Was die Leute nicht zu realisieren scheinen ist, dass der Quellcode, der von Pumpkin veröffentlicht wurde, mehr oder weniger mit Fehlern durchsetzt war. Haufenweise Fehler. Nicht alle sind für jedermann offensichtlich, aber sie sind trotzdem da. Dieses Projekt hat einige Fehler ins Rampenlicht gerückt, indem das Programmdesign geändert wurde (wie die Entfernung von Memory pools) und wegen einiger anderer Änderungen, aber allgemein wurden die Änderungen an Warzone 2100 vorgenommen, um ein besseres Warzone 2100 zu schaffen.

Ich würde lieber mehr veröffentlichte Versionen sehen, als Monate zwischen den Veröffentlichungen zu warten. Wie ich sagte können die Entwickler nur so und so viel testen und Dinge können durchrutschen und sind durchgerutscht. Wenn die Leute ein stabileres Spiel wollen, dann fangt an zu spielen und meldet die Fehler – mit allen Informationen über den Fehler, an die ihr euch erinnern könnt!

Entschuldigung, bin ein wenig vom Thema abgekommen. Auf deine ursprüngliche Frage wann 2.1 veröffentlicht wird, muss ich sagen, dass ich es nicht weiß. Es steht jedem immer offen, der es will, nur nicht mit dem Spitznamen „2.1“. Immer daran denken, dass dies ein offenes Projekt ist und die Leute sich jederzeit das Neueste und Beste, was sie wollen, holen können. Sie müssen es nur kompilieren oder eines der Nightly Builds, die für Windowsnutzer (vielleicht genau so gut auch Mac Builds, wenn sich jemand findet diese zu erstellen – <HINWEIS>wir brauchen Mac-Maintainer!</HINWEIS>) vorhanden sind, nutzen.

Kreuvf: Und was stört dich am meisten bei der Entwicklung für Warzone 2100?
Buginator: Die gleichen Dinge, die in den meisten Open Source-Projekten vorhanden sind. Es gibt nicht wirklich einen Leiter, noch könnte es jemals einen geben, weil die meisten Leute NICHT für ihr Fähigkeiten bezahlt werden und sie sich ausgesucht haben dies in ihrer Freizeit zu erledigen. Was es manchmal schwer macht, die Dinge zu erledigen wie sie normalerweise erledigt würden.

Kreuvf: Könntest du ein Beispiel dafür geben? Muss nichts mit dem WRP zu tun haben.
Buginator: Nun, in einem normalen Projekt hast du Leute, die für dich arbeiten und du hast festgelegte Ziele. Wie wenn du ein Haus bauen willst, du eine Blaupause hast und jeder dieser folgt und eine gesonderte Aufgabe hat. Wenn man dem Plan nicht folgt, dann hast du besser eine gute Entschuldigung parat oder du wirst rausgeschmissen/verklagt oder was auch immer.

In einem Open Source-Projekt, machen die Leute, was ihnen gefällt, und man kann sie nicht wirklich zwingen etwas zu tun, das sie nicht tun wollen. (Nun, das nehme ich zurück. Man kann sie zwingen, aber ich bezweifle stark, dass diese Leute dann noch viel länger da bleiben. Es zahlt sich nicht aus den Leuten das Leben damit schwer zu machen wie und was sie beisteuern dürfen, zumindest nicht ohne verletzte Gefühle. Andererseits ist es auch nicht klug jeden Code, jede grafische Veränderung und was auch immer ins Projekt aufzunehmen ohne wenigstens ein wenig zu testen und zu diskutieren. Es ist eine Gratwanderung zwischen der Zufriedenheit und dem Vergraulen aller.)

Es gibt immer noch eine Art Blaupause (jeder hat das gleiche Ziel das Spiel besser zu machen). Aber dann hast du Leute, die unaufhörlich Dinge, die gerade fertig sind, hinzufügen/entfernen oder sogar ändern. Manchmal funktioniert dies wunderbar, manchmal nicht und meistens haben die Entwickler nicht die Gelegenheit jedes kleine Detail einer Änderung zu testen, was zu einem anderen Fehler führt. Yeah, das ist stark vereinfacht, aber was soll’s.

Kreuvf: Es fehlt also die Antriebskraft „Geld“, ja?
Buginator: Nicht wirklich Geld, es ist mehr eine Einstellung, denke ich. Es hängt hauptsächlich von der betreffenden Person und ihrer Motivation ab und, natürlich, wie viel Zeit sie dem Projekt widmen kann. Es ist schwierig das echte Leben und die bearbeiteten Projekte unter einen Hut zu bringen und hin und wieder neigen Leute dazu „auszubrennen“.

Kreuvf: Okay, das war meine letzte Frage und ich würde dir sehr für das Interview danken, Buginator.
Buginator: meh. :) Ok… ok… gern geschehen.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

15.05.2008

Entwicklerinterview #3 – Per

Filed under: Deutsch,Sonstiges von Kreuvf um 09:15:23

Nach dem vorherigen Interview mit EvilGuru hatte ich das nächste Interview erst für die Zeit nach dem Release von 2.1 geplant. Leider verzögerte sich die Veröffentlichung und nach einigen Hinweisen habe ich mich dazu entschlossen ein weiteres Interview zu führen, dieses Mal mit Per.

Er hat einen Master in Philosophie und arbeitet als Systementwickler bei einer Firma, die medizinische Geräte herstellt. Neben seiner Teilnahme am WRP umfassen seine Hobbies das Lesen von Büchern, Sport und Brettspiele.

Kreuvf: Wie hast du zu Warzone 2100 gefunden und seit wann bist du Teil der Warzone Resurrection Project-Gruppe?
Per: Ich habe 1999 oder so das Original-Warzone mit einigen Freunden gespielt, war aber niemals wirklich in irgendeiner WZ-Community aktiv bis nach der Veröffentlichung des Quelltexts. Ich habe das WRP mit rodzilla gegründet und habe mich auch am redev-Projekt oder wie es auch immer hieß beteiligt.

Kreuvf: Und was hat dich dazu motiviert diese Projekte zu gründen und/oder an ihnen teilzunehmen?
Per: Es hat sich nach Spaß angehört. Normalerweise spiele ich Spiele mit anderen Leuten, nicht alleine – ich habe die Kampagne immer noch nicht von Anfang bis Ende durch – und Warzone war eines der ersten Spiele, das in unserer LAN-Spielergruppe für sehr viel Spaß gesorgt hat.

Kreuvf: Was waren deine persönlichen Ziele für Warzone, wenn man betrachtet, dass deine Motivation der Spaß ist?
Per: Ein solides Netzwerkspiel: Keine Abstürze und keine Synchronisationsprobleme. Das hat oberste Priorität. Die Wegsuche und Grafik zu verbessern dürfte auf dem zweiten Platz liegen.

Ich würde sehr gern Taktiken im Spiel haben, die auf versteckten Operationen aufbauen. Für gewöhnlich spiele ich die Seite der hinterhältigen Bastarde in Echtzeitstrategiespielen und Rollenspielen und ich finde es sehr schade, dass es in Warzone nur eine Seite gibt anders als in Spielen wie Starcraft und Dune 2 und den meisten anderen Echtzeitstrategiespielen.

Eine Sache, an der ich arbeite, ist die Unterstützung für Tarnung und elektronische Gegenmaßnahmen zur Behinderung von Sensoren.

Kreuvf: Wie weit bist du damit gekommen?
Per: Ich habe einigen experimentellen Code, aber habe das nach hinten geschoben bis nach der Veröffentlichung von 2.1 und nachdem andere, wichtigere Arbeiten erledigt sind, z. B. mehrfädige Wegsuche und ein neues Format für Spielstände.

Kreuvf: Ein Großteil der Leser versteht womöglich nicht was mehrfädige Wegsuche bedeutet und wozu es gut ist. Könntest du das erklären?
Per: Ja, ich werde das tun. Moderne Computer werden oft mit zwei (oder mehr) Prozessoren ausgeliefert. In alten Spielen wie Warzone jedoch läuft das gesamte Spiel auf einem Prozessor. Wenn man die rechenintensiven Arbeiten wie Wegsuche in eigene Threads (engl. für Faden) aufteilt, kann man den anderen Prozessor nutzen, um diese Arbeit zu erledigen, was Kapazitäten auf dem ersten Prozessor freiräumt. So sollte das Spiel schneller und glatter laufen. Und es sollte weniger Verzögerung geben zwischen dem Befehl an eine Einheit sich irgendwo hinzubegeben und dem tatsächlichen Beginn der Befehlsausführung. Derzeit kann man in Spielen mit haufenweise Einheiten und viel Aktivität deutliche Verzögerungen (mehrere Sekunden) spüren.

Kreuvf: Oh ja, ich kenne das und es ist ziemlich nervig. Es dreht sich da also um mehrere Prozessorkerne?
Per: In Wirklichkeit dreht es sich nicht nur um mehrere Prozessorkerne. Der Code ist so geschrieben, dass er auch bei nur einem Prozessor diesen besser auslastet. Es sollten also alle Spieler eine schnellere Wegsuche haben.

Kreuvf: Also können wir in zukünftigen Versionen bessere Wegsuche und eine bessere Performance der Wegsuche erwarten? Wenn ja, wird dies schon in 2.1 so weit sein?
Per: Ich glaube nicht, dass wir dieses Feature in 2.1 quetschen wollen. Code, der mit Threads arbeitet, zu schreiben ist schwierig und es ist sehr leicht schwer zu findende und schwer zu lösende Fehler darin einzubauen. Daher wird es aus Gründen der Stabilität und für vorherige Tests nicht in 2.1 Einzug halten.

Kreuvf: Du erwähnst Stabilität. Leider waren die vergangenen Versionen nicht immer so stabil wie sich die Spieler das vielleicht gewünscht hätten. Was gibt’s Neues an der Qualitätsfront?
Per: Ja, vergangene Versionen waren nicht immer sehr stabil und wir wollen dies ändern. Einer der Dinge, an denen wir arbeiten, sind Unit Tests und das Erschließen weiterer Wege zur kontinuierlichen Verbesserung der Codequalität. Wir haben sehr viel Zeit damit verbracht die Dinge „unter der Haube“ zu verbessern und ich denke, dass sich dies in großem Stile in zukünftigen Versionen bezahlt machen wird, da es leichter wird Änderungen vorzunehmen und Fehler zu finden.

Kreuvf: Neben den Änderungen „unter der Haube“ gibt es sehr viele andere, die in 2.1 eingebaut wurden – was ist dein Nr. 1-Feature in 2.1?
Per: Mehrspielerstabilität ist definitiv die Nummer 1, die Balance-Korrekturen kommen an guter zweiter Stelle.

Kreuvf: Und was stört dich am meisten beim Entwicklen für Warzone 2100?
Per: Was mich am meisten stört? Hmm. Fehler! ;)

Kreuvf: Eine letzte Sache: Du hast einen Master in Philosophie, was mich neugierig macht auf deinen Lieblingsphilosophen, falls du einen hast.
Per: Oh, es gibt so viele, die man gut finden kann, aber mein Lieblingsphilosoph ist definitiv Immanuel Kant.

Kreuvf: Okay, dann möchte ich dir für das Interview danken, Per.
Per: Gern geschehen.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

28.12.2007

Entwicklerinterview #2 – Freddie Witherden

Filed under: Deutsch,Sonstiges von Kreuvf um 14:11:27

Nach dem Spezialinterview mit DevUrandom ist es an der Zeit für ein weiteres Entwicklerinterview, dieses Mal mit EvilGuru, der mit echtem Namen Freddie Witherden heißt. Er ist 17 Jahre alt und lebt im Vereinigten Königreich. Derzeit lernt er Physik, Chemie und Mathe auf Oberstufenniveau und hofft Physik am Imperial College London studieren zu dürfen.

Kreuvf: Die erste Frage wird immer die gleiche bleiben: Wie hast du zu Warzone 2100 gefunden und seit wann bist du Teil der Warzone Resurrection Project-Gruppe?
EvilGuru: Ich habe das Projekt im Juni (oder war es Mai?) 2007 gefunden, als mir eines Nachmittags langweilig war. Jedoch spiele ich Warzone schon seit sehr viel Längerem. Zuerst hatte ich es mir damals im Jahre 1999 für die PSX geholt (kurz nach Erscheinen), nachdem ich ein positives Review darüber in einem PSX-Magazin gelesen hatte. Später, im Jahre 2004, hatte ich mir dann endlich die PC-Version des Spiels zugelegt und blieb dabei bis etwa Januar.
Kreuvf: Also war es für dich ein logischer Schritt am WRP mitzuarbeiten?
EvilGuru: Ja. Im Jahre 2004 war ich noch ziemlich unerfahren was Computer anging und konnte nicht programmieren/mithelfen, als ich das Spiel aber in diesem Jahr wiederentdeckte, war ich sehr viel erfahrener. Nachdem ich das WRP gefunden und das Spiel heruntergeladen hatte, habe ich auch schnell den IRC-Channel gefunden, wo ich herzlich empfangen wurde.

Der Kontakt zu den Entwicklern gab mir die Unterstützung, die ich brauchte, um vom Spieler zu einem (anfängerhaften) Mitwirkenden zu werden. Mein erster Patch war eine Modifikation am Erfahrungssystem, der dafür sorgte, dass Erfahrung durch Schaden statt durch Abschüsse erreicht wird, was sehr beliebt bei der Community zu sein scheint.
Kreuvf: Was würdest du mit einem Blick auf die Features, die auf jeden Fall mit 2.1 kommen werden, sagen ist dein Nr. 1-Feature, falls es ein solches gibt?
EvilGuru: Eindeutig der plattformübergreifende Netzwerkcode, der es zum ersten Mal Linux/Mac/Windows-Nutzern gestatten wird untereinander zu spielen. Für das 2.1-Release ist dies umso wichtiger, da 64-bit-Unterstützung hinzugefügt wurde.
Kreuvf: Wie hat sich die zum Spielen benötigte Bandbreite mit dem neuen Netzwerkcode verändert?
EvilGuru: Es sollte genau so sein wie mit dem vorherigen Netzwerkcode, ein wenig mehr an einigen Stellen, ein bisschen weniger an anderen. Warzones Netzwerkcode ist jedoch extrem effizient. Ein Vierspielerspiel (zwei Menschen, zwei KI) benötigt sogar inmitten des Kampfes nur um die 1,4 KiB/s. Dies sorgt sogar auf 56k-Modem-Verbindungen für ein sehr gut spielbares Spiel.
Kreuvf: Im Interview mit Giel wurde Internationalisierung erwähnt. Wie viel vom i18n-Zeug ist jetzt fertig? Und wird 2.1 mit mehreren Sprachdateien ausgeliefert werden oder wird es nur auf Englisch sein?
EvilGuru: Das neue Textrenderingsystem ist jetzt vollständig in Warzone integriert. Es bleiben also nur noch die Sprachdateien übrig. Glücklicherweise sind viele Entwickler zweisprachig und daher sehe ich auch keine Probleme mit i18n kommen.
Kreuvf: Welche anderen Beiträge zum Projekt hast du seit deinem Beitritt geleistet?
EvilGuru: Ich habe ein neues Videooptionenmenü hinzugefügt, das es aus Warzone selbst heraus ermöglicht die Auflösung zu ändern oder Vollbildschirm/Fenster-Modus einzustellen, sodass man keine Konfigurationsdatei mehr bearbeiten braucht.

Zudem gibt es einen „Lock Cursor“-Modus, der dafür sorgt, dass das Spiel auch im Fenstermodus spielbar ist, da der Mauszeiger im Fenster gefangen bleibt, solange das Spiel nicht pausiert ist. Und für leistungsschwächere Systeme habe ich die Möglichkeit die Texturgröße zu ändern hinzugefügt, womit jene Systeme ein besseres Spielerlebnis bieten sollten, da man jetzt im Fenster mit kleineren Texturen hoffentlich bessere Performance hat.

Ich war sehr aktiv was die Balancing/Gameplay-Seite der Dinge anbelangt — als Versuch das Spiel taktischer und fairer zu gestalten. Eine der Sachen, die mich sehr beschäftigen, ist Erfahrung und daher dreht sich der Großteil meiner Arbeit auch darum.

Zuallererst möchte ich das Teilabschuss-System einführen, das das Hochleven vereinfacht. Vorher hat eine Einheit einen Abschuss nur dann erhalten, wenn sie etwas zerstört hat. Ich hingegen war kein Fan davon, wenn ein Lancer eine andere Einheit auf 5% HP runterhaut und während der Nachladephase ein Cyborg ein paar Schüsse abgibt und der Cyborg den Abschuss dafür erhält. Mit dem Teilabschuss-System erhält man Abschüsse für das, was man gemacht hat. Mit dem neuen System bekommt die Lancereinheit daher nach obigen Beispiel 0,95 Abschüsse und der Cyborg 0,05 Abschüsse.

Vor kurzem wurde dies sogar noch durch ein Beschaffenheitsfaktor-System erweitert. Wenn also eine teure Einheit bzw. eine Einheit mit hohen Lebenspunkten eine billige Einheit bzw. eine Einheit mit wenigen Lebenspunkten zerstört, wird sie weniger Erfahrung bekommen als wäre der Fall umgedreht.

Aber auch hier mache ich noch nicht Halt! Da das Leveling-System jetzt größtenteils „fair“ ist, habe ich vor Erfahrung einflussreicher zu machen, was den Ausgang von Kämpfen angeht. Das beinhaltet auch, dass Einheiten mit mehr Erfahrung mit höherer Genauigkeit schießen und mehr Schaden anrichten wohingegen Erfahrung derzeit ausschließlich den erlittenen Schaden einer Einheit reduziert.

Desweiteren habe ich auch am Recyclingsystem gearbeitet. Mir kommt es so vor als wäre Recycling derzeit zu selten benutzt und nicht effektiv genug. Um dies also nützlicher zu gestalten, werden neue Einheit schneller gebaut, wenn alte Einheiten recyclet werden. Natürlich gibt es einige Mechanismen, die davor schützen, dass dies zu sehr ausgenutzt wird.
Kreuvf: Alles in allem also wird man mehr Ressourcen für die Produktion übrig haben, wenn man recyclet, was natürlich die Kämpfe anheizen wird.
EvilGuru: Ja, ein Spieler, der recyclet, wird in der Lage sein seine Armee schneller auf die Beine zu stellen und diese mit bereits erfahrenen Einheiten auszustatten. Es sollte den Kampf taktischer machen, da es wichtiger als je zuvor ist die eigenen Einheiten zu erhalten und auf der anderen Seite dem Gegner keine freie Erfahrung zu geben.
Kreuvf: Hast du irgendwas am Erfahrungs-Stack geändert? Kann man einer Einheit einen Rang zuweisen oder hat sich diesbezüglich nichts geändert und die erste produzierte Einheit erhält weiterhin den höchsten/besten Rang?
EvilGuru: Es wird immer noch der höchste Rang zuerst gewählt. Der Grund dies nicht zu ändern war, dass es eine weitere Komplexitätsebene ins Spiel gebracht hätte, die man inmitten eines hitzigen Gefechtes nicht gebrauchen kann.
Kreuvf: Okay, das war dann meine letzte Frage, EvilGuru, und ich möchte dir für dieses Interview danken.
EvilGuru: Dankeschön!

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

Nächste Seite »