Game Engine Architecture - J. Gregory

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

E-Commerce Shop System
Professional XNA Game Programming
Design- und Entwicklungswerkzeuge
Datenbankzugriff im WWW (Kommerzielle Systeme)
Ruby on Rails im Überblick
Zentraleinheit CPU, Motherbord, RAM
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Präsentation Einsatzmöglichkeit von Microsoft Virtual PC 2004 im Praktikum Rechnernetze Marwane Lahsini PHT02.
Vergleich von 3D Game Engines
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
OGRE Object-Oriented Graphics Rendering Engine Szenen-orientierte, flexible 3D Engine in C++ Hardware-beschleunigte 3D Grafiken Unterstützt Direct3D und.
Wissensbasierte Daten- interpretation für einen automatisierten und adaptiven Inhaltsintegrationsprozeß Lyndon J B Nixon
CAR Car Augmented Reality Präsentiert von Michael Emmersberger
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Seminar: Software-Produkt-Linien(SPL)
Computergrafik Vom Dreieck zum Ego-Shooter Olaf Müller
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Fedora Repository.
Coccon das Web-XML-Publishing System Thomas Haller.
LearnLinc und Coach. Was ist LearnLinc? LearnLinc ist eine Software, die vom Amstel-Institut der Universität in Amsterdam zur Verfügung gestellt wird.
SKALIERBARE HARDWARE UNABHÄNGIGE LÖSUNGEN FÜR HSM, ARCHIVIERUNG UND SICHEREN DATENAUSTAUSCH YOUR DATA. YOUR CONTROL.
Michael Haverbeck System Engineer
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
„Buy and Make“ anstelle von „Make or Buy“
Warum brauche ich ein CMS – Content Management System?
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
Michael Köster User Experience Specialist Microsoft Corporation.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Nicolas Frings Maximilian Bernd Stefan Piernikarcyk
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Microsoft Student Partners
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
The EventCollector Concept Präsentation der Diplomarbeit von Thomas Moser und Lukas Karrer Distributed System Group,
User Interface Design and Evaluation
MSDN TechTalk Anwendungen integrieren in Microsoft Dynamics CRM 4.0.
Seminar: Virtuelle Forschungsumgebungen Dozent: Professor Manfred Thaller Referent: Peter Smits
ANIMATION II Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung SS 2013 Softwaretechnologie II (Teil II): Simulation und 3D.
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
Software Architektur für on-premise und die Cloud Lösungen
Daniel Greitens | maximago Performanceoptimierung in WPF und Silverlight User Interfaces 15:30.
Gamification – Und was heißt das auf handwerklicher Ebene?
Software Design Patterns
Die Welt der Shader Universität zu Köln WS 14/15 Softwaretechnologie II (Teil 1) Prof. Dr. Manfred Thaller Referent: Lukas Kley Fortgeschrittene Techniken.
Installation und erste Schritte.  Unity  Download, Installation und Ausführung  Erster Einblick  Quellen WS 14/15 - HKI - Softwaretechnologie II (Teil.
Artificial Intelligience
Nik Lutz, Stefan Feissli, Christof Seiler Diplomarbeit Verteidigung.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Zielgruppe Inhalte Layout Technik: Zielgruppe,Produktion Allgemeines Kosten Rolle der FH Konkretes Konzepte Publikation in Neuen Medien.
Betriebssysteme I: Windows
Nik Lutz, Stefan Feissli, Christof Seiler
ROS – Robot Operating System
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie.
COLLADA II Digital Asset Schema Release Anike Schulz Reusable Content in 3D und Simulationssystemen Prof. Thaller.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
 Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2.
Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof.
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Vehicle Simulation Kit. CAE Elektronik GmbH Confidential and/or Proprietary Information 2 Gliederung Einleitung Aufbau einer Simulation Legacy-Methode.
Grundprinzipien des Game Design
Magische Wand Ein Spiel zum Thema: Betriebssysteme.
Tobias Fritz Eine Einführung in die 2D Spieleprogrammierung mit Java und Slick. Unterlagen:
 Präsentation transkript:

Game Engine Architecture - J. Gregory Introduction p. 3-56 Universität zu Köln Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Marietta Steinhöfel SS 2013

Gliederung Was ist ein Game? Was ist eine Game Engine? Engine-Unterschiede zwischen Genres Runtime Engine Architecture Tools & Asset Pipeline

Was ist ein Game? Eine interaktive Erfahrung, die den Spieler vor eine herausfordernde Sequenz von Mustern stellt, welche er/sie erlernt und evtl. meistert.* `Soft real-time interactive agent-based computer simulations` Simulation der realen bzw. fiktiven Spielewelt Mehrere Agenten interagieren (Fahrzeuge, Character) Simulation der virtuellen Welt ist dynamisch (Welt verändert sich mit der Spielzeit) Spielgeschehen reagiert in ‚Echtzeit‘ auf Input des Spielers * Raph Koster über „game“ in seinem Buch: „A theory of Fun for Game Design“

Was ist eine Game Engine? Begriff entstand Mitte 1990er mit den First-person-shootern (FPS) Strikte Trennung von Software Komponenten (Render-, Kollisions-, Audio System) und Komponenten der Gaming Experience (Art Assets, Spielewelt, Spielregeln) „Mod community“ entstand Lizenzierung & re-tooling von Spielen durch Entwickler (tool-kit für neue Art-Produkte wie Waffen, Character usw.) Eigenständige Spieler & kleinere Studios entwickelten neue Spiele durch Modifizierung existierender Spiele Kommerziell lizensierte Game Engines wie Quake, Source oder die Unreal Engine können genutzt werden, um selber zu entwickeln Denn die Laufbahn vieler Spiele geht auf die Weiterenwicklung einer bestimmten Engine zurück. zB Quake von idSoftware. Der Code dieses, wenn auch veralteten Spiels, ist frei verfügbar und kann benutzt und analysiert werden, indem man das Debugging neben dem Spiel laufen lässt Diese sind sehr teuer, aber es gibt viele Wikis und Dokumentationen im internet (S. 25ff im Buch enthalten nützliche Links) * by id Software

Unterschied zwischen Game und Engine Die ‚Daten gesteuerte Architektur‘ unterscheidet die Game Engine von der Software „Game Engine“ = ist demnach eine erweiterbare Software, die als Fundament für andere Spiele bzw. zur Modifikation genutzt werden kann Eine hard-coded Spiellogik hingegen hat wenig bis keinen Mehrwert

Game Genres mit unterschiedlichen Engine-Anforderungen First-Person Shooter High-Fidelity Animation von Spielerarm & Waffen Im Unterschied: In Third-Person Games muss der ganze Körper in hoher Qualität animiert werden Call of Duty 2 (Xbox 360/PLAYSTATION 3) Fighting Games User-Input System für komplexe Tastenkombinationen Akkurate Treffer-Erfassung Physik basierte Simulation von Haaren u. Kleidung Engine Unterschiede sind genrespezifisch, eine E. von einem 2-Player-Game lässt sich kaum für eine Multiplayer-Online-Game verwenden Es gibt aber grundlegende Bedingungen, die alle 3D-Spiele benötigen: AudioSysteme, Input, Text-Rendering usw. Tekken 6 (PLAYSTATION 3)

Game Genres mit unterschiedlichen Engine-Anforderungen Real-Time Strategy (RTS) Kamera-Aufsicht auf Spielfeld Früher: Zellen basierte Weltdarstellung, heute: perspektivische 3D Projektion mit ‚Grid-layout System‘ für Positionierung von Hintergrund-Elementen Dem Spieler ist es erlaubt neue Elemente zu bauen/hinzuzufügen Interaktion erfolgt über Single-Click, Gebiet basierter Auswahl und Toolbars Command & Conquer 3 (PC)

Runtime Engine Architecture Eine Engine besteht, wie andere Software-Systeme, aus Layern mit extrem vielen Komponenten Hardware PC, XBOX usw. SDKs DirectX, Open GL Ressourcen (Game Assets) 3D Model, Texturen, Fonts Visual Effects Gameplay Foundations Licht & Schatten, Environment Mapping Scripts (statische/dynamische Objekte, Laden der Welt…)

Komponenten einer Engine Hardware = Plattform, auf der das Spiel läuft Operating System = PC Game beansprucht nicht die volle Hardware, sondern muss mit anderen Programmen im Multi Tasking ablaufen. OS kümmert sich um Aufteilung (zB Microsoft Windows). Auf Konsolen ist dafür ein Library Layer eingebaut 3rd-Party Software ,SDKs und Middleware = SDK stellt Interface (API = application programming interface) zur Verfügung Resource Manager = Verwaltet sämtliche Engine Input Daten und alle Typen von Game Assets

Komponenten einer Engine Rendering Engine = komplexeste Komponente, kann immer unterschiedlich aufgebaut sein. Setzt sich widerrum aus Layern zusammen: Low Level Renderer (Zeichnen Geometry) Graphic Device Interface (Basis Code der SDK zum initialisieren der Graphic Devices) Visual Effects Profile & Debugging Tools = dient zu Test- und Debbug-Prozessen waährend des laufenden Spiels, um die Performance zu optimieren Collision and Physics = wird von den wenigsten Unternehmen selbst geschrieben, stattdessen werden 3rd-party SDKs wie Havok benutzt Human Interface Device (HID) = Input des Spielers (Controller) Gameplay Foundation System = bezieht sich auf die Aktionen des Spiels: Regeln und Möglichkeiten des Characters

Tools & Asset Pipeline Maya, 3DS Max 3D mesh data Game Object Digital Content Creator (DDC) Tools World Editor/ Game World Maya, 3DS Max 3D mesh data Game Object Photoshop Game Object Texture .bmp Game Houdini/ Particle Tool Game Object Particle Systems Games sind Multimedia Applikationen Der Daten-Input kommt in verschiedenen Formen Game World = hier kommt alles zusammen Sound/Audio Tool Audio clips Game Object