WPF Spiele, Simulation und dynamische Systeme

Lehrveranstaltung von Prof. Dr. Wolfgang Konen
E-mail:  wolfgang.konen "at" th-koeln.de
Campus: Raum 3.230, Tel. -6275.

 

Informationen zum Kurs

Organisatorische Hinweise

Die Veranstaltung besteht aus Dozentenvorträgen sowie Seminar-/Projekt-/Lehr-Einheiten der Teilnehmer. Themen werden in der 1. Veranstaltung besprochen, eigene Themenideen sind nach Absprache mit mir möglich (bitte per E-Mail an mich).

Die Seminar-/Projekteinheiten bestehen aus (a) Vortrag und (b) Ausarbeitung zum Vortrag, die zum Vortrag fertig sein muss und (b1) in Papierform mitgebracht wird (einmal für mich) und (b2) elektronisch hinterlegt wird (im ILIAS-System). Dies ist eine wichtige Voraussetzung.

Anmeldung zum WPF: bitte unbedingt über http://www.gm.fh-koeln.de/wpf-anmeldung, bei über 20 Teilnehmern entscheidet das Datum der Anmeldung. Einführung, Themenvergabe: Di, 02.05.2017, 13.00 Uhr, Raum 3.113.

 

Zielsetzung

Mittels Simulation lassen sich schwer durchschaubare Zusammenhänge spielerisch erkunden. Durch gezielte Parametervariation lässt sich oft ein besseres Verständnis komplexer Systeme erreichen als durch reine Beobachtung. Die Simulation ist eine ideale Lernhilfe. Im Teil 1 werden wir uns die Grundlagen der Simulation erarbeiten.

Spiele (2D- oder 3D) erfordern die Simulation dynamischer Systeme, um realitätsnahe Bewegungsabläufe und Interaktionen zu zeigen. In diesem Zusammenhang ist auch oft von Game Physics oder einem Physics Engine die Rede. Ziel ist es, die Grundlagen für das Verständnis von Game Physics zu legen und die Wirkungsweise an einfachen Beispielen selbst zu erproben. Mit Hilfe von Processing wollen wir in einfachen 2D- oder 3D-Welten erste dynamische Systeme simulieren. (Teil 2)

Für Spiele spielen Natural User Interfaces (NUIs) eine große Rolle. In den letzten Jahren haben hier durch Wii und Kinect völlig neuartige Interaktionsmöglichkeiten Einzug gehalten. Wir wollen uns in diesem Kurs die Kinect genauer anschauen und sehen, wie ihre Interaktionsmöglichkeiten mit Game-Physics-Simulationen verbunden werden können.

NEU: Einige Themen zu „intelligenten“ NPC-Agenten für Games, Game Competitions (Robocode, General Video Game Playing (GVGP), Fighting Game Competition),
und zu Quaternionen (für Drehungen in der Computergraphik)

Der Kurs Spiele, Simulation und dynamischer Systeme will zeigen, wie eine einheitliche Herangehensweise, nämlich die der Simulation, in ganz verschiedenen Teilbereichen Nutzen bringen kann.  Er wendet sich an alle, die Spaß daran haben, im Dialog mit dem Computer die Gesetze der Umwelt bzw. der Physik experimentell zu erkunden. In beiden Fällen ist das Verständnis dynamischer Systeme und das Aufstellen von Differentialgleichungen (das Lösen können wir dem Computer überlassen!) sowie insbesondere Analyse und Interpretation der Ergebnisse von entscheidender Bedeutung.

Es ist das Anliegen des Kurses, anhand zahlreicher praktischer Beispiele Verständnis für eine wissenschaftliche Herangehensweise beim Simulieren zu entwickeln. Denn die Simulation behandelt die Durchführung von (gedanklichen) Experimenten mit dem Hilfsmittel Computer oder mit anderen Hilfsmitteln, und es gibt eine lange wissenschaftliche Tradition darüber, wie man mathematisch-naturwissenschaftliche Experimente aufziehen muss, um nicht Trugschlüssen aufzusitzen.

 Zielgruppe

Der Kurs wendet sich an alle, die etwas über die Methoden der Simulation erfahren wollen. Teil 1 ist interessant für Informatik- Studierenden, die sich für die wissenschaftliche Fundierung von Simulationen interessieren. Teil 2 wendet sich besonders an die Informatik-Studierenden, die ein Verständnis der Simulation von 3D-Welten und ihren Dynamiken aufbauen möchten.

