Projektarbeit Pygame Zero 🎮


Der Zweck dieser Projektarbeit ist simpel.
Du musst selbstständig ein Spiel programmieren und es nach den Ferien bis zum Ende der Stunde am 10.02.25 abgeben.

Beachte die folgenden Abgabekriterien:
  1. Dein Spielordner darf nur die Dateien enthalten, die für dein Spiel notwendig sind. Lösche alles, was du nicht brauchst. Damit du nichts Wichtiges aus Versehen löschst, erstelle vorher eine Kopie deines Ordners.

  2. Dein Spielordner muss diese Struktur haben:
    spiel_nachname
    ├── images
    ├── script.py
    ├── pgzhelper.py
    └── dokumentation.txt
    Es gibt nur zwei Python-Dateien: script.py und pgzhelper.py. In script.py befindet sich der Code für dein Spiel. pgzhelper.py ist eine Erweiterung, die du benötigst, falls du sie in deinem Hauptcode importierst. Löscht alle anderen Python-Dateien.

    Es gibt keinen Ordner für Sounds, da keiner von euch Sounds benutzt hat. Im Ordner images dürfen nur die für das Spiel relevanten Bilddateien liegen. Bilder, die du nicht benötigst, musst du löschen. Die Dokumentation muss als Textdatei dokumentation.txt abgegeben werden.

  3. Gib deinen Ordner als ZIP-Datei über Teams ab.
Behalte diese Kriterien im Kopf — darauf achte ich auch bei der Bewertung. Je mehr Kriterien erfüllt sind und je kreativer dein Spiel ist, desto besser wird es bewertet.

Nur Code nutzen, den du verstehst
Schreibe kein kompliziertes Programm, wenn du den Code nicht erklären kannst.

Pygame Zero Helper und Spielvorlage
Arbeite weiterhin in deinem Spielordner.

Lade die folgende zip-Datei herunter und entpacke sie. Darin findest du die Python-Datei pgzhelper.py. Kopiere diese Datei in deinen Spielordner. Am Anfang deines Codes für dein Spiel muss Folgendes stehen:
import pgzrun  # für Pygame Zero
from pgzhelper import *  # für Pygame Zero Helper
import random # für zufällige Werte
import math # für Mathe
Unten im Ordner spielvorlage findest du meinen Python-Code spielvorlage.py.

Halte den Ordner spielvorlage separat von deinem eigenen Spielordner. Kopiere nur die Code-Logik aus meinem Code, die du benötigst.

Aber Achtung: Kopiere den Code nicht einfach unverändert! Passe ihn an dein eigenes Spiel an und ergänze ihn an den passenden Stellen, damit alles funktioniert.

Spielidee
  • Überlege dir zuerst eine einfache Spielidee.
  • Du kannst dein Spiel später weiterentwickeln und komplexer gestalten.
  • Es sollte klar sein, wie der Spieler das Spiel gewinnt oder verliert.
  • Halte die Regeln einfach und verständlich.
  • Lass dich von A Posteriori und Coding Games with Pygame Zero & Python inspirieren.
  • Es gibt auch dieses sehr gute Buch Game Dev Cookbook, in dem du Source Code für verschiedene klassische Spiele findest. Hier ist eine Videoanleitung, die dir zum Beispiel zeigt, wie du den Code für das Plattformspiel Q*bert herunterladen und testen kannst. Ich habe das Video auf meinem Mac aufgenommen. Unter Windows sieht die Oberfläche ein wenig anders aus.

Interaktivität
  • Dein Spiel muss interaktiv sein.
  • Der Spieler sollte das Spiel mit der Tastatur, Maus oder Klicks steuern können.
  • Reagiere auf Aktionen des Spielers, zum Beispiel das Erhöhen des Punktestands oder das Beenden des Spiels.

Bilder, Sounds und Animationen
  • Verwende Sprites für Spielfiguren, Hintergründe und Objekte.
  • Füge, wenn möglich, Sounds hinzu, um das Spiel spannender zu machen.
  • Dein Spiel muss animierte Sprites enthalten. Folge der Anleitung, die ich im Allgemein-Kanal auf Teams gepostet habe.
  • Achte darauf, dass die Bilder gut sichtbar und passend sind.
  • Ressourcen: OpenGameArt.org, Pokémon sprite, The Spriters Resource, Pokémon 3D Models.
  • Häufig findest du nur Sprite Sheets und nicht einzelne Sprites. Diese kannst du aber mit einem Sprite Sheet Cutter wie Ezgif schneiden.
  • Du kannst hier bei Piskel selbst Sprites und Animationen erstellen.

Code-Struktur
  • Organisiere deinen Code übersichtlich.
  • Verwende sinnvolle Variablennamen und teile den Code in Funktionen auf.
  • Vermeide unnötige Wiederholungen.

Fehlerfreiheit
  • Teste dein Spiel regelmäßig.
  • Das Spiel sollte ohne Abstürze funktionieren.

Herausforderung
  • Sorge dafür, dass das Spiel Spaß macht und eine gewisse Herausforderung bietet.
  • Überlege, ob es verschiedene Level, Gegner oder Hindernisse geben kann.

Dokumentation
Beschreibe dein Spiel kurz:
  • Name des Spiels
  • Ziel des Spiels
  • Steuerung
  • Spielablauf
Sei außerdem bereit, deinen Code zu erklären.

Den Ordner spielvorlage kannst du hier als ZIP-Datei herunterladen. Die Python-Datei spielvorlage.py befindet sich in diesem Ordner. Du benötigst den gesamten Ordner mit seiner richtigen Struktur sowie den notwendigen Bilddateien, damit der Code korrekt funktioniert. Es ist kein fertiges Spiel, sondern nur eine Vorlage.
spiel gif