Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Oliver Denninger FZI Forschungszentrum Informatik, Karlsruhe

Ähnliche Präsentationen


Präsentation zum Thema: "Oliver Denninger FZI Forschungszentrum Informatik, Karlsruhe"—  Präsentation transkript:

1 Oliver Denninger FZI Forschungszentrum Informatik, Karlsruhe http://www.fzi.de

2 \\ice:2008 | Intelligent Communities for Europe Übersicht Warum Spielentwicklung? Warum XNA? Vorstellung der Praktika Erfahrungen 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung2

3 \\ice:2008 | Intelligent Communities for Europe Warum Spielentwicklung? Durch Vorlesungen erlangen Studierende keine Praxiserfahrung Deshalb Praktika und Abschlussarbeiten –Reale Projekte sind zu umfangreich für akademische Kurse –Eingeschränkte Teamarbeit Lösung: Spielentwicklung 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung3

4 \\ice:2008 | Intelligent Communities for Europe Warum Spielentwicklung? Vorteile der Spielentwicklung –Komplexität gut skalierbar –Spielentwicklung begeistert Studierende –Studierende haben Domänenwissen –Selbstständig neue Kenntnisse aneignen 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung4

5 \\ice:2008 | Intelligent Communities for Europe Warum Spielentwicklung? Vorteile der Spielentwicklung –Querschnitt der Informatik –Umsetzung von Algorithmen aus Vorlesungen –Fundierte Programmierkenntnisse erforderlich –Sichtbares Ergebnis 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung5

6 \\ice:2008 | Intelligent Communities for Europe Warum Spielentwicklung? Ziel –Software Engineering, Spielentwicklung nur Thema für Praktika –Keine Spielentwicklung-Ausbildung 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung6

7 \\ice:2008 | Intelligent Communities for Europe XNA.NET Framework zur Spielentwicklung Hobby-Programmierer –Professionals? Geschichte –DirectX –Managed DirectX (MDX) –XNA XNA Game Studio 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung7

8 \\ice:2008 | Intelligent Communities for Europe XNA Xbox 360 –.NET Compact Framework for Xbox 360 –XNA Creators Club MSDNAA Dreamspark –Xbox Marketplace 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung8

9 \\ice:2008 | Intelligent Communities for Europe Warum XNA? Standard für PC-Spiele: C/C++ und DirectX Studierende unerfahren mit C/C++ Momentan Java als verbreitete Lehrsprache –Geringe Unterstützung für Spielentwicklung –JOGL (Java Binding for OpenGL) Grafik-API Für schnelle Fortschritte leistungsfähige Spiele-API notwendig 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung9

10 \\ice:2008 | Intelligent Communities for Europe Warum XNA? Eigenschaften von XNA –C# und Java sind ähnlich –Spiele-API Hardwaresetup Verwaltung von Inhalten (Content Pipeline) Game Loop / Timing –.NET Bibliotheken sind einfacher zu erlernen als C++ STL –Zusätzliche Motivation: Xbox 360 Unterstützung 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung10

11 \\ice:2008 | Intelligent Communities for Europe Vergleich der Praktika 30.08.200811XNA-Programmierung in der Software Engineering Ausbildung Erstes PraktikumZweites Praktikum Zwei Wochen, ganztägigSemester, vier Stunden pro Woche Fester Zeitplan: Vorlesungen am Morgen und Implementierung am Nachmittag Kein fester Zeitplan, keine Vorlesungen, Studierende beeinflussen Themen Spiel bereits vor dem Praktikum vollständig implementiert Spiel während des Praktikums implementiert Zweiergruppen arbeiten an der gleichen Aufgabe, Vervollständigen zuvor entfernte Teile des Spiels Kleingruppen arbeiten an verschiedenen Aufgaben eines gemeinsamen Spiels Fokus auf Implementierung von Algorithmen und Datenstrukturen Fokus auf Entwicklungsprozess und Inhalte (Features bestimmen, Aufgaben definieren, 3D-Modelle)

12 \\ice:2008 | Intelligent Communities for Europe Vorbereitung (Erstes Praktikum) Ziel: Entwicklung eines vollständigen Echtzeitstrategiespiels (feature-complete) Vorbereitungszeit von drei Monaten –Vorbereitungsteam von sechs Studierenden –Projektplan erstellen –Entwurf und Implementierung des Spiels –Vorbereitung der Vorlesungen C#-Test zur Auswahl geeigneter Praktikumsteilnehmer 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung12

13 \\ice:2008 | Intelligent Communities for Europe Screenshot (First Course) 30.08.200813XNA-Programmierung in der Software Engineering Ausbildung

14 \\ice:2008 | Intelligent Communities for Europe Technische Details (Erstes Praktikum) 30.08.200814XNA-Programmierung in der Software Engineering Ausbildung Features des Spiels RTS-typische Benutzerschnittstelle Bau von Stützpunkten Ressourcen sammeln Tech Tree KI-Gegner Intelligente Einheiten

15 \\ice:2008 | Intelligent Communities for Europe Technische Details (Erstes Praktikum) 30.08.200815XNA-Programmierung in der Software Engineering Ausbildung Inhalt der Vorlesungen Endliche Automaten A* Algorithmus Quadtree Grafik: XNA + HLSL Repräsentation der Spielwelt

16 \\ice:2008 | Intelligent Communities for Europe Ergebnisse (Erstes Praktikum) Studierende hoch motiviert –Mehr Zeit als notwendig investiert –Diskussionen nach den Vorlesungen –Vergleich der Ergebnisse mit kommerziellen Spielen Studierende lobten die Möglichkeiten –schnellen Code zu schreiben –Code für GPUs zu schreiben Spiel verfügbar unter http://www.coding4fun.de 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung16

17 \\ice:2008 | Intelligent Communities for Europe Vorbereitung (Zweites Praktikum) Ziel –Studierende sollen Projekterfahrung erlangen –Spiel für die Xbox 360 als zusätzliche Motivation Studierende nach Reihenfolge zugelassen Jump & Run Genre Spielhandlung vorgegeben: Henne sammelt verlorene Küken ein Grundlegende Spielarchitektur vorgegeben 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung17

18 \\ice:2008 | Intelligent Communities for Europe Ablauf (Zweites Praktikum) Einführungsvorlesung zu XNA und Spielentwicklung Keine Vorlesungen während des Praktikums Praktikum in drei Phasen eingeteilt (jeweils ein Monat) –Kick-off Meeting: Entscheidung über Ziele, Definition von Aufgaben und Zuweisung an Gruppen –Gruppentreffen und Bug-Tracking / Wiki 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung18

19 \\ice:2008 | Intelligent Communities for Europe Screenshot (Second Course) 30.08.200819XNA-Programmierung in der Software Engineering Ausbildung

20 \\ice:2008 | Intelligent Communities for Europe Technische Details (Zweites Praktikum) Inhalte –3D-Modelle –Texturen –Animationen KI und Spielhandlung –Trigger und Skripte Physik –Kollisionserkennung durch Bounding Boxes –Einfaches Kräftesystem 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung20

21 \\ice:2008 | Intelligent Communities for Europe Technische Details (Zweites Praktikum) Level-Repräsentation –XML Datei –Inhalte referenziert –Leveleditor Probleme –3D-Modelle zu detailliert –Windows vs. Xbox 360.NET Framework Steuerung 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung21

22 \\ice:2008 | Intelligent Communities for Europe Ergebnisse (Zweites Praktikum) Studierende hoch motiviert –Fast alle Aufgaben fristgerecht beendet –Spiel um Rätsel erweitert –Grafik im Comic-Stil –Entscheidung animierte Modelle einzusetzen Studierende nutzen hauptsächlich Internet als Informationsquelle zu Spielentwicklung Spiel und weitere Informationen verfügbar unter http://zfs.fzi.de 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung22

23 \\ice:2008 | Intelligent Communities for Europe Fazit – Kursformate Erstes Praktikum –Strikter Zeitplan mit Vorlesungen –Lerninhalte klar definiert Zweites Praktikum –Studierende eignen sich Wissen über Spielentwicklung selbst an –Aufgrund verschiedener Aufgaben, unterschiedliche Lerninhalte Alle Studierenden im Hauptdiplom Strikteres Kursformat auch im Vordiplom einsetzbar 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung23

24 \\ice:2008 | Intelligent Communities for Europe Fazit – Spielentwicklung Spielentwicklung für Software Engineering Ausbildung geeignet Studierende hoch motiviert –Thema Spielentwicklung als Hauptmotivation (Kursevaluierung) –Mehr Zeit investiert als notwendig –Sichtbare (Zwischen-)Ergebnisse 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung24

25 \\ice:2008 | Intelligent Communities for Europe Fazit – XNA Nutzung von XNA ermöglichte schnelle Fortschritte während der Praktika Verwaltung von –Inhalte –Hardware C# einfacher zu erlernen als C++ 30.08.2008XNA-Programmierung in der Software Engineering Ausbildung25

26 \\ice:2008 | Intelligent Communities for Europe Ende Fragen? denning@fzi.de 30.08.200826XNA-Programmierung in der Software Engineering Ausbildung


Herunterladen ppt "Oliver Denninger FZI Forschungszentrum Informatik, Karlsruhe"

Ähnliche Präsentationen


Google-Anzeigen