Xna programmierung in der software engineering ausbildung
Download
1 / 26

XNA-Programmierung in der Software Engineering Ausbildung - PowerPoint PPT Presentation


  • 35 Views
  • Uploaded on

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?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' XNA-Programmierung in der Software Engineering Ausbildung' - clinton-carlson


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Xna programmierung in der software engineering ausbildung

XNA-Programmierung in der Software Engineering Ausbildung

Oliver Denninger

FZI ForschungszentrumInformatik, Karlsruhe

http://www.fzi.de


Bersicht
Übersicht

  • Warum Spielentwicklung?

  • Warum XNA?

  • Vorstellung der Praktika

  • Erfahrungen

XNA-Programmierung in der Software Engineering Ausbildung


Warum spielentwicklung
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


Warum spielentwicklung1
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


Warum spielentwicklung2
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


Warum spielentwicklung3
Warum Spielentwicklung?

  • Ziel

    • Software Engineering, Spielentwicklung nur Thema für Praktika

    • Keine Spielentwicklung-Ausbildung

XNA-Programmierung in der Software Engineering Ausbildung


XNA

  • .NET Framework zurSpielentwicklung

  • Hobby-Programmierer

    • Professionals?

  • Geschichte

    • DirectX

    • Managed DirectX (MDX)

    • XNA

  • XNA Game Studio

XNA-Programmierung in der Software Engineering Ausbildung


XNA

  • Xbox 360

    • .NET Compact Framework for Xbox 360

    • XNA Creators Club

      • MSDNAA

      • Dreamspark

    • Xbox Marketplace

XNA-Programmierung in der Software Engineering Ausbildung


Warum xna
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


Warum xna1
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


Vergleich der praktika
Vergleich der Praktika

XNA-Programmierung in der Software Engineering Ausbildung


Vorbereitung erstes praktikum
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


Screenshot first course
Screenshot (First Course)

XNA-Programmierung in der Software Engineering Ausbildung


Technische details erstes praktikum
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


Technische details erstes praktikum1
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


Ergebnisse erstes praktikum
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


Vorbereitung zweites praktikum
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


Ablauf zweites praktikum
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


Screenshot second course
Screenshot (Second Course)

XNA-Programmierung in der Software Engineering Ausbildung


Technische details zweites praktikum
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


Technische details zweites praktikum1
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


Ergebnisse zweites praktikum
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


Fazit kursformate
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


Fazit spielentwicklung
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


Fazit xna
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


Ende

Fragen?

[email protected]

XNA-Programmierung in der Software Engineering Ausbildung


ad