Softwaretechnik in der Spieleentwicklung Architektur zur automatisierten Spielweltgenerierung

Ähnliche Dokumente
Softwaretechnik in der Spieleentwicklung

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

A Domain Specific Language for Project Execution Models

ò ò ò ò ò ò Software Engineering I Organisatorisches / Einf³hrung Version Andreas Stuckert/Markus Rentschler

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Optimierung eines Seitenschutz Ersatzmodells mittels Sensitivitätsstudie und adaptiven Response Surface Methoden

ZuuL - Entwicklung eines Adventures

46 Bachelor-Studiengang Mediendesign und digitale Gestaltung

Michael Grönert 9. Juli Game Design

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Axel Haller, Symposium März 2010 Engineering Workflow: Potential und Praxis bei der Integration von Verfahrenstechnik und Automation

Comparing Software Factories and Software Product Lines

Entwurf und Umsetzung eines Werkzeugs für die Fluchtwegplanung

Ravensburger Hybrid-Spiele

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

Automatische Generierung von Höhenlinien aus dem DGM

Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase)

Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Markus Heckner Lehrstuhl für Medieninformatik Institut für Information und Medien, Sprache und Kultur Fakultät für Sprach-, Literatur- und

Projekt: Requirements Engineering Sommersemester Anforderungsspezifikation im X-Treme Programming

Modellgetriebene Service-Entwicklung

IT-Projekt-Management

Praktikumsvorstellung

Vortrag zum Hauptseminar Hardware/Software Co-Design

Browserbasiertes, kollaboratives Whiteboard

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Der digitale Versicherungsarbeitsplatz der Zukunft Eine Fallstudie der GIS AG zur Entwicklung einer Benutzeroberfla che

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH

Vortrag von: Ilias Agorakis & Robert Roginer

COPE COuPled Evolution of metamodels and models

CPU-Caches. Christian Duße. Seminar Effiziente Programmierung in C

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014

Bundling auf Softwaremärkten Eine technische Sicht

Notationen zur Prozessmodellierung

Model Driven Software Development

Gliederung. Wozu braucht man Anforderungsmanagement? Motivation AM. Was umfasst Anforderungsmanagement? Definition AM

Berater (m/w) für den Bereich Mobilfunk und Digitalfunk Standorte: Berlin, München Referenz: JUD. Spannende Ingenieurkarriere ohne Ausweichmanöver.

Bachelor- und Masterstudienplan für den Studiengang Sales Engineering and Product Management an der RUHR-UNIVERSITÄT BOCHUM

Systemdenken und Gestaltungsmethodik Dokumentation

Software SCP Global Technology. ????? SCP Global?????

Produktpräsentation ZEISS Reverse Engineering. Holometric Technologies GmbH Dr. Dominik Schmid

Software Engineering Projekt (SEP) mit ROBOCODE

Benutzerorientierte Entwicklung mobiler Anwendungen

Dr. Alexander Egger, Christian Krenn DCCS GmbH. Ein bisserl agil. Ja darf man denn das?

MITTEILUNGSBLATT. Studienjahr 2005/2006 Ausgegeben am Stück Sämtliche Funktionsbezeichnungen sind geschlechtsneutral zu verstehen.

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Zustandsüberwachung mit Monitorstrukturen

Erfahrungen in Bezug auf Usability bei der Analyse nicht-funktionaler Anforderungen mit MOQARE

3.4 Strukturierte Datentypen

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Visual Studio 2010 Neues für Architekten

MBEES Research Abstract Ein Framework zur automatisierten Ermittlung der Modellqualität bei eingebetteten Systemen

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Agfa Graphics betont die Bedeutung des Workflows auf der ISA Sign Expo 2015

PITSS.CON Oracle Forms 11g - Lower your IT Costs

Verbundprojekt MIKADO

INF und WINF an der TU Wien - wie ist das zu studieren? Informationsüberblick über die einzelnen Studienrichtungen

Gameprogramming WS2013/14 Futurella von Pavel Belskiy und Felix Niemeyer Betreuer: Stefan Buschmann

Simulationsstudien für die Logistik Version 1.0

