Godot-Programmierprojekt

Projekt, in dem wir gemeinsam ein hochwertiges Spiel in Godot programmieren.

Session 22. Dezember 2020
Heute haben wir uns überlegt, wie unser Spiel aussehen soll. Es soll eine Mischung aus einem futuristischen 2D-RPG und einem auf Musik basierten Platformer sein.
Das Setting des Spiels wird eine Großstadt und der Platformer kommt in Form von Spielautomaten hinzu.
Die Grafik des Spiels soll im Pixel Art-Stil gehalten werden.

Wir werden hauptsächlich zwischen den Sessions in kleineren Gruppen am Spiel arbeiten.
Dazu arbeiten bis zur nächste Session an:
Story: Robert, Nikolas - Treffen: Mittwoch 30.12.2020 15:00
Grafik: Bene, Philipp - Treffen: Sonntag, 03.01.2021 16:00
evtl. Platformer: Philipp
Nächste Session: 05.01.2021 18:00

Story-Session 30. Dezember 2020
Schnellreise mit Hyperloop
Tore zwischen Stadtteilen

Start + Tutorial

  • Ankunft in der Stadt
  • Unterhaltung mit NPCs

Bereiche

  • Kraftwerk (Endbereich) + Labor
  • Vorstadt (Tutorial)
  • Reichenvirtel
  • Industriegebiet
  • Armenviertel/Slums
  • Einkaufsmeile/Einkaufszentrum + Bank
  • Park
  • Spielhalle/Casino

Antagonisten
Schiefgelaufenes Experiment -> Reaktorfehler -> Mutanten
FIrma -> Vertuscht Reaktorfehler -> Geld -> Reparieren Reaktor nicht, weil sie Heilung verkaufen

Verlauf
Spieler wurde von Firma gefeuert (Prolog)
Spieler kommt in der Stadt an (Vorstadt)
Spieler macht sich über die Firma schlau (Vorstadt)
Spieler erfährt, dass die Leute die Firma mögen, weil sie ihnen hilft.
Spieler zieht in ein Hotel & rüstet sich aus (Innenstadt bzw. Einkaufszentrum)
Spieler rekrutiert Leute (Armenvirtel)
Leute werden zu Mutanten (Armenvirtel)
Spieler versucht, Schutz im Reichenvirtel zu suchen, was scheitert (Armenvirtel)
Spieler kämpft gegen die Mutanten + gewinnt (Armenvirtel)
Reichenvirtel erkennt Mehrwert des Spielers an + lässt dich rein (Reichenvirtel)
Wirst als Mutantenjäger angeheuert + bekommst für diesen Job Immunität (Reichenvirtel)
Mehrere Nebenquests (Überall)
Aufgabe die nicht schaffbar ist (Stadtmauer nähe Reaktor)
Verlierst den Job (Reichenvirtel)
Gehst in die Innenstadt
Stellst Nachvorschungen über den Reaktor an (Innenstadt)
Findest raus, dass der Reaktor der Firma gehört
Entwickelst du wieder einen Hass auf sie, da sie dich den Job gekostet haben (Innenstadt)
Versuchst in das Industriegebiet reinzukommen (Innenstadt)
(1). Finde raus, wie du die Mutanten da verletzten kannst (Vllt. mit einem Tool)
(2). Besorge dir eine xy um da reinzukommen
Spieler bekommt in den Labs Infos über den kaputten Reaktor (Reaktor/Labs)
Spieler besiegt Firma xy (Reaktor)
Alle sind cool

Nebenaufgaben
Muss noch erstellt werden

Charaktere
Muss noch erstellt werden

Automaten
Einsatz: Geld
Gewinne: Geld, Gegenstandsupgrade
Simpel gehalten

Tablet (Menü)
-> Verlassen
-> Statistiken
-> Einstellungen
-> Gegnerübersicht
-> Questlog
-> Spielstände
-> Weiterspielen

Nächste Story-Session: 5. Januar 2021 17:00

Design-Session 03. Januar 2021

In dieser Session wurden erste Teile der Spielidee im Pixelart-Stil gezeichnet. Konkret wurden die Bedienfläche des Spielautomaten und das Menü in einem Tablet gezeichnet.
In den vorherigen Session-Berichten wurde bereits erwähnt, welchen Zweck der Automat und das Tablet erfüllen sollen, weshalb es in dieser Session nur darum ging, diese Anforderungen umzusetzen.
Auf dem Spielautomaten ist neben Bedienelementen eine freie Fläche vorhanden, die entsprechend für die Spielhandlung genutzt wird.

Das Spielmenü befindet sich in einem Tabletrahmen, um den Eindruck zu erwecken man befinde sich auf der Startseite eines Tablets. Die Beschreibung unter den Symbolen erklärt deren Funktionalität.

