Umsetzung des Projekts: Spieleentwicklung in Scratch 303

Projektbeschreibung

Ziel des Projekts ist es, ein Spiel zu programmieren, bei dem man mit dem Gesicht “spielt”. Durch die Scratch-Erweiterung “Face Sensing” kann man Scratch um Kamerafunktionen mit Gesichtserkennung erweitern.
Zur Umsetzung des Projekts sind Notebooks oder Tablets mit Kamera nötig.

1) Analyse des Problems

In der ersten Phase unseres Softwareprojekts geht es darum das eigentliche Problem zu verstehen, um mögliche Herausforderungen zu identifizieren sowie zu klären, was die Software später wirklich können muss.

Für mindestens folgende Fragen muss beim Thema Scratchspiel mit Face Sensing eine Antwort gefunden werden:

  • Welche Funktionen bietet uns Face Sensing?
  • Wie soll die Spielidee mit Face Sensing aussehen?
  • Was soll der Benutzer mit Hilfe der Face Sensing Blöcke steuern?
  • Wie soll der grobe Spielablauf aussehen?
  • Welche Objekte werden benötigt?

Mögliche Spielidee
Der Spieler wird mit Sicherheitsausrüstung Helm, Schutzbrille, etc. ausgestattet. Die Gegenstände bewegen sich mit dem Spieler mit und ändern je nach Entfernung des Spielers zur Kamera die Größe. Auf der Bühne bewegt sich ein Ball, der immer von den Rändern abprallt. Der Spieler muss durch Bewegung dem Ball so ausweichen, dass dieser nicht den Helm trifft.

2) Problem in Teile aufbrechen

Im zweiten Schritt wird nun die Aufgabe in mehrere Teilschritte aufgebrochen, welche sich dann implementieren lassen. Weiterhin kann es sich als sinnvoll erweisen, Skizzen der Programmoberfläche anzufertigen.

  • Welche Teilbereiche müssen umgesetzt werden? 
    • Bewegung eines Objekts (z. B. Helm) mit Hilfe der Gesichtserkennung.
    • Automatische Bewegung eines anderen Objekts (z. B. Ball).
    • Bei Kollision beider Objekte wird das Spiel beendet, wird ein Leben abgezogen, …
    • Timer hinzufügen, der das Spiel beendet oder erschwert.
    • Powerups…
  • Erstellung von Skizzen und Prototypen
    • Wie soll das Spiel aussehen?
Mögliche Skizze

Mögliche Aufteilung in Teilprobleme
Helm der dem Benutzer folgt und seine Größe nach Abstand zum Bildschirm ändert.
Brille die dem Benutzer folgt und ihre Größe nach Abstand zum Bildschirm ändert.
Ball der vom Rand abprallt und seine Richtung ändert.
Reaktion auf Treffer am Helm.

3) Aufteilung des Problems

In dieser Phase geht es darum zu klären, wer welchen Teilschritt umsetzt. 

  • Wem liegt welcher Teilschritt? 
  • Wer bringt Erfahrungen aus vorhergehenden Projekten mit und kann diese hier einbringen? 
  • Welcher Teilschritt ist wann zu erledigen bzw. was baut aufeinander auf?
  • Die Teilbereiche können auch kollaborativ bearbeitet werden. Hierbei können die einzelnen Objekte unabhängig voneinander in Scratch erstellt und programmiert werden. Hinterher werden diese dann zusammengefügt.
Export eines Objekts.

Mögliche Aufteilung der Arbeiten
– Helm wird von Teammitglied 1 erstellt und programmiert.
– Brille wird von Teammitglied 2 erstellt und programmiert.
– Ball wird von Teammitglied 3 erstellt und programmiert.
Hinterher werden die Bestandteile gemeinsam zusammengesetzt und die restlichen Arbeiten gemeinsam durchgeführt.

4) Implementierung

Jetzt wird die Software implementiert. Schritt für Schritt werden die Teilschritte umgesetzt bis das ganze Produkt fertiggestellt ist.

Skizze Übertragen

  • Die auf der Planungsvorlage erstellte Skizze in Scratch übertragen.
  • Objekte hinzufügen

Teilbereiche programmieren

  • Steuerung des Helmes mit Hilfe der Gesichtserkennung.
  • Automatische Bewegung des Balls.

Teilbereiche zusammenfügen

  • Objekte in einem Scratch Projekt zusammenfügen.
  • Kollision von Helm und Ball.
  • Variablen hinzufügen, die die Zeit messen oder Treffer anzeigen.
Objekte können importiert werden.

Mögliche Erweiterungen

  • Titel- und Endbildschirm
  • Highscore
  • weitere Spielelemente hinzufügen

5) Reflexion und Bewertung

Zum Schluss wird die Software in Bezug auf ihre Anforderungen, welche im ersten Schritt geklärt wurden, bewertet. 

  • Werden diese erfüllt oder sind noch Nacharbeiten notwendig?
  • Entstehen hierbei bereits Ideen für eine nächste Version?
  • Ist mein fertiges Spiel so wie ich es mit Hilfe der Planungsvorlage geplant habe?
  • Das könnte ich noch verbessern!
  • Das ist mir gut gelungen!
  • Das sagen andere zu meinem Scratchspiel?

Links