Schlachtfeld

Der Stafflerblog von Warzone2100.de

08.10.2007

Spezialinterview #1: Warzone 2100 2.1

Filed under: Deutsch,Entwicklung von Kreuvf um 16:10:24

Wie im Board angekündigt hatte ich ein Interview mit DevUrandom über die kommende Version 2.1 von Warzone 2100. Zuerst gibt es aber ein paar Fakten zu DevUrandom, dann folgt das Interview:
Derzeit studiert er Mathematik und Informatik in Deutschland. In seiner Freizeit betreibt er Sport und interessiert sich für das Mittelalter.

Seinen ersten Kontakt zu WZ hatte er am 8. Juli 2005, was auch der Tag war, an dem er das erste Mal Hand am Quellcode angelegt hatte. Damals hieß das Projekt Warzone ReDev und der Quellcode war bei BerliOS untergebracht. Version 0.1 war bei LinuxGames.com und Linux-Gamers.net angekündigt worden, zwei Wochen bevor DevUrandom in die Welt von Warzone eingetaucht ist. Er war sofort von Warzone 2100 fasziniert (es war das einzige Echtzeitstrategiespiel für Linux, dass er damals kannte) und die Art eigene Fahrzeuge durch Zusammenbauen einzelner Teile zu erschaffen erinnerte ihn an sein Allzeitlieblingsspiel der Kategorie rundenbasierter Strategiespiele, Sid Meier’s Alpha Centauri.
Einige Tage später begann sein Einsatz für Warzone mit einer riesigen Wunschliste und einige Wochen später war er Teil des Projekts.

Seither hat er an vielen Teilen von Warzone gearbeitet. Derzeit ist er verantwortlich für das Erstellen von Releases (Installer kompilieren, Quellcode-Tarballs, Ankündigen bei verschiedenen Spieleseiten und Benachrichtigen von Linuxdistributionen).

Einige Leute halten ihn für einen Projektleiter, was er aber nicht ist. Das Kernteam arbeitet völlig demokratisch und jenen, die als „Experten“ auf dem gefragten Gebiet betrachtet werden, wird die meiste Beachtung geschenkt, mit einer leicht schwereren Gewichtung der „älteren“ Mitglieder. Die letzte Entscheidung liegt jedoch bei der Person, die die eigentliche Arbeit verrichtet.

Kreuvf: Guten Tag, DevUrandom, schön dich heute hier zu haben. Wie du schon weißt werde ich gewisse Fragen zur kommenden Version 2.1 von Warzone 2100 stellen.
DevUrandom: Klar, fang‘ an.

Kreuvf: Die Version ist für Weihnachten 2007 angesetzt und es wurde als ein Netzwerk-Release angekündigt. Könntest du erklären was dies im Detail bedeutet?
DevUrandom: Wir wollen 2.1 in etwa Ende des Jahres rausbringen. Wir garantieren nicht, dass es fertig sein wird, um unter Eurem Weihnachtsbaum zu liegen (oder wie auch immer Ihr Weihnachten feiert, wenn überhaupt), aber das ist das Ziel, das wir anstreben. Das Haupt“feature“ ist es die Netzwerkfähigkeiten zwischen allen Systemen stabil zu bekommen, daher auch der Name.

Deshalb werden wir den zugrunde liegenden Netzwerkcode durch etwas ersetzen, das nicht so anfällig für Unterschiede ist, die durch die Verwendung unterschiedlicher Betriebssysteme und 32bit/64bit-Systeme entstehen können. Dieses System (der Autor nennt es „netprimitives“) wird zu großen Teilen von Freddie Witherden (EvilGuru) geschrieben und wird derzeit in Warzone eingebaut.

Kreuvf: Also wird man tatsächlich in der Lage sein ohne Probleme gegen jemanden zu spielen, der Linux benutzt, jemanden, der Mac OS X benutzt, und jemanden, der Windows benutzt?
DevUrandom: Dies ist das Ziel, ja. Da wir einem Entwicklungsmodell folgen, bei dem das Spiel mit jedem Patch stabiler wird, mag es bei 2.1.0 vielleicht nicht optimal sein, aber wir tun unser Bestes, um die bestmögliche Spielerfahrung abzuliefern.

