190 likes | 349 Views
Gameplay Systems I. Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz. Aufbau der Spielwelt. Elemente statisch/dynamisch Chunks Level, Map, Stage, Area, … High-Level Flow. Game Objects.
E N D
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz
Aufbau der Spielwelt • Elemente statisch/dynamisch • Chunks • Level, Map, Stage, Area, … • High-Level Flow
Game Objects • Objektorientierter Ansatz • Game Object Model • Menge von Klassen, Methoden und Beziehungen • Tool-Side Design vs. Runtime Design
Data-Driven Game Engines • ~Antonym zu hardcoded Games • Spielverhalten durch Daten von Künstlern und Designern bestimmt
Game World Editor Bildnachweis: http://thatgamedesignstudent.wordpress.com/2009/02/04/warcraft-iii-world-editor/
Game World Editor • Chunks erstellen & verändern • Visualisieren • Navigation • Selektion • Layers • Property Grid • Object Placement & Alignment Aids • Special ObjectTypes • Laden/Speichern • Rapid Iteration • Integrated Asset Management Tools
GameplayFoundation Systems • Runtimegameobject model • Streaming gameworlds • Updatinggameobjects in real time • Messaging / eventhandling • Scripting • High-levelgameflowmanagement
Runtimegameobject model • Dynamicallyspawning/destroyingobjects • Linkagetolow-levelenginesystems • Real-time objectbehavioursimulation • Definenewobjecttypes • Unique objectIds • Game objectqueries • Game objectreferences • Finite statemachinesupport • Network replication • Saving / loadinggames / objectpersistence
RuntimeObject Model Architectures • Object-centric vs. property-centric
Object-Centric Architectures Probleme: • Verstehen, Verwalten und Modifizieren von Klassen • Multidimensionale Beziehungen • Bubble-Up Effect
Object-Centric Architectures Mix-in Classes
Object-Centric Architectures: Composition „is-a → „has-a“
Property-Centric Architectures • Bessere Speichernutzung • Cache-freundlich ‚struct of arrays‘ • Unübersichtlich • Komplexes Verhalten schwieriger umzusetzen
World Chunk Data Formats • Binary Object Images • Serialized Game Object Descriptions • Spawners and Type Schemas
Loading & Streaming Game Worlds • Simple Level Loading • Air Locks • Game World Streaming • Spawning Objects • Saved Games