Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof.

Ähnliche Präsentationen


Präsentation zum Thema: "Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof."—  Präsentation transkript:

1 Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof. Dr. Thaller SS 2015 Referent: Tim Höfer

2 Absicht und Motivation  Effizient Objekte zu lokalisieren, indem Sie sie in einer Datenstruktur durch ihre Positionen organisiert.

3 Einheiten auf dem Spielfeld  Funktion „Nahkampf“  Wenn Unit A auf Position von Unit B  KAMPF

4 Battle Lines  Vorschlag: Statt Units im Array zu speichern nimmt man Battle Lines

5 Das Muster  Jedes Objekt hat seinen Platz im Raum (Spielfeld)  Objekte werden in räumlichen Datenstrukturen gespeichert  Räumliche Datenstruktur lässt Objekte einfacher vergleichen

6 Sample Code  Aufteilung in Zellen

7 Ein Netz verlinkter Einheiten  2D: Jede Unit besitzt Position & Pointer zum Grid

8 Ein Netz verlinkter Einheiten  Jede Zelle = Pointer zur Unit

9 Ein Netz verlinkter Einheiten  Resultat: Doppelte verlinkte Listen statt Arrays!

10 Das Battlefield

11 A Clash of Swords  Units in Zellen  KAMPF

12 A Clash of Swords  Nur noch Einheiten pro Zelle werden verglichen

13 Charging Forward  Performance Problem wurde beseitigt  Was passiert, wenn die Zelle verlassen wird?  Bewegung:

14 Charging Forward

15 At Arm‘s Length

16

17

18 Design Decisions  Flat partition:  Ist einfacher  Der Speicherverbrauch ist konstant  Aktualisiert schneller bei Positionsveränderung der Objekte  Hierarchical partition  Behandelt leeren Raum effizienter  Behandelt dicht besiedelten Raum effizienter

19 Ist Partitionierung abhängig von der Menge der Objekte?  Ziel: Ausgewogene Partitionierung  Wenn die Partitionierung objektunabhängig ist  Objekte können inkrementell hinzugefügt werden  Objekte können schnell bewegt werden  Partitionen können unausgeglichen sein  Wenn sich Partitionierung objektabhängig ist  BSP / k-d trees teilen die Welt rekursiv  Partitionen sind dadurch ausgeglichen  Es ist effizienter mehrere Objekte auf einmal zu partitionieren

20 Ist Partitionierung abhängig von der Menge der Objekte?  Wenn die Partitionierung objektunabhängig ist, aber die Hierarchie die Objekte berücksichtigt

21 Werden Objekte nur in Partitionen gespeichert?  Wenn die Objekte nur in der Partition gespeichert werden:  Es vermeidet Speicher-Overhead und die Komplexität zweier Sammlungen  Wenn es eine zusätzliche Sammlung für die Objekte gibt:  Objekt-Anfragen werden schneller durchlaufen

22 Quellen  http://gameprogrammingpatterns.com/spatial-partition.html


Herunterladen ppt "Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof."

Ähnliche Präsentationen


Google-Anzeigen