[BLOG] Der Werkzeugkasten der Entwickler: Architektur und Raumaufteilung der SimCity-Gebäude

  • Jan 30, 2014
    Cristian St. Aubyn, Senior Technical Artist

    Hallo, ich bin Cristian St. Aubyn, Senior Technical Artist im Maxis-Studio in Emeryville. Ich bin für die Erstellung der Grafikelemente verantwortlich. Wir haben vor Kurzem unsere Modding-Richtlinien veröffentlicht. Hier könnt ihr sie noch einmal nachlesen. Das Modding spielt eine große Rolle in der Philosophie unseres Studios. Wir sind schon gespannt darauf, was ihr alles zustandebringt.
    Ich freue mich, heute den ersten Beitrag einer Reihe unter dem Motto Der Werkzeugkasten der Entwickler liefern zu dürfen. Diese Serie an Beiträgen soll euch helfen, die Intentionen und Prozesse nachzuvollziehen, die hinter der Erstellung der Spielinhalte für SimCity stecken. Wir hoffen, euch dadurch wichtige Einblicke und Erkenntnisse geben zu können, um euch die Erstellung und den Aufbau von Mods zu erleichtern.
    In diesem ersten Blog möchte ich euch die Prinzipien zur Erstellung von Gebäuden in SimCity etwas näherbringen. Es handelt sich hierbei um ein komplexes System. Daher will ich mit einer grundlegenden Beschreibung der Gebäudegeometrie beginnen, um später auf die diffizileren Themen einzugehen. Für alle, die es interessiert: Wir verwenden zur Erstellung fast all unserer Spielmodelle Maya in Verbindung mit einer Reihe eigener selbst entwickelter Tools.
    SimCity ist ein Spiel, das dem Baukastenprinzip folgt. Die Städte können aus einer unvorhersehbaren Kombination an Gebäuden, Straßen usw. bestehen. Anders als bei den "Levels" in eher linear aufgebauten Spielen haben wir keine direkte Kontrolle über die Art und Menge der geometrischen Formen, die zu verschiedenen Zeitpunkten gerendert werden müssen.
    Die Engine des Spiels muss unabhängig von der Stadt, die ein Spieler willkürlich erstellt, reibungslos funktionieren. Um dem gerecht zu werden, werden für die Spielfläche unterschiedliche Obergrenzen definiert "“ in diesem Fall mithilfe von Polygonwerten, die auf dem zweidimensionalen Raum beruhen, den eine Einheit in Anspruch nimmt.
    So verfügen kleinere Gebäude über niedrigere Polygonwerte als größere. Solange alle Gebäude innerhalb dieser Vorgaben bleiben, lässt sich die gesamte Fläche von einer Stadtgrenze bis zur anderen mit einer beliebigen Kombination an Gebäuden füllen, ohne den Rahmen der Rendering-Engine zu sprengen.
    Hier ist eine Reihe von Screenshots, auf denen ihr seht, wie sich die vielfältige Gebäudegeometrie darstellt.
    Dieses Bild zeigt eines der kleinsten Gebäude im Spiel, die Shotgun-Hütte. Sie verfügt über die niedrigsten Polygonwerte aller Gebäude. Aufgrund ihrer kleinen Grundfläche stellt sie jedoch eine potenzielle Gefahr für die Leistung der Engine dar. Eine solche Hütte ist für sich genommen keine allzu komplizierte Sache. Allerdings können diese Gebäude sehr nah nebeneinander platziert werden. Würde eine Stadt von einem Stadtrand bis zum anderen komplett mit solchen Hütten gefüllt, hätten wir am Ende eine Menge Polygone.

    " Shotgun-Hütte"


    Hier ist ein Bürokomplex, ein Beispiel für ein unverhältnismäßig größeres und detailreicheres Gebäude. Solche Bauwerke benötigen weitaus mehr Raum. Sie verfügen deshalb auch über höhere Polygonwerte.

    " Bürokomplex"


    Aufgrund der gleichförmigen Struktur der mittleren Etagen konnten wir uns bei der Ausarbeitung der geometrischen Details stärker auf die Basis und den oberen Teil des Gebäudes konzentrieren. Diese beiden Bereiche fallen auch den Spielern am stärksten ins Auge.

    " Basisetagen des Bürokomplexes" Street Level


    Wie ihr sehen könnt, wurden an der Gebäudebasis Polygone verwendet, um auf den ersten Etagen die architektonischen Details herauszuarbeiten. Das hat uns dabei geholfen, ein charakteristisches Modell zu erschaffen, das sich deutlich von den anderen Türmen der Stadt unterscheidet. Außerdem wirkt der Komplex auch von der Straße aus betrachtet interessanter, wenn der Spieler einmal per Zoom in die Stadt eingetaucht ist.

    " Dachetagen des Bürokomplexes" Roof


    Für die Dachetagen und die Turmspitze haben wir ebenfalls eine beträchtliche Menge an Polygonen verwendet. Es war uns wichtig, dass das Gebäude auch aus der Vogelperspektive klar zu erkennen ist.
    Die Gruppe der "mittelgroßen Gebäude" ist von den Ausmaßen her ziemlich breit gefächert. Auf jeden Fall brauchen sie aber auf der Stadtkarte mehr Platz und entsprechend mehr Polygone als kleine Gebäude. Beim Modellieren eines solchen Gebäudes gilt es, die Polygone dort einzusetzen, wo sie dem Gebäude eine möglichst charakteristische Detailtiefe verleihen.
    Beim unten dargestellten Kohlebergwerk haben wir uns etwa für einen industriellen skelettartigen Aufbau entschieden. Die Modellierung so vieler Kreuzstreben würde normalerweise den Polygonrahmen eines so kleinen Gebäudes sprengen. Hier ist es allerdings so, dass das relativ kleine Gebäude auf einem Bauplatz mittlerer Größe steht, also über eine im Vergleich zur Gebäudegröße großzügige Grundstücksfläche verfügt.

    " Kohlebergwerk"



    " Details des Kohlebergwerks" Detail



    Detailtreue


    Bei Vergrößerung müssen die Modelle detailreicher dargestellt werden. Bei der Betrachtung aus der Ferne hingegen reicht ein einfacherer Aufbau.
    Die Technik, für sämtliche Modelle unterschiedliche virtuelle Detailstufen zu verwenden, ist bei der Konzeption von Spiel-Engines weit verbreitet. Der Einsatz dieser LODs (Levels of Detail) steigert drastisch die Systemleistung. Die Methode kann helfen, das Aliasing und sonstige Darstellungsprobleme zu minimieren.
    Die Gebäude in SimCity umfassen vier verschiedene LODs, die von grob bis fein reichen. Die Spiel-Engine wählt auf Basis der Entfernung zwischen Modell und Kamera automatisch die richtige Detailstufe aus.
    LOD-0 entspricht der höchsten Auflösung, während von LOD-1 über LOD-2 bis LOD-3 die Detailtreue um jeweils 50 Prozent abnimmt.
    Hier seht ihr die Darstellung eines Hauses der oberen Einkommensschicht mit niedriger Dichte auf allen vier Detailstufen.

    Modernes Haus (LOD-0)


    Die Version mit den höchsten Polygonwerten. In diesem Fall ist die Polygonzahl knapp bemessen, weshalb die Unterschiede zwischen LOD-0 und LOD-1 geringer ausfallen.

    Modernes Haus (LOD-1)


    Dekorative Details wie etwa das Balkongeländer sowie die Verkleidungen der Metallvorbauten fallen weg.

    Modernes Haus (LOD-2)


    Hier haben wir die Komplexität weiter stark reduziert, ohne jedoch die grundsätzliche Form des Gebäudes zu verändern. Die gewölbten Formen sind weniger differenziert, während kleinteiligere Bauteile wie etwa die Dachkanten und die dekorativen Querbalken weggelassen wurden.

    Modernes Haus (LOD-3)


    Dieses LOD verwendet die Engine, wenn die Kamera weit vom Modell entfernt ist und das Gebäude auf dem Bildschirm nur klein dargestellt wird. In dieser Ansicht wurden so viele Polygone wie möglich eingespart. Übrig bleiben nur die Formen, die für den flüssigen Übergang von LOD-2 auf LOD-3 notwendig sind.


    Maßstab


    Eine Maya-Einheit entspricht technisch gesehen einem Meter unserer Spiel-Engine. Allerdings sind die Spielinhalte nicht alle maßstabsgetreu. In der Regel sind kleine Elemente übertrieben groß dargestellt, während sehr große Objekte auf der Anzeige schrumpfen. Ein kleines Beispiel zur Veranschaulichung: Hier rechts seht ihr ein Haus im Vergleich mit einem dreistöckigen Gebäude und dem 381 Meter hohen Empire State Building in New York. Bei maßstabsgetreuer Darstellung wären im Spiel neben einem modernen Wolkenkratzer weder die kleinen Gebäude noch die Autos oder Fußgänger noch wirklich sichtbar.

    Die beste Ausgangsbasis für ein neues Gebäude in SimCity sind bereits bestehende Modelle, die sich größenmäßig gut ins Spiel einfügen.


    Mehr zu den Polygonwerten


    Wie zuvor bereits erwähnt, basieren die Polygon-Obergrenzen auf der Fläche, die ein Gebäude für sich beansprucht. Grundlage ist also die Grundstücksgröße des Gebäudes, und nicht etwa das Modell selbst. Mit anderen Worten: Was zählt, ist die Fläche, nicht das Volumen. Deshalb verfügt ein höheres Gebäude nicht zwangsläufig über mehr Polygone. Glücklicherweise nehmen die meisten hohen Gebäude aber auch große Grundflächen in Anspruch. Deshalb sind sie im Vergleich zu kleineren Gebäuden mit mehr Polygonen ausgestattet.


    Zugewiesene Polygone: 0,5 Dreiecke pro Quadratmeter (bei LOD-0)


    Das bedeutet im Falle der Shotgun-Hütten, die auf 16 x 32 Meter großen Grundstücken stehen:

    • 16 m x 32 m = 512 m2
    • 512 m2 x 0,5 Dreiecke/m2 = 256 Dreiecke
    • LOD-0: 256 x 100 Prozent = 256 Dreiecke
    • LOD-1: 256 x 50 Prozent = 128 Dreiecke
    • LOD-2: 256 x 25 Prozent = 64 Dreiecke
    • LOD-3: 256 x 12,5 Prozent = 32 Dreiecke

    Das heißt: Auf LOD-3 wäre die Shotgun-Hütte auf maximal 32 Dreiecke begrenzt. 32 Dreiecke sind nicht viel. Doch auf der Anzeigestufe LOD-3 ist das Gebäude auch ziemlich weit entfernt.
    Our buildings fall into two categories:
    "RCI Buildings": The residential, commercial, and industrial buildings that appear automatically in zoned areas
    "Placed Buildings": The player placed buildings such as fire stations, power plants, tourist attractions, etc.
    Unsere Gebäude lassen sich in zwei Gruppen einteilen: Die Wohn-, Gewerbe- und Industriegebäude entstehen automatisch in den ausgewiesenen Gebieten. Die Versatzstücke stellt der Spieler selbst auf. Hierzu gehören Feuerwachen, Kraftwerke, Touristenattraktionen, etc.
    Bei den Versatzstücken haben wir auf großzügigere Polygongrenzen geachtet. Das hat zweierlei Gründe. Zum einen wollten wir, dass diese Gebäude interessanter wirken. Schließlich handelt es sich dabei um besondere Spielinhalte. Zweitens kommen diese Bauwerke nur in begrenzter Zahl vor. Beispielsweise ist es nicht möglich, die gesamte Spielfläche mit Rathäusern zu füllen.
    Bei der Erstellung eigener Gebäude könnt ihr natürlich vom Beispiel unserer Polygonvorgaben abweichen. Behaltet aber immer auch die Leistungsprobleme im Hinterkopf. Wenn sich eine Stadt mit Gebäuden füllt, die hohe Polygonwerte aufweisen, beeinträchtigt dies nicht nur die Bildfrequenz. Auch der Arbeitsspeicher kann darunter leiden. Auf Geräten mit niedrigeren Spezifikationen kann sich das zum richtigen Problem auswachsen.
    Ich hoffe, ihr habt jetzt eine grundlegende Vorstellung davon, wie ihr die Gebäude so gestalten könnt, dass sie innerhalb der Polygongrenzen bleiben. Nächstes Mal will ich euch etwas mehr über den Gebäude-Shader verraten, den wir verwenden. Hier ist schon einmal ein kleiner Vorgeschmack darauf, wie ein Gebäude-Shader unter anderem für Detailreichtum, Tiefe und Farbenvielfalt sorgt.

    Aufbau ohne Shader



    Dasselbe Modell im Spiel mit aktivem Shader


    Über diesen Link gelangt ihr zu unserer deutschen Mod Community.
    Bis zum nächsten Mal,
    Euer Christian



    Quelle: Blog Article



    HartzIV: denke das könnte Dich interessieren ;)

  • Hey Leute,


    Ich hab mal was gemacht um diese Sache hier ein wenig verständlicher zu machen. Ich bin mir nämlich sicher das es einige gibt die in diesem Bereich unerfahren sind.


    Was meinen die von Maxis mit Polygonen?



    In diesem Bild sind zwei Straßenlampen, es sind genau die gleichen. Der einzige unterschied ist einfach nur das bei der Rechten Straßenleuchte weniger Polygone verwendet worden sind.

    Zum Vergleich
    Links: 1890 Polygone Rechts: 171 Polygone


    Also das was die Polygone im Klartext machen ist die Fläche im Prinzip zu glätten. Dadurch das mehr Polygone in einem Objekt sind werden die Kanten runder und auch Sauberer.
    Polygone sind wie viele einzelne Flächen die zu dem Objekt, das man gerade gestaltet, vernäht werden.


    Persönlich



    Ich mach das oft so das ich eine Alternative zu einem Objekt mache. Oftmals mach ich das um einfach ein besseres Ergebnis zu erzielen. Sie sind nicht genau gleich aber aus dem selben Muster.

    Vergleich

    Links: 1890 Polygone Alternative Rechts: 42 Polygone


    PS: Würden die Modelle aus SimCity mit hohen Polygon werten aufgebaut wäre das mit dem Spielen SEHR SEHR lustig :D Kurz, LAG. In der Regel heißt es immer: Alles was unnötig ist muss raus.