Uber Entertainment teilt bei Planetary Annihilatin gern offen und aus Überzeugung Entwicklungsdetails mit der Community. Seid ihr auch an der Technik hinter PA interessiert? Dann lernt heute wie in PA die Planeten geformt werden.

Wie entstehen eigentlich die Planeten in Planetary Annihilation und wie kann das alles so schön rund sein? Man nehme eine flache Map wie aus einem gewöhnlichen RTS und mache sie rund, würde der Laie jetzt sagen. Doch ganz so einfach ist es nicht, denn die runde Planetenform bringt ganz eigene Probleme mit sich. In ihrem Blog beschreibt die Uber Praktikantin Ming-Lun „Allen“ Chou aus was die Planeten in PA eigentlich gemacht sind.

In PA läuft es anders als in herkömmlichen RTS: Hier wird die Karte nicht via height-maps erzeugt, sondern über die CSG Technik (Constructive Solid Geometry). Bei dieser werden Boole’sche Operatoren verwendet, um Objekte von einander abzuziehen oder zu addieren, um daraus neue Objekte zu bilden. Auf diese Weise können auch komplexe und scharfkantige Terrainstrukturen entstehen, die nicht wie aus einem generischen Landschaftstool entsprungen aussehen. Jon Mavor, technischer Direktor bei Uber, hat das ganze Prinzip noch einmal sehr ausführlich in seinem Blog veranschaulicht, wer näheres erfahren will liest also dort weiter.

Das Problem ist nun natürlich, dass die ganzen Landschaftsobjekte „flach“ und ohne Krümmung erstellt werden, sodass es merkwürdig aussehen würde, wenn man diese Objekte flach auf die Planetenoberfläche drückt, deren Größe und Rundung wohlgemerkt auch von Planet zu Planet unterschiedlich ist. Hier kommt nun das Projizieren ins Spiel, an welchem Allen bei Uber gearbeitet hat. Wie bei einem Diaprojektor wird das Objekt also auf die Oberfläche projiziert, wobei es sich den Gegebenheiten der Landschaft anpasst. Dies bezeichnet man als Arching. Nun ist es jedoch noch notwendig, dass die Objekte gebogen werden, um sich der Krümmung des Planeten anzupassen. Das widerum bezeichnet man als Bending.

arch vs bend Wie formt man Planeten? Wie genau dies nun funktioniert, erklärt Allen in ihrem Blog, am besten lest ihr dort also nach, wenn euch die Hintergründe interessieren. In Kurzform: Beim Bending müssen noch Dinge wie die Rotation, die Vektorhöhe, der Rotationswinkel und die Rotationsachse beachtet werden. Neben kleinen Bildern zur Veranschaulichung findet ihr dort auch den nötigen Code, um so etwas selbst zu entwickeln :). Als letzter Schritt wird nun noch mithilfe des Simplex-Noise-Algorithmus Variation hereingebracht, damit sich nicht alles auf der gleichen Höhe der Oberfläche befindet.

Solltet ihr jetzt nur Bahnhof verstanden haben – macht nix, hauptsache ihr habt verstanden wie awesome die Technik ist, die hinter PA steckt ;).

 

Nach oben scrollen