In diesem Projekt geht es um die Vorbereitung eines pygame-Workshops für die Hack’n’Sun.
Die nächste Session ist am Dienstag, 11.05, um 18:45.
Dort werden wir uns mit der Vorbereitung des Beispielspielsbeschäftigen.
Sessionbericht 20.06.2021
Spielbezug bei Grundlagenerklärung:
- Teilnehmer sollen von Anfang an die Assoziation zu Spielen haben anstatt nur Programmiergrundlagen
- Aufbau anhand eines Zahlenratenspiels:
- ausgeben du hast gewonnen/ du hast verloren → Textchat funktionen, Dialog mit Spielcharakteren, Untertitel
- gesuchte zahl speichern → Position von Spielers
- zufällige gesuchte Zahl → Gegner spawnen, Inhalt von Kisten, Lootboxen/Fifa packs
- nur ausgeben wenn die gesuchte zahl = der eingegeben ist → Wenn linksclick dann schießen/schlagen, Wenn w dann laufen, Wenn Spieler in eine Bombe läuft dann sterben
- ausgabe ob höher oder tiefer → s.o. Textausgabe
- wiederholen bis das spiel fertig ist → Immerwieder neu bewegen, nicht alles auf einmal, sondern immer nur ein kleines bisschen
- Zeitraum: min. 1,5h
klassen + funktionen weglassen
Die Teilnehmer fragen: Kennt ihr die Funktionen schon aus anderen spielen und aus welchen Spielen? → eigene Beispiele an jedem Schritt
Nächster Schritt: Wie könntet ihr das in eurem eigenen Spiel verwenden? → Aufschreiben für später → Teilnehmer wissen im zweiten Teil, wie sie ihre Ideen verwirklichen und werden nicht durch unwissenheit daran gehindert komplexere Befehle zu verwenden
Template für eigenes Spiel
- Bildschirmerstellung
- vorgefertigte Spieler, wo noch ein Bild eingefügt werden muss
- gegnertemplate, ohne Bild und jegliche spiellogik, mit RenderClear
- update funktion vorgeben
- fill/blit → eigene Farbe oder eigenes Hintergrundbild
- spieler anzeige
- flip
- event schleife
- selber programmieren, was bei welchen events passiert (QUIT und K_ESCAPE)
- update funktion aufrufen
- spieler updaten
Programmliste:
- tiled
- thonny
Laden der Tiled-map als extra Template
Sessionbericht 29.06.2021
Teilnehmer: Robert, Benni, Jonah, Philipp
Was haben wir gemacht:
Austesten der neuen Erklärung und Verbesserung des Templates
Der neue Weg der Erklärung von Python anhand des Zahlenratenspiels läuft gut. Die Beispiele für Spiele von den Teilnehmern und Ideen kommen eher weniger, also müssen wir mehr eigene Beispiele aufführen. Zusätzlich dazu haben wir beim Template Kommentare hinzugefügt, konnten die Pygame-Erklärung allerdings nicht mehr komplett zu Ende führen, da die Zeit in der Session nicht gereicht hat.
Workshopablauf
0. Gruppenbildung
- 2er Gruppen
→ Damit wir nicht von 15 Leuten um Hilfe angeschrien werden, sondern nur von 8 Gruppen
1. Grundlagen
- Anmeldung
- Wie benutzt man Thonny?
- Clonen des Repos
- Robert
2. Python-Basics
- Aufbau anhand eines Zahlenratenspiels:
- ausgeben du hast gewonnen/ du hast verloren → Textchat funktionen, Dialog mit Spielcharakteren, Untertitel
- gesuchte zahl speichern → Position von Spielers
- zufällige gesuchte Zahl → Gegner spawnen, Inhalt von Kisten, Lootboxen/Fifa packs
- nur ausgeben wenn die gesuchte zahl = der eingegeben ist → Wenn linksclick dann schießen/schlagen, Wenn w dann laufen, Wenn Spieler in eine Bombe läuft dann sterben
- ausgabe ob höher oder tiefer → s.o. Textausgabe
- wiederholen bis das spiel fertig ist → Immerwieder neu bewegen, nicht alles auf einmal, sondern immer nur ein kleines bisschen
- Teilnehmer bekommen die fertige Version über’s Repo, dann probieren sie das aus
- Die Zwischenschritte werden erklärt
- Robert
3. Spielegebimsel
- Erklärung von pygame-Basics
- RGB
- Opengameart
- Pygame-Dokumentation
- Cheatsheet
- Template
- Tiled
- Wie erstelle ich eine Tiled-Map
- Raussuchen eines Tile-Sets
- Teilnehmer, die keine Map haben wollen, können auch sofort loslegen
- Max. 30 min
- Philipp
- Zusammenfügen
- Teilnehmer machen aus den Templates, (evtl.) ihrer Map und eigens gebasteltem Zeug ihr fertiges Spiel.
- Workshopleiter helfen, wenn nötig
Was lernen die Teilnehmer?
- Python-Grundlagen
- Tiled
- Benutzung von Thonny
- Pygame-Grundlagen
- RGB
- Benutzung von OpenGameArt
Welche Begriffe kennen sie danach?
- Git
- Repo
- Tileset
- Tiled
- Programmiersprache
- Python
- Pygame
- Thonny
- Schleife
- Klasse
- Bedingung
Was kriegen die Teilnehmer? Was müssen sie selber machen?
Bekommen:
- Lückenhafte Templates für:
- Items
- Gegnerbewegung
- Rotation des Spielers
- Gewinnen
- Verlieren
- Hindernisse
- Tiled-Einbindung
- Spielerbewegung
- Sound
- Spielerangriff
- Verschiebbare Gegenstände
Selber machen:
- Lücken füllen
- Tiled-Map bauen
- Tile-Set raussuchen
- Sachen selbst programmieren
- Gebimsel zusammenbauen
Was nehmen sie mit nach Hus?
- Das fertige Spiel
→ Via USB
Reflektion Spieleprogrammierungsworkshop
Vorbereitung
- Lief nicht sehr gut
- Fehlendes Konzept mit Berücksichtigung der lessons learned
Workshop an sich:
- Lief sehr gut
- Templates waren hilfreich
- Mehr Tutoren oder Helfer sind wichtig
Templates:
- Namen in Zukunft auf Deutsch
- Vorheriges Testen war gut, sollte aber mit mehr Zeit im voraus getan und mehrmals (von verschiedenen Personen) getan werden
Ergebnisse:
- Ergebnisse waren besser als beim letzten mal
- Wir brauchen einen besseren Weg zur Ergebnissicherung als Cloud
- Firefox mit Cloud sehr langsam
- Vllt git verwenden
Für die Zukunft:
* Reviews von vorherigen Workshops angucken und berücksichtigen
Ähm, nein? Im Gegenteil: Konsequent englische Bezeichner verwenden.