InnoSenT Innovative Sensor Technology

Agiles Requirements Engineering mit Scrum. Rainer Fetscher Neuss, 16. November 2010

Programmieren mit Java

Systemdenken und Gestaltungsmethodik System-Modellierung

Siemens Prozess Strategie

Model Driven Development im Überblick

Comparison of Software Products using Software Engineering Metrics

Product Line Engineering (PLE)

Seamless Model-based Engineering of a Reactive System

RE-Metriken in SCRUM. Michael Mainik

Seminar Game Development Game Computer Graphics. Einleitung

Einführung in Generatives Programmieren. Bastian Molkenthin

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

Oracle, Datenbank, PowerPoint, Dokumente, PPTX, Automatisierung, Prozess-Automatisierung, smaxt

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

IT Costs in Banks: Revisit Your Beliefs!

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Expertenfrühstück Requirements Management. Bedeutung von Anforderungen und Systematischer Produktentwicklung

Generatives Programmieren

E-POSTBUSINESS API: Informationen für Partner. Geschäftsfeld- & Partnerentwicklung Januar 2015

Lichttechnische Simulation von LED-Leuchten

Visuelle Simulation eines Radiosity Algorithmus und ihre Anwendung in Lernprozessen

Some Software Engineering Principles

Software Engineering

Neubau der IHK Stuttgart

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Verbesserte Auswahl von Studierenden der internationalen Studiengänge an den Universitäten Stuttgart, Ulm und Karlsruhe

Software-Evolution im Staged Lifecycle Model

Karriere in der IT und Informatik: Voraussetzungen für den Arbeitsplatz der Zukunft

Jochen Bauer

Automatisiertes UI Testing. Mark Allibone, , #2

Technische Dokumentation

6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Tutorial Excel Übung 1&2 Kartenverkauf -1- Kartenverkauf Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung1&2.

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

IDS Scheer Consulting Prozessorientierte SAP-ERP Implementierung mit Industry.Performance READY

BIM Arbeitsprozess eines Schalungs- und Gerüstherstellers bei gleichzeitiger Erbringung von Ingenieursdienstleistungen

How To: Bachelor SWT. Heiko Geppert. Fachgruppe Informatik

Transkript:

Damian Schmidt AG Softwareengineering, Institut für Informatik Softwaretechnik in der Spieleentwicklung Architektur zur automatisierten Spielweltgenerierung Diplomarbeit Abschlussvortrag 10.05.2012 Damian Schmidt

Einführung und Motivation 70 60 53 Mrd. USD 62 Mrd. USD 68 Mrd. USD 50 42 Mrd. USD 40 30 28 Mrd. USD Weltweiter Videospiele-Umsatz in Mrd. USD, Quelle: PwC 20 24 Mrd. USD 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 Wie stellt man ein gutes Spiel her? Wann ist ein Spiel überhaupt gut? Welchen Stellenwert hat Softwaretechnik bei der Spieleentwicklung? Einführung und Motivation 2

Inhalt Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung Ist Softwaretechnik ein Teilbereich der Spieleentwicklung oder andersherum? Teil 2 - Praktischer Teil: Projekt Spielweltgenerator Modell und Architektur zur automatisierten Spielweltgenerierung Schlussteil Fazit und Ausblick Inhaltsübersicht 3

Spieleentwicklung Definition Tätigkeitsbereich von Spieleentwicklern (engl. Game Developers) und wissenschaftliche Fragestellungen und Forschungsthemen mit Bezug zur Entwicklung digitaler Spiele. Bereiche der Spieleentwicklung Softwareentwicklung, Game Design, Mediendesign Game Design Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 4

Teamgröße Spieleentwicklungsprozess Produktionsprozess und Entwicklerteam (Beispiel): Testen und QA Grafik und Medien Programmierung Design und Management Zeitverlauf Vorproduktion Produktion Alphatest Betatest QA & Abnahme Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 5

Spieleentwicklungsprozess Teilprozess mit möglichen Zyklen: Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 6

Modelle zur Einordnung der Spieleentwicklung Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 7

Modelle zur Einordnung der Spieleentwicklung Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 8