In der nächsten Session steht unter anderem das Zeichnen einer Karte, auf der sich die Spielfigur bewegt, an.

Alle Grafiken befinden sich im entsprechenden Edugit-Repo.

Kombinierter Sessionbericht vom 19. & 12.

Info: Das ist der Sessionbericht von beiden Sessions heute und der Session vom 12.1.

  • Charaktere:

    • Alles Menschen außer Boss der Firma.
  • Nebenquests:

    • 28 Stück

    • Eskortquests

    • Gib mir Geld

    • Füttere irgendwelche Gegner mit Blei

    • Transportiere Items

    • Sammele Zeug

  • Preise:

    • Geld
    • Waffen
    • Items
    • Upgrades
  • Wie bekommt man mehr Energie:
    -> Mit level-ups

  • Was bekommt man am Ende von Kämpfen?

    • Items
    • Xp
    • Waffen von schwiegereren Gegnern

Platformer-Struktur

Endlos, zufällig Generiert

  • Zufällige Reinfolge von Abschnitten
  • Jeder 3. Abschnitt mit Münze

Belohnungen:

Geld, alle Ebenen.

  • Hängt von der gesammelten Anzahl an Münzen ab.
  • 1 Münze = ?
  • Maximum an Geld pro Tag = ?

Einsatz:
Nichts

Cooldown der Preise:
1 Ingame Tag

Benutzung: Unbegrenzt

Spieler Skillset:
Laufen
Schießen
Schlagen
Dash/Sprung
Klettern
Einsetzen von Items/Effekten

Sessionbericht vom 26.1

Offene Fragen:
- Muniton?
- Waffen gehen kaputt?

Schwierigkeitsgrad

  • Richtet sich an Anfänger - Fortgeschritten.
  • Gegner werden mehr (und Schwieriger pro Gebiet)
  • Schwierigkeit steigt konstant

Abschluss eines Gebietes

  • “Dungeon und dann Endboss”
  • Waffen und/oder Muniton

Handel
Wert des Geldes

  • Man bekommt mehr Geld
    • Dafür kostet Zeug auch mehr.
      Läden
  • Items
  • Heilungsitems
  • Waffen
  • Bosswaffen sind nicht erwerbbar
  • “Spezielle” Waffen

Session-Bericht vom 16.2
Nebenquests:

• Werden durch Ansprechen von NPC's freigeschalten
• Mit einem Item kann man den ungefähren Punkt von Quests sehen
• Armenvirtel-Quests:
    • Quest #1 "Schlägerei"
        • Du musst n paar Bots verhauen die dir dein Auftraggeber zeigte
        • Belohnung: Munition/Waffen
    • Quest #2 "Einkaufen"
        • Du musst ein paar Sachen für einen NPC aus dem Supermakrt holen
        • Belohnung: Essen
   • Quest #3 "Tierfänger"
       • Eine Hauskatze ist abgehauen und dein Aufgabe ist es die Katze zurück zu bringen. 
       • Belohnung: Du darfst die Katze streicheln (Lebensregeneration)
   • Quest #4 "Foto-Tour"
       • Renn in der Stadt rumm und mache Fotos von bestimmten Orten
       • Belohnung: Hinweiße auf Dungeons
   • Quest #5 "Baustelle"
       • Grabe/Sprenge einen bestimmen Bereich aus damit man dort ein Haus bauen kann.
       • Belohnung Geld
   • Quest #6 "Schießstand"
       • Du bekommst eine Waffe und musst verschiede Ziele in einer bestimmten Zeit abschießen
       • Belohnung: Zielvernrohr/Waffe
   • Quest #7 "Autowerkstadt"
       • Hilf dem Arbeiter Autos zu reparieren/hohl ihm ein paar Ersatzteile
       • Belohnung: Auto
• Reichenvirtel-Quests:
   • Die Monsterjagt
       • In letzter Zeit wurden immer öfter merkwürdige Kreaturen gesichtet. Besiege 10 von ihnen,     
         damit die Stadtbewohner wieder ruhig schlafen können.
       • Belohnung: Irgend ne Waffe.
   • Ein merkwürdiger Transport
       • xy möchte, dass du Teile seines Goldschatzes zum seinen Verwandten in der Innenstadt
         bringst. Aber das ist anscheinend kein Geheimnis....
       • Belohnung: Geld
   • Ein seltsamer Reicher
       • Auch wenn es im Reichenvirtel nicht an Geld fehlt, möchte jemand eine Kredit über x Geld von 
         dir
       • Belohnung: Waffe
   • Alte Freunde
       • x will mal wieder seinen Freund y besuchen. Aber leider wohnt er auf der anderen Seite der
         Stadt und x ist auf die Bewohner der Stadt nicht so gut zu sprechen.
       • Belohung: Waffenupgrade
  
   • Führerschein
       • Absolviere einen kleinen Parcour mit dem Auto um einen Führerschein zu bekommen
       • Belohnung: Auto-upgrade