Nebenbemerkung zum Warzone-Versionsschema: 2.1.0 -> Hauptversion = 2, Nebenversion = 1, Patchversion = 0. Erhöhungen der Hauptversion finden nur sehr, sehr selten statt, wenn etwas wirklich Bahnbrechendes geändert wurde. Nebenversionen könnten auch Featureversion genannt werden: Wir bauen neue Features in diese ein. Patchversionen, auch „Bugfixversionen“, sind nur dazu gedacht Fehler zu beheben.

Kreuvf: Welche anderen Änderungen sind für 2.1 geplant neben den Netzwerkcode-Änderungen? Und wie werden sich diese Änderungen auf die minimalen Systemanforderungen für Warzone 2100 auswirken?
DevUrandom: Was bisher fertig ist:

  • AIVolution von Troman: Eine verbesserte KI mit Lernfähigkeiten.
  • Multiturrets von Watermelon: Droids (so nennt Warzone Einheiten intern) können mehrere Waffentürme statt nur einem haben. Stelle dir das vor wie einen Panzer: Er hat ein Geschütz für Schüsse auf hohe Distanz gegen gepanzerte Einheiten und ein MG zur Verteidigung in der Nähe gegen weiche Ziele.
  • Verbesserte Zielwahl-KI (afaik Troman+Watermelon): Droids sollten die Ziele, die sie angreifen, intelligenter auswählen.
  • Kollisionsbasiertes Treffersystem von Watermelon: Ob ein Ziel von einem Projektil getroffen wird oder nicht, wird nicht länger durch ein Würfelsystem bestimmt. Stattdessen schädigen Projektile nur das Ziel, das sie auch treffen. Wenn sich die Einheit, auf die gefeuert wurde, wegbewegt während das Projektil in der Luft ist, wird es, weil es eben nicht getroffen wird, nicht mehr geschädigt werden.
  • Von Troman wurde die Skriptsprache verbessert. Sie unterstützt nun Strings, Funktionen mit lokalen Variablen und und und…
  • Ein System, das die Fähigkeit zur Verfügung stellt einem Droid von jeder Seite Panzerung zur Verfügung zu stellen (statt dem gesamten Droid an sich nur eine Panzerung), wurde von Watermelon geschrieben. Das bedeutet, dass man Panzer haben kann, die oben und hinten schwach gepanzert sind, dafür aber vorne sehr stark. Dies sollte Mods mit einem höheren Fokus auf Taktik unterstützen. (Derzeit noch nicht in Warzone selbst benutzt.)

Neben dem Netzcode teste/arbeite ich gerade an verschiedenen Dingen im Zusammenhang mit Grafik, eines davon ist ein neugeschriebener Terrainrenderer, ein anderer TrueType-Schriftarten. Der Renderer ändert sich derzeit häufig und Rendertechniken werden ausprobiert und wieder verworfen, weshalb es sein könnte, dass es nicht zum Freeze (Testperiode vor dem Release) und damit nicht für 2.1 fertig ist, auch wenn ich mein Bestes versuche.
Da die TrueType-Schriften sehr nützlich für Übersetzungen sein können (man kann theoretisch jede Sprache damit unterstützen), richte ich mein Hauptaugenmerk jetzt darauf. (Und es ist auch ein wenig einfacher einzubauen, weil es nicht 1001 Wege gibt das zu tun.) (Anmerkung der Redaktion: Interview wurde am 23.09.2007 gehalten, mittlerweile durch Giel mithilfe der Bibliothek QuesoGLC eingebaut) Was mich zur nächsten großen Änderung bringt, die noch nicht genannt wurde: NLS (Native Language Support, Muttersprachenunterstützung)

Wenn du die aktuellen Testversionen ausprobiert hast (oder du die Mailingliste oder die SVN/Trunk-Version beobachtet hast), hast du vielleicht die Option „NLS“ in der Kompotentenauswahl bemerkt. Das bedeutet, dass es jetzt möglich ist (sein sollte) Warzone in so gut wie jede Sprache zu übersetzen und der Benutzer die gewünschte Sprache wählen kann, während Warzone läuft. Vorher war jeder Text in den Menüs fest in der ausführbaren Datei verankert und Dinge wie Einheitenbeschreibungen und Missionseinweisungen waren in viele Textdateien zerstreut. Jetzt befinden sich alle Strings an einem Ort und können einfacher übersetzt werden. Man braucht Warzone nicht neuzuinstallieren, um die Sprache zu wechseln.

Anforderungen: Das neue Treffersystem kann ein wenig fordernder für die CPU sein, aber ich zweifle, dass man das bemerken wird. Die Rendertechniken für den Terrainrenderer ändern sich momentan zu sehr, um da auch nur irgendeine Abschätzung geben zu können.

Allgemein versuchen wir so viele Leute wie möglich und sinnvoll zu unterstützen. Es wird daher keine Rückkehr des Softwarerenderers geben und wenn man irgendwas auf der Höhe einer Radeon- oder GeForce-Karte hat, sollte man auf der sicheren Seite sein. Wenn es der Renderer rechtzeitig schafft, werden Vertex Arrays (VA) auf jeden Fall benötigt werden, was aber sogar Karten der TNT-Reihe unterstützen so weit ich weiß.

Kreuvf: Wow, das ist überwältigend. Diese verbesserte KI von Troman: In wie weit wird diese „verbessert“ sein? Wird diese bessere Taktikentscheidungen treffen und wie funktioniert das Lernen?
DevUrandom: Besser fragst du da Troman. Ich kann dir sagen, dass sie von Grund auf neu geschrieben wurde und dass sie sich merkt wo man sie gewöhnlich angreift und mit welchen Waffen, damit sie für das nächste Mal bessere Verteidigung errichten kann.

Kreuvf: Also umfasst das Lernen nicht das Lernen zwischen den Spielen, sondern eher sowas wie match-bezogenes Lernen – die KI lernt für ein Spiel und speichert nichts?
DevUrandom: Nein, ich denke, dass es kartenbasierte Daten speichert, damit es Vorteile aus früheren Spielen ziehen kann und die Taktik über mehrere Sessions hinweg verbessert. Was ich definitiv weiß, ist, dass selbst erfahrenere Spieler schwere Zeiten mit der neuen KI haben werden.

Kreuvf: Hört sich nach einer stärkeren KI an – etwas, wonach sich die Leute seit dem Release von Warzone im Jahre 1999 gesehnt haben.

Ich will zu meinem letzten Thema für heute kommen: Balancing. Wie du sehr wahrscheinlich weißt, bin ich ein Balancefanatiker und all diese Dinge scheinen, für mich, das gesamte Balancing stark zu beeinflussen. Die Frage ist nun: Wie spürbar sind diese Änderungen in Bezug auf das Balancing, sind z. B. einige Waffen, die vorher schwach waren, jetzt stark?
DevUrandom: Besonders das Treffersystem beeinflusst das Balancing sehr. Attacken auf hohe Reichweiten und Schüsse auf sich schnell bewegende Ziele können ziemlich ungenau sein. Das letztere gilt z. B. für VTOLs, die sehr schwer zu treffen waren. Dies wurde durch größere Trefferboxen ausgeglichen (man kennt das vielleicht von Spielen wie Counter-Strike), um den Effekt weniger sichtbar zu machen. Artillerie mit hoher Reichweite kann jetzt auch einige Probleme haben. Wir werden versuchen dies bis zum Release auszugleichen und stimmen das Balancing während der 2.1er- und der 2.2er-Reihe (die für Sommer nächsten Jahres angepeilt ist) ab. Aber Schüsse auf hohe Reichweite und auf sich schnell bewegende Ziele werden auf jeden Fall schwerer als vorher. Dies sollte mehr Taktiken erlauben und kleinen, aber schnellen Einheiten helfen, wie Cyborgs zum Beispiel.

Hinweis: Ich bin weder so sehr mit dem Balancing oder dem eigentlichen Spielen vertraut, noch spiele ich seit dem Anfang, genieße meine Antworten daher mit Vorsicht.

Kreuvf: Okay, DevUrandom. Vielen Dank für dieses Interview und dafür, dass du alle Fragen erschöpfend beantwortet hast.
DevUrandom: Gern geschehen.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)