Teil 1 ist in diesem Semester (SS17) gegenüber der WPF-Durchführung in früheren Semestern gekürzt worden, um für Teil 2 mehr Zeit zu haben und dort die zusätzlichen Termine zur Kinect einzubauen.

Voraussetzungen

Teil 1: Allgemeine Mathematikkenntnisse. Für ein tiefergehendes Verständnis der mathematischen Zusammenhänge sind grundlegende Kenntnisse über gewöhnliche Differentialgleichungen hilfreich, die für die Simulation notwendigen Begriffe werden aber auch im Kurs phänomenologisch kurz eingeführt.
Optional, für manche Themen hilfreich: Excel-Grundwissen.

Teil 2: wie oben, zusätzlich ist jedoch Programmiererfahrung, z.B. in Java (Grundlage für Processing), erforderlich, zumindest für diejenigen, die hier Projektthemen/Referate übernehmen wollen. Eine Kurzeinführung in Processing (www.processing.org), das wir für die Game-Physics-Simulationen verwenden wollen, wird im Rahmen des Kurses vorgenommen/gemeinsam erarbeitet.
 

Ausbildungsziele

Erkennen der wichtigsten Prinzipien dynamischer Simulationen. Wissen, wie Simulation funktioniert und was man damit erreichen kann. Kompetenz im Umgang mit dem Standardwerkzeug Tabellenkalkulation. Über die Simulation vertieftes Verständnis dynamischer Systeme. Grundkompetenz bei der Simulation von 2D- und 3D-Welten im Computer und bei der Benutzung / Erstellung von Game Physics und Physics Engines. Benutzung von OpenGL. Praktische Erfahrung zu  numerischen Lösungsverfahren für DGLs.

Lerninhalte    (V: Vorlesung, S: Seminar, P: Projektarbeit, Änderungen möglich)

Teil 1:

V

Einführung in die Simulation

Simulation mit Tabellenkalkulation (Übung)

V

Von der Zinseszinsrechnung zur Populationsdynamik (Übungen)

V

Diskretisierung der Übergangsbeziehung: Von der DGL zur numerischen Lösung

V

Analytische Methoden. Linearisierung im Gleichgewichtspunkt

S (V)

Die Tragödie der Gemeingüter: Ein gruppendynamisches Spiel

S / P

Simulation von Räuber-Beute-Sytemen

S / P

Der Schweinezyklus (Das Beer-Game)

S / P

Beschreibung: crayon01-smallAxelrods Computerturnier: Spielstrategien und ihre Simulation

Teil 2:

V

Einführung Game Physics

Simulation für Spiele, Ü balls2D + Feder

V od. S

Einführung in Processing

P/S

Tutorial 3D-Simulation in Processing

P/S

Kollisionsdetektion und –antwort: "Bouncing Balls"

P/S

3D-Softball-Simulation

P/S

Wieso zeigt der Mond der Erde immer dasselbe "Gesicht"?

P/S

Invertiertes Pendel mit Stichsäge

P/S

Kinect 1

P/S

Kinect 2

 P/S

Fahne/Vorhang simulieren

 P/S

Robocode

Die Veranstaltung umfasst

Umfang / Teilnehmerbegrenzung

4 SWS / max. 20 Studenten

Programme

Teil 1: Tabellenkalkulationsprogramm - vorzugsweise Excel. Einige Animationen wurden in Maple erstellt, diese Software ist aber für die Kursdurchführung nicht zwingend erforderlich.

Teil 2: Processing (OpenGL als Background), Java (JOGL) Entwicklungsumgebung Eclipse (auf Wunsch auch andere Programmiersprachen, die OpenGL-Anbindung erlauben), evtl. Kinect-Software.

Demo              Themen im Detail (pdf)                                       Gliederung Teil 1 (zip) (html)

 

Quellen: Die Materialien zu Teil 1 basieren z.T. auf Unterlagen, die Prof. Timm Grams von der FH Fulda freundlicherweise zur Verfügung stellte, wofür ich mich an dieser Stelle herzlich bedanke.

© Wolfgang Konen, 28.04.2017