1 / 26

XNA-Programmierung in der Software Engineering Ausbildung

XNA-Programmierung in der Software Engineering Ausbildung. Oliver Denninger FZI Forschungszentrum Informatik , Karlsruhe http://www.fzi.de. Übersicht. Warum Spielentwicklung? Warum XNA? Vorstellung der Praktika Erfahrungen. Warum Spielentwicklung?.

Download Presentation

XNA-Programmierung in der Software Engineering Ausbildung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XNA-Programmierung in der Software Engineering Ausbildung Oliver Denninger FZI ForschungszentrumInformatik, Karlsruhe http://www.fzi.de

  2. Übersicht • Warum Spielentwicklung? • Warum XNA? • Vorstellung der Praktika • Erfahrungen XNA-Programmierung in der Software Engineering Ausbildung

  3. 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 XNA-Programmierung in der Software Engineering Ausbildung

  4. Warum Spielentwicklung? • Vorteile der Spielentwicklung • Komplexität gut skalierbar • Spielentwicklung begeistert Studierende • Studierende haben Domänenwissen • Selbstständig neue Kenntnisse aneignen XNA-Programmierung in der Software Engineering Ausbildung

  5. Warum Spielentwicklung? • Vorteile der Spielentwicklung • Querschnitt der Informatik • Umsetzung von Algorithmen aus Vorlesungen • Fundierte Programmierkenntnisse erforderlich • Sichtbares Ergebnis XNA-Programmierung in der Software Engineering Ausbildung

  6. Warum Spielentwicklung? • Ziel • Software Engineering, Spielentwicklung nur Thema für Praktika • Keine Spielentwicklung-Ausbildung XNA-Programmierung in der Software Engineering Ausbildung

  7. XNA • .NET Framework zurSpielentwicklung • Hobby-Programmierer • Professionals? • Geschichte • DirectX • Managed DirectX (MDX) • XNA • XNA Game Studio XNA-Programmierung in der Software Engineering Ausbildung

  8. XNA • Xbox 360 • .NET Compact Framework for Xbox 360 • XNA Creators Club • MSDNAA • Dreamspark • Xbox Marketplace XNA-Programmierung in der Software Engineering Ausbildung

  9. 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 forOpenGL) Grafik-API • Für schnelle Fortschritte leistungsfähige Spiele-API notwendig XNA-Programmierung in der Software Engineering Ausbildung

  10. 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 XNA-Programmierung in der Software Engineering Ausbildung

  11. Vergleich der Praktika XNA-Programmierung in der Software Engineering Ausbildung

  12. 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 XNA-Programmierung in der Software Engineering Ausbildung

  13. Screenshot (First Course) XNA-Programmierung in der Software Engineering Ausbildung

  14. Technische Details (Erstes Praktikum) • Features des Spiels • RTS-typische Benutzerschnittstelle • Bau von Stützpunkten • Ressourcen sammeln • Tech Tree • KI-Gegner • Intelligente Einheiten XNA-Programmierung in der Software Engineering Ausbildung

  15. Technische Details (Erstes Praktikum) • Inhalt der Vorlesungen • Endliche Automaten • A* Algorithmus • Quadtree • Grafik: XNA + HLSL • Repräsentation der Spielwelt XNA-Programmierung in der Software Engineering Ausbildung

  16. 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 XNA-Programmierung in der Software Engineering Ausbildung

  17. 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 XNA-Programmierung in der Software Engineering Ausbildung

  18. 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 XNA-Programmierung in der Software Engineering Ausbildung

  19. Screenshot (Second Course) XNA-Programmierung in der Software Engineering Ausbildung

  20. Technische Details (Zweites Praktikum) • Inhalte • 3D-Modelle • Texturen • Animationen • KI und Spielhandlung • Trigger und Skripte • Physik • Kollisionserkennung durch Bounding Boxes • Einfaches Kräftesystem XNA-Programmierung in der Software Engineering Ausbildung

  21. Technische Details (Zweites Praktikum) • Level-Repräsentation • XML Datei • Inhalte referenziert • Leveleditor • Probleme • 3D-Modelle zu detailliert • Windows vs. Xbox 360 • .NET Framework • Steuerung XNA-Programmierung in der Software Engineering Ausbildung

  22. 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 XNA-Programmierung in der Software Engineering Ausbildung

  23. 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 XNA-Programmierung in der Software Engineering Ausbildung

  24. 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 XNA-Programmierung in der Software Engineering Ausbildung

  25. Fazit – XNA • Nutzung von XNA ermöglichte schnelle Fortschritte während der Praktika • Verwaltung von • Inhalte • Hardware • C# „einfacher“ zu erlernen als C++ XNA-Programmierung in der Software Engineering Ausbildung

  26. Ende Fragen? denning@fzi.de XNA-Programmierung in der Software Engineering Ausbildung

More Related