Fragen und Antworten zur Evolution Engine

Als Reaktion auf die endlosen Fragen und Kommentare zum Wechsel der NS2 Engine hat Max eine Hand voll Fragen herausgepickt und beantwortet.

Einige der Informationen waren bereits im ersten Artikel zur Engine enthalten, denn dort hatte ich nicht nur den Podcast zusammengefasst sondern auch Fragen und Antworten aus den bis dato 223 Kommentaren aus dem UWE Forum einfließen lassen.

Wird die Entwicklung einer neuen Engine den Releasetermin verzögern?

Wird denken nicht. Die Entwicklung zu beschleunigen und Arbeitsaufwände besser abschätzen zu können waren die Hauptgründe für den Wechsel. Wir haben uns vor 5 Monaten für den Wechsel entschieden und sind jetzt mit dem Spiel weiter als wir es damals mit der Source Engine waren.

Das Einbinden neuer Funktionen läuft jetzt wesentlich schneller da wir eine Technologie nutzen die genau das leistet was wir benötigen. Wir verwenden jetzt viel weniger Zeit darauf knifflige Bugs aufzuspüren und uns den Kopf darüber zu zerbrechen wie wir ein bestimmtes Gameplay Element mit der Engine realisieren können. Wir kommen mit unserer Arbeit, obwohl wir jetzt mehr selber coden müssen, schneller voran.

Wie weit seid ihr mit der Engine?

Das ist schwer zu sagen aber wir haben alle Hauptsysteme (Networking, Scripting, Physik und Animationen) so weit fertig, dass sie die Entwicklung des Gamecodes und der Artworks nicht aufhalten.

Diese Woche haben wir die Marke von 80.000 Zeilen C++ Code für die Engine und unsere Tools (ohne den kompletten NS2 Game Code) durchbrochen. Zum Vergleich: Quake 3 Arena hat etwa 120.000 Zeilen Engine und Tool Code.

Wird es eine Mac OS oder Linux Version der Engine geben?

Wir würden gerne mehrere Plattformen unterstützen aber zur Zeit haben wir schon mit der Entwicklung das Games für den PC alle Hände voll zu tun. Außerdem sind Macs (die für Entwicklung und Tests nötig wären) sehr teuer. Wir halten allen Code so plattform-unabhängig wie möglich, so dass eine Portierung in der Zukunft ohne große Probleme möglich wäre. Dies betrifft sowohl unsere Entwicklertools als auch die Engine.

Unterstützt ihr weiterhin Customization und Modding?

Ja, Customization ist einer der vier Grundpfeiler von Natural Selection 2 und sehr wichtig für uns. Der komplette Gameplay Code in NS2 ist in einfach zu modifizierendem Lua geschrieben. Wir planen NS2 eine Version unserer Lua IDE, sowie alle anderen nötigen Tools zum Anfertigen von Maps, Models, Texturen und Animationen für unsere Engine beizufügen.

Ich will den Umgang mit einem neuen Editor nicht erlernen!

Unser Ziel ist es Programme zu fertigen, die so einfach und intuitiv sind, dass du den Umgang mit ihnen nicht erlernen musst. Wir versuchen dies zu erreichen indem wir uns an den Interface-Konventionen ähnlicher Programme orientieren und die Bedienoberfläche sauber und übersichtlich gestalten. Wenn du in der Lage warst Maps mit einem Editor für ein anderes Game anzufertigen wirst du mit unserem Editor keine Probleme haben.

Eure Engine ist speziell für den Multiplayer Modus ausgelegt. Wird es künstliche Intelligenz (Bots) geben?

Wir haben bereits einen computergesteuerten Charakter genannt, den wir ins Spiel integrieren werden: Den Weld Bot. Die Engine, bzw. das Spiel werden also NPCs unterstützen. Zum Thema AI werden wir vielleicht in der Zukunft etwas mehr verraten.
Warum nutzt ihr nicht Euphoria, Havok oder eine andere Engine?
Diese Produkte sind ziemlich teuer. Wir sind ein StartUp und müssen jeden Cent zweimal umdrehen. Da andere Engines keinen Vorteil bieten bevorzugen wir es unsere Ressourcen anderweitig einzusetzen.

Was die Physik angeht gibt es einige sehr gute kostenlose Alternativen: PhysX, Bullet und ODE. Wir haben sowohl PhysX als auch Bullet in unsere Engine integriert und sind mit dem Ergebnis sehr zufrieden.

Wir sich von PyhsX überzeugen möchte kann sich dieses PhysX Cloth Video anschauen:

Sehenswerte Momente:

  1. Sekunde 37 – 53 erinnert an Marines die von einem Onos durch die Luft gewirbelt werden.
  2. Sekunde 64 – 72 eine riesige Eidechse läuft durchs Bild

Wird die Engine Bunny Hopping erlauben?

Player Movement ist nicht Teil der Engine sondern wird im Game Code geregelt. Die Engine ist der Teil, der bei allen Multiplayer 3D Spielen sehr ähnlich ist und der Game Code ist der individuelle Teil, der Natural Selection ausmacht. Spezielle Spielerbewegungen sind natürlich wichtiger Bestandteil von NS2 und werden in modifizierbarem Lua implementiert.

Das ist ein wirklich angenehmer Weg der Bonnuy Hopping Diskussion zu vermeiden.

Was werden ihr gegen Cheater unternehmen?

Wie andere First Person Shooter auch, basiert unser Netzwerkmodell auf einer Server-Client Architektur mit einem autoritären Server, was die Möglichkeiten des Betrugs auf Clientseite stark einschränkt.

Dies verhindert natürlich nicht alle Arten von Cheats wie Aimbots oder Wall Hacks. Das ist der Punkt an dem Systeme wie Valves Anti-Chat oder PunkBuster ansetzen. Unsere eigene Engine zu nutzen schränkt unsere Möglichkeiten nicht ein. Valve macht VAC über Steamworks verfügbar und PunkBuster arbeitet direkt mit Spieleentwicklern zusammen um eine Integration in ihr System zu ermöglichen.

Wir wissen noch nicht was genau wir tun werden um diese Cheats zu verhindern aber die Optionen sind da.

Technische Fragen und Zukunftsausblick

Es gab auch einen Haufen technischer Fragen zur Engine und ihren Funktionen. Jetzt, da wir euch über die Engine informiert haben, könnt ihr davon ausgehen in Zukunft mehr Details zur Engine und zum Game zu bekommen.

Übrigens

Für alle die es interessiert. Max arbeitet zur Zeit an der Engine (bzw. den dazu passenden Entwickler-Tools) und Charlie kümmert sich um das Spiel selbst.

Einen offiziellen Namen hat die Engine noch nicht darum habe ich jetzt einfach mal Evolution Engine genommen.

7 Gedanken zu “Fragen und Antworten zur Evolution Engine

  1. Jo, PhysX hat Software-„emulation“ wobei die Karte sozusagen eine extra Physik-CPU ist auf der dann alles laufen würde, wenn sie installiert ist.
    Allerdings arbeitet NVIDIA schon an PhysX über CUDA (CUDA ist ein interface um Code auf GPU’s laufen zu lassen) was im endeffekt PhysX komplett von der Grafikkarte berechnen liese :)

  2. wenn ich mir im vergleich aber die Hl2 physik angucken (auf videos bei youtube) kommt die mir doch noch nen tick besser vor. Läuft alles flüssiger und so. Gerade bei Ns2 wird physik wohl verdammt wichtig werden.

  3. Das wird leider nicht gehen, was ich mir gewünscht hätte, die euphoria engine, das wäre genial, aber leider zu teuer für so ein kleiner entwickler (wurde ja geschrieben).
    @allen
    Das wird wohl nicht so passieren, jedenfalls kann ich es mir nicht vorstellen, wäre aber toll und realistisch.
    Aber bei physx braucht man ja eine extra karte und ich bezweifel das die andere engine genauso stark ist.

  4. Oder ein Skulk kann sich an einem Marine festbeißen und langsam aber kontinuierlich Schaden zufügen und durch ruckartige Bewegungen kann der Marine den Skulk abschütteln.

    Aber am meisten wünsche ich mir ein Onos das mit Charge die Marines in alle Richtungen fliegen lassen kann.

  5. PyhsX überzeugt,es ist ein gewaltiger schritt,könnte mir sehr gut vorstellen das damit vielleicht bestimmte taktiken möglich werden?

    Beispiel:
    Onos wird getötet und liegt mitten im gang,das für die aliens der vorteil ensteht das sie zeit gewonnen haben,die marines müssen das stück fleisch ;D ertmal zur seite räumen?

    Oder mit gebäuden,sofern sie transport fähig sind,sie auf einen haufen schieben kann..

    Bei anticheating tools würde ich mir Punkbuster wünschen.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>