LFE Medieninformatik. Projektaufgabe Multimedia-Programmierung Sommersemester LMU München LFE Medieninformatik

Ähnliche Dokumente
LFE Medieninformatik. Projektaufgabe Multimedia-Programmierung Sommersemester LMU München LFE Medieninformatik

Versionskontrolle mit Subversion

Programmiermethodik Vorlesung und Praktikum SS 2001

Software-Engineering Grundlagen des Software-Engineering

Informationen zur Verwendung von Visual Studio und cmake

Projekt: Ein 2D-Rollenspiel in Java. Manuel Geffken SS 2011

22. Januar Gruppe 2: TOPCASED

Übungen zur Vorlesung. Maschinelles Lernen. Wintersemester 2011/2012

Fachpraktikum Graphische Benutzungsoberflächen Wintersemester 2010/2011

Sourcecodeverwaltung

Microsoft PowerPoint 2013 Folienübergänge

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Fachpraktikum Graphische Benutzungsoberflächen Wintersemester 2007/08

Einführung in Subversion. Tutorium SWP

Versionsmanagement. Software(technik)praktikum: Vorlesung 2: Versionsmanagement

Informationen zum Praktikum

SVN in use. Roger Burkhardt Fachhochschule Nordwestschweiz Hochschule für Technik Institut für Geistes- und Naturwissenschaft

Übung Smart Graphics

Installation nextbau Server

Informationen zum Praktikum

Microsoft Office PowerPoint für Windows POW2007F. Autorin: Tina Wegener. Inhaltliches Lektorat: Sabine Spieß

2. Hausübung Algorithmen und Datenstrukturen

SWP Übersetzerbau im SS 13 Einführung und Organisatorisches. Till Zoppke Maximilian Konzack Yves Müller Freie Universität Berlin

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

Introduction to Technologies for Interaction Design. Einführung

Praktikumsordnung Praktikum Rechnerarchitektur (IN0005)

Verteilte Versionskontrolle mit. Einführung und Nutzung von SVK FrOSCon 24./25. Juni 2006

gymnasium st. meinrad Präsentationssoftware Anleitung OpenOffice Impress Teil I

JUnit (Version 4.x) Framework zur Unterstützung von Unit-Tests. Wir verwenden nicht JUnit 3.x. Ideen dahinter. Test-Methode

Einrichtung eines Kurses in ILIAS. - Szenario: Ein/e Beispieldozent/in legt zu seinem/ihrem Seminar XY einen Kurs in ILIAS an -

Software(technik)praktikum: SVN-Tutorial

Implementierung des Rubik-Würfels für Java-fähige Mobile Geräte

Benutzung von 7-Zip Packen und Entpacken verschlüsselter ZIP-Archive

Semesterprojekt Implementierung eines Brettspiels (inklusive computergesteuerter Spieler) Einführungsveranstaltung

Entwicklung einer App für das Kartenspiel Tichu

PowerPoint Unterrichtsskript WIHOGA Dortmund. 1 Einführung und Formatierung Verschiedenes Folienmaster Animationen...

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz

Softwareentwicklungspraktikum Android-Programmierung

Feedreader & Browser-PlugIns: RSS-Feed einrichten

Versionsverwaltung. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

Programmieren in C++

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

Dreamweaver MX Eigene Websites im Handumdrehen! SUSANNE RUPP

Blockpraktikum Multimediaprogrammierung

Informatik II - Übung 01

Einführung in Subversion

: Einführung in die Programmierung I Übungsblatt 1

Hinweise für die Formatierung von Formeln

Informationen zur Verwendung von Visual Studio und cmake

Richard Bubel & Martin Hentschel

Workshop. Oskar Truffer, studer + raimann ag

Interaktive Simulation von Menschenmengen mittels Virtueller Welten

MARKANT mediabase Aktualitätsprüfung Kurzdokumentation

Versionsverwaltung mit Eclipse. PR1 - Medizinische Informatik (IMB) Dennis-Immanuel Czogalla

Subversive Plugins. Vorlesung Softwaretechnologie. Kapitel 2: Software Configuration o Management

Versionsmanagement. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Richard Bubel & Martin Hentschel

Programmieren von Java Smartcards

Analyse und Konzeptionen von Lösungen für das Verdeckungsproblem in komponentenbasierten Mixed Reality- Applikationen

Alle Funktionen des eassistant-plug-ins lassen sich über die Menüleiste im NX nutzen.

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

Anleitung zur Nutzung von ONLYOFFICE in der Hessenbox

Virtual Classroom Backend

Pioniere der Informatik

Programmieren II. Exkurs: Apache Maven. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Datenbanken und Netzanbindung

Proseminar Künstliche Intelligenz

> Implementierung paralleler Programmiermuster auf

Framework zur Unterstützung von Unit-Tests

Informationsintegration Allgemeines/Übung 1 SS Yvonne Lichtblau

Masterfolie bei PowerPoint

Grundlagen für den Kursersteller

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit

3 Maps richtig ablegen und

Softwareentwicklungsumgebungen

Versionsverwaltung mit Subversion

PSE Kick-off. Prof. Bernhard Beckert, Dr. Mattias Ulbrich, Alexander Weigl

Microsoft PowerPoint für Office 365 Schnellstarter

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Software Engineering in der Praxis

Spring IDE. Christian Dupuis - Spring 2.0 Release Party

Lehrstuhl Informatik 4

Anleitung zur Benutzung des Admin Control Panel

Fragebogen zur Auswertung des externen Softwaretechnologiepraktikums im Sommersemester 2008

Wie mache ich ein Praktikum in Linux (Informatik)

1.3.1 Java-Compiler installieren

DER BEIPACKZETTEL. Was ist neu in ILIAS 5.2? Unvollständige Vorabversion Zu Risiken und Nebenwirkungen fragen Sie Ihren Admin.

MyTISM - Die Business-Module

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten

Anleitung Virtual Classroom Backend

: Einführung in die Programmierung Übungsblatt 1

Web-basierte Anwendungen: 08: Ergänzungen zum Projekt

Fragebogen zur Auswertung des internen Softwaretechnologiepraktikums im Sommersemester 2008

SAP -Schnelleinstieg: ABAP-Entwicklung in Eclipse. Christoph Lordieck

Wirtschaftsinformatik

DKS-Install einsetzen

Transkript:

Projektaufgabe Multimedia-Programmierung Sommersemester 2007 LMU München

Outline Aufgabenstellung Werkzeugunterstützung und Hilfsmittel Projektablauf 2

Thema: Minigolf-Spiel 3

Gestaltung Festlegung eines Themas für das Spiel und die Spielumgebung Wird durchgehend verwendet (Menüs, Hintergründe, Hindernisse, usw.) Passende festgelegte Farbkonzepte, Schriftzüge, Sounds, Benutzungsoberfläche, Logos, usw. Umfangreiche, verschiedenartige Bahnen; keine direkte Anlehnung an reale (Standard-)Minigolfbahnen 4

Funktionale Anforderungen: Spiel (1/2) 1. Schlagen des Balles: Konzeption eines geeigneten Steuerungs-Mechanismus für angenehme Benutzung und sinnvollen Schwierigkeitsgrad (Spielspaß) 2. Realistische Ballphysik (z.b. Verhalten bei Kollisionen, Gravitation usw.) 1. Verschiedene Bälle (z.b. hart, weich) 3. Kamera-Perspektive: 1. Blickwinkel von schräg oben ( Pseudo 3D ) oder ersatzweise von oben 4. Loch (oder sonstiges Ziel des Balles) 1. Bei zu hoher Geschwindigkeit kann Ball nicht in das Loch fallen 5

Funktionale Anforderungen: Spiel (2/2) 5. Verschiedene Typen von Bahn-Elementen 1. Einfache ebenerdige Hindernisse, die Ball abprallen lassen 2. Hindernisse, die Ball verlangsamen (z.b. Sand, Wasser) 3. Hindernisse, mit Steigung (z.b. Hügel, Schanzen, Rampen) 4. Elemente, die Ball an andere Stelle bringen (z.b. Lifte, Rohre, Teleporter) 5. Elemente, zur Beschleunigung des Balls (z.b. Rollbänder, Federn) 6. Bewegliche Elemente (z.b. Schranken, Krabbeltiere) 7. Hindernisse, die Ball von der Bahn werfen bzw. Strafpunkte kosten (z.b. Wassergraben, Bomben, ballfressende Wesen) 6

Funktionale Anforderungen: Gesamtanwendung 1. Einspieler-Modus: 1. 12 Bahnen; jedes Teammitglied soll (mindestens) 2 Bahnen entwerfen 2. Die Anwendung besteht neben dem Spiel selbst aus 1. Startmenü 2. Impressum: Angabe der Autoren und der Lehrveranstaltung 3. Highscore: für Einzelspielermodus; wird lokal auf Festplatte gespeichert 4. Anleitung/Hilfe 5. Optionen 7

Funktionale Anforderungen (4/4): Mehrspielermodus 1. Verwendung eines einfachen Standard-Socket-Servers (wie in der Übung); Anwendung darf keine spezifischen server-seitigen Funktionen erfordern 2. (Mindestens) 2-4 Spieler können gegeneinander Spielen 3. Chatfunktion 4. Vor jeder Bahn: Spieler dürfen Hindernisse auf die Bahn setzen 5. Festlegung des konkreten Spielprinzips. Vorschläge: Sichtbare oder unsichtbare Hindernisse Hindernisse können für alle, nur für die anderen, oder für einzelne Spieler gesetzt werden Begrenzter Vorrat an Hindernissen für das gesamte Spiel (jeder Spieler entscheidet, an welchen Bahnen er Hindernisse für die anderen platziert) Kaufen oder Ersteigern von Hindernissen, die platziert werden dürfen Hinweis: zur einfacheren Implementierung darf das Spielprinzip rundenbasiert bleiben, d.h. es ist nicht notwendig, dass zeitkritische gleichzeitige Aktion beinhaltet sind 8

Allgemeine/nicht-funktionale Anforderungen 1. Schwerpunkt sind Animation und Interaktion 2. Festlegung eines festen, durchgehend verwendeten gestalterischen Themas (siehe Folie 4) 3. Einbindung von Sound 4. Gute Steuerbarkeit der Spielobjekte; Spiel soll auch tatsächlich spielbar sein (und idealerweise auch Spaß machen ) 5. Änderungsfreundlichkeit der Anwendung (Struktur) 6. Benutzbarkeit, Fehlerfreiheit, Robustheit,... 7. Das Ergebnis soll ins Web gestellt werden! 1. Keine Verwendung Copyright-geschützter Objekte (z.b. Logos, Sound) 2. Lauffähigkeit auch ohne Multiplayer-Server (oder sonstige Zusatzsoftware) 3. Benutzung möglichst selbsterklärend 9

Outline Aufgabenstellung Werkzeugunterstützung und Hilfsmittel Projektablauf 10

ActionScript-Editierung Eclipse mit Plugins unter Linux installiert: Aufruf mit eclipse-ide-3.1.2-mmp Plugin mtasc (http://mtasc.org/): externer Compiler für ActionScript (aufzurufen über /soft/bin/mtasc) Plugin ASDT (http://www.asdt.org/ ): Eclipse Editor für ActionScript. Einstellungen in Eclipse unter Window->Preferences: mtasc als Compiler angeben /soft/bin/mtasc ActionScript Core-Klasses angeben: mit mtasc mitgeliefert (enthält nicht Flash-Komponenten) /soft/ifi/lang/mtasc-1.12/ix86-unknown-linux/std Bugs unter http://sourceforge.net/projects/aseclipseplugin/ Plugin Flashout (http://www.potapenko.com/flashout/ ): zum direkten Betrachten der kompilierten SWF-Dateien in Eclipse Hier nochmal gleiche Einstellungen wie bei ASDT notwendig Tutorial zur Verwendung der Kombination Eclipse + mtasc + ASDT + flashout unter: http://theresidentalien.typepad.com/ginormous/2005/10/ eclipse_mtasc_f.html 11

Testwerkzeuge Autotestflash (http://www.osflash.org/autotestflash): Automatisches simulieren von Benutzer-Aktionen in Flash- Anwendungen ( Klick-Roboter ) ASUnit (http://www.asunit.org/): Unit-Test Framework für ActionScript 12

Versionsmanagement Versionsmanagement-System Subversion (SVN) Einrichtung eines Repositories durch RBG unterstützt: http://www.rz.ifi.lmu.de/dienste/subversion Terminalserver: Subversion-Clients installiert => Subversion- Befehle im Kontextmenü verfügbar Generell: Empfehlung: Alle Dateien in Subversion verwalten Checkout zur Bearbeitung einer Datei Häufig Update zum aktualisieren verwenden Nur getestete Änderungen in das System einstellen mit Checkin Kleine Änderungen vornehmen (auf aktuellster Version!), testen und wieder einchecken Zugangänge zum Repository für Max Maurer und Andreas Pleuß mit einrichten 13

Outline Aufgabenstellung Werkzeugunterstützung und Hilfsmittel Projektablauf 14

Betreuung Betreuer: Rolle des Kunden, Aber auch für Hilfestellung bei Problemen und gemeinsame Absprachen Regelmäßige Treffen: Team vereinbart individuell Termin mit dem Betreuer (unter Berücksichtigung der Meilensteine) Vorstellung des Zwischenergebnisses des Teams Kurzbericht jedes Teammitglieds über eigene Teilaufgaben Besprechung von Problemen und des weiteren Vorgehens 15

Vorgehen: Phasen und Ergebnisse 1. Team-Organisation. Ergebnis: Dokument mit wichtigsten Stichpunkten 2. Gestaltungskonzepte für die Benutzungsschnittstelle. Ergebnis: Horizontale Prototypen bzw. Mock-Ups (Bilder) 3. Spielephysik. Ergebnis: 1. Funktionale (vertikaler) Prototypen 2. Präsentationen der Prototypen aller Teams in der Übung 4. Entwurf der Gesamtanwendung (Architektur, Strukturierung). Ergebnis: Modell der Gesamtanwendung 5. Implementierung und Test in mehreren Iterationen. Ergebnis: verschiedene Versionen der Anwendung 6. Bereitstellung des Endergebnisses: 1. Abgabe der zu Beginn der letzten Vorlesungswoche 2. Präsentation aller Ergebnisse in der letzten Vorlesungsstunde (Kurzvortrag mit Folien) 3. Bereitstellung der Web-fertigen Anwendung und des Quellcodes 16

Zu Phase 1: Team-Organisation Team-Organisation so bald wie möglich, spätestens Mittwoch, 16.5. Dem Betreuer einzusenden: Textdatei mit Kurzinfo zu Team, Teamleiter (Ansprechpartner für Betreuer), Team-Kommunikation (wie ist vorgesehen, zu kommunizieren), Team-Treffen (wann und wo wird sich das Team treffen), SVN-Zugang für Betreuer (+ für Andreas Pleuß) 17

Zu Phase 2: Gestaltungskonzept für die Benutzungsschnittstelle Sammlung kreativer Ideen (Einsatz kreativer Arbeitsweisen sinnvoll, wie z.b. Brainstorming) Dem Betreuer zu präsentieren: Thema des Spiels Titel des Spiels Mock-Ups: Bilder von der Benutzeroberfläche nachgebildete Screenshots (Bildbearbeitungssoftware) unter Verwendung von existierenden Bildern und Screenshots Sollen gestalterische Grundideen übermitteln Möglichst mit wenig Aufwand erstellen Punktuell bereits eigene gezeichnete Objekte Geplante konkrete Spielregeln des Spiels (in Stichpunkten fest spezifiziert) 18

Zu Phase 3: Spielephysik Experimentieren mit Algorithmen zur sinnvollen Realisierung der Spielephysik Implementierung zum Ausprobieren als einfache Prototypen Graphische Gestaltung nur soweit zum Ausprobieren notwendig Präsentation in Form eines informalen Vortrags in der Übung (zusammen mit den anderen Teams) 19

Phase 4: Entwurf der Gesamtanwendung Architektur und Gesamtstruktur der Anwendung festlegen Aufteilung wichtig, um parallele Bearbeitung durch verschiedene Team- Mitglieder zu ermöglichen (z.b. eine FLA-Datei kann nicht von mehreren Personen gleichzeitig bearbeitet werden!) Einführung in der Vorlesung und der Übung! Optional: Verwendung des Codegenerators Vorteile: Zeitersparnis durch automatische Erzeugung eines Codegerüsts aus dem Modell Sinnvolle Strukturierung damit vorgegeben und muss nicht mühsam selbst erdacht und getestet werden Erzeugte Codegerüste können trotzdem beliebig verändert und angepasst werden Nachteile: keine automatische Unterstützung zur Überprüfung der Modelle => Modelle müssen sorgfältig erstellt werden, um sinnvolle Codegenerierung zu erhalten Kein Round-Trip-Engineering 20

Weiteres Material Spiele-Programmierung: Nächste Vorlesung Buch Flash MX 2004 Games Most Wanted (in der Bibliothek) Kollisionserkennung: http://www.harveycartel.org/metanet/tutorials.html Weitere: http://www.gamedev.net http://www.gamasutra.com http://www.devmaster.net Große Sammlung von freien Flash-Werkzeugen: http://www.osflash.org/ Flash-Forum: http://www.flashforum.de/ Wiki des Lehrstuhls zum Austausch von Links, Tips, Hinweisen und Fragen (in Kürze): https://wiki.medien.ifi.lmu.de/view/main/mmpprojektaufgabess07 21