Schnittstelle zwischen Game Design und Softwareentwicklung Gutes Spiel: Spielspaß, Gameplay, und Ästhetik Gute Software: Wartbarkeit Zuverlässigkeit Innovation Wartbarkeit, Zuverlässigkeit.. Effizienz Benutzerfreundlichkeit Wartbarkeit, Zuverlässigkeit etc. erstellt implementiert Game Design Dokument Game Designer Softwareentwickler Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 9

Fazit und Einordnung Fazit: Engineering nicht auf Software beschränken Game Engineering zur Optimierung des Spieleentwicklungsprozesses Teil 1 - Theorieteil: Softwaretechnik und Spieleentwicklung 10

Projekt Spielweltgenerator Zielsetzung: Methode: Modell und Architektur auf hohem Abstraktionsniveau entwerfen und implementieren Nutzen: Zeitersparnis bei der Erstellung von Spielwelten Stand der Technik: Terraingeneratoren, Spezialsoftware und Spieleengines mit Tools Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 11

Spielwelt-Modell Metamodell ( Primärmodell ) beinhaltet Ebenen mit Daten zur Berechnung der Spielwelt-Daten Beispiel (vereinfacht): Domänenspezifische Sprache (Domain Specific Language) Beispiel: WATER := (HEIGHT < 0,0) Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 12

Abstrakte Weltdefinition Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Umgangssprachliche, abstrakte Weltdefinition Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 13

Beispiel Generierungsprozess Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 14

Beispiel Generierungsprozess Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 15

Beispiel Generierungsprozess Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 16

Beispiel Generierungsprozess Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 17

Beispiel Generierungsprozess Parameter: Heightmap = zufällig Parameter: Meerespiegel = 0.0, Material = Grundmaterial Befehl A: Setze bei ebenen Flächen Material = Gras Befehl B: Setze bei steilen Flächen Material = Fels Befehl C: Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 18

Generierung eines Objekts Befehl Füge bei einigen halbwegs ebenen Flächen, die sich auf mittlerer Höhe befinden, Bäume hinzu Kollision mit vorhandenen Objekten? Prüfung auf Kollision und Docking Spielwelt Daten Bedingungsausdruck zur Selektierung: (HEIGHT>(-0,7))&(GRADE<(-0,1))&(HEIGHT<(0,25)) 3D Modelle: {Baum 1, Baum 2, Baum 3} Anzahl: 1000, Auswahl: zufällige Position Kollision Positionsauswahl Wähle zufälliges (x,y) im selektierten Bereich Selektierung des zulässigen Bereichs Auswertung des Bedingungsausdrucks Selektierter Bereich (HEIGHT>-0,7) AND (GRADE<-0,1) AND (HEIGHT<0,25) Nächste Iteration Objektinstantiierung 3D-Modell aus {Baum 1, Baum 2, Baum 3} Größe etc. z. B. zufällige Variation GRADE HEIGHT Spielwelt Daten Neue Bauminstanz Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 19

Architektur Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 20

High-Level Eingangsparameter Bedienschnittstelle zur Parameterkonfiguration Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 21

Beispielkonfiguration: Metamodell Parameter Mountain Height Mountain Size Mountain Roughness Water Zufall Parameter Climate HEIGHT CONTINENT SURFACE GRADE WET TEMPERATURE Ebenen und Beispieldaten im Metamodell Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 22

Beispielkonfiguration: Generierte Spielwelt Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 23

Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 24

Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 25

Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 26

Teil 2 - Praktischer Teil: Projekt Spielweltgenerator 27

Fazit Komplexitätsreduktion gelingt durch Architektur und abstraktes Modell Anwendungsmöglichkeiten in der Spieleentwicklung: Sketching und Artwork Prototyping und experimentelles Game Design Verwendung in Spielen Erweiterungsmöglichkeiten: Features Elemente Modell und Logik Schlussteil 28

Ausblick Studiengänge: z. B. Games Engineering an der TU München (ab WS 2011/2012) Forschung: Projekt SketchaWorld der Delft University of Technology (Niederlande) Schlussteil 29

Vielen Dank für Ihre Aufmerksamkeit! Schlussteil 30