• Innenstadt-Quests
   • Dein Traumhaus
       • Ein neues Haus wird gerade gebaut und du könntest es vielleicht bald besitzen! Die Firma 
         benötigt nur noch ein paar Materialen und etwas Geld...

Session am 23.03.2021

Im Wesentlichen wurden kleine Bugs gefixt (siehe Edugit ) und überlegt, welche Aufgaben für die nächste Zeit konkret anstehen:

  • Schüsse vom Player inplementieren ( Benni)

  • Border für die Mainszene nach oben (Robbe)

  • Menü “klickfähig” machen

  • Waffenauswahl entgültig klären und inplementieren

  • Fortschritte & Items zählen

  • Hintergrund gestalten

Über die nächste Woche wird an den Aufgaben verteilt gearbeitet.

Session am 06-04-2021

In dieser Session haben wir uns überlegt, wie wir einen Workshop für die Sommerfreizeit gestalten können.

Pygame Tiled
Pro
-Workshopkonzept und Material ist schon vorhanden
Contra
-Benni kann es noch nicht
-Nichts neues

Godot
Pro
-Neu, Alle sind damit vertraut
-Einige aufgaben werden von der Engine abgenommen
Contra
-Evtl zu lang/kompliziert für den Workshop
-Läuft evtl nicht auf Laptops → zurückfallen auf OpenGL 2.0

Bei der Session haben wir uns den alten Workshopablauf angeguckt und darauf basierend diesen hier entwickelt:
Ablaufplan

  • Vorstellungsrunde
    • Name
    • Alter
    • Erwartungen
    • Programmiererfahrungen
  • Was ist ein Programm/Algorithmus?
  • Intelligentes Blatt Papier
  • Python Grundlagen
    • Erste Anweisungen
    • Der print-Befehl
    • Variablen und rechnen
      • Definieren von Variablen
      • Rechenoperatoren (+,-,*,/,%,//,**)
    • Bedingungen
      • if
      • Doppelpunkte und Einrückung
      • Operatoren (==, <, >, !=, <=, >=)
      • and, not, or
      • else
      • elif
    • Schleifen
      • while
      • for (mit range)
    • Module/Bibliotheken
      • import
      • random
    • Funktionen
      • def
      • Namensräume
      • Parameter
      • return
    • Zufallspiel
      • Gemeinsam programmieren und fragen, was als nächstes kommt
      • Zahlenraten
    • Klassen und Objekte
      • Konstruktor
      • Methoden
  • Pygame
    • pygame-Bildschirm
      • set_mode
      • flip
    • RGB-Code
      • fill
    • Sprites
      • image
      • rect
    • Events
      • event type
      • keys
      • Spielerbewegung
    • Spritegruppen und Kollision
      • Renderclear
      • verschiedene Kollisionstypen
    • Font
    • Einbindung von Tiled
      Die nächste Session wird an den Campdays stattfinden.

Sessionbericht 10.04.
Wir haben angefangen ein Beispielspiel zu programmieren. Philipp Stahl / Beispielspiel Sommerfreizeit · GitLab
Die nächste Session findet am 20.04. statt.

Da die Terminfindung während den Ferien aufgrund von Urlaub etc bei (fast?) allen Beteiligten schwierig wird (und uns eine Pause bestimmt auch guttun wird), wird die Session erstmal ausgesetzt

Da Philipp an der Session kein Interesse mehr hat, werde ich die Leitung übernehmen (außer @benni sagt, dass er auch keine Lust mehr hat). Nächste Woche kann es weitergehen, einen neuen Termin brauchen wir, m. M. n., nicht.

Ich möchte mich auch von der Session abmelden. Ich denke, ich konnte einen guten Einblick in Godot bekommen, habe aber kein Interesse mehr weiterzumachen.

Da im Projektmeeting auch sonnst niemand Interesse bekundet hat, findet die Session nichtmehr statt

Moment mal… Was wird denn jetzt aus dem Thema, so als Ergebnis? Wisst ihr noch, so als Projektleiter LEOPARD z.B. @robert, wie das mit den Sessions, Workshop-Themen, Nachbereitung, und ggf. Workshopgestaltung so laufen sollte :thinking: ?

Da gibt es nicht viel nachzubereiten.

Das Spiel selbst ist nicht fertig geworden, da gibt es also kein Ergebnis.

Godot als Workshop-Thema ist schwierig. 1. ist es eher was für Fortgeschrittene 2. hat ja offenbar (fast) niemand mehr Interesse an Programmieren mit Godot also warum sollten Leute da auf magische Weise wieder interessiert sein, da als Tutor mitzuarbeiten, wenn das ein Workshop wird.