co-op coding chaos mit @0xlia ! Coding & Gaming

Gemeinsames Programmierprojekt erfolgreich umgesetzt

Es wurde ein gemeinsamer Programmierprozess dokumentiert, bei dem zwei Entwickler ein Farm-Spiel optimierten. Durch die Nutzung von Kooperationstools wurden Herausforderungen wie die Synchronisation von Code-Änderungen gemeistert. Erfolgreich implementiert wurden unter anderem ein Bewegungssystem für Drohnen, Logiken für Kürbisanbau und Sortieralgorithmen für Kakteen. Am Ende wurde ein Raid auf einen anderen Kanal geplant.

Software and Game Development
00:00:00

Software and Game Development

Stream-Start und Technikprobleme

00:00:05

Der Stream beginnt mit einigen technischen Schwierigkeiten, die eine ungewöhnliche Startphase erzeugen. Lia und die Streamerin haben Schwierigkeiten mit dem synchronen Streaming, da sie versuchen, einen kombinierten Chat einzurichten. Die Streamerin ist verwirrt über die plötzliche Änderung des Stream-Setups und muss ihren Twitch-Link suchen. Sie versucht, die technische Situation zu bewältigen und den Zuschauern eine entspannte Atmosphäre zu vermitteln, während sie die notwendigen Einstellungen für den gemeinsamen Stream vornehmen.

Kooperation und Spielwahl

00:03:50

Lia und die Streamerin planen einen gemeinsamen Stream und wählen das Spiel 'The Farmer Was Replaced'. Sie erklären, dass dies ein Programmierlernspiel in Python ist, in dem man eine Drohne steuert, um eine Farm zu bewirtschaften. Die Herausforderung besteht darin, gemeinsam an einem Code zu arbeiten, da das Spiel nicht für Kooperation entwickelt wurde. Sie nutzen Git und VSCode Live Share, um ihre Save-Files zu teilen und gemeinsam zu programmieren. Das Ziel ist, 100% der Achievements zu erreichen und dabei grundlegende Programmierkonzepte zu lernen.

Community-Interaktion und Synchronisationsprobleme

00:06:00

Während des Streams gibt es Interaktion mit der Community, die bei technischen Aspekten und Spielmechaniken hilft. Lia und die Streamerin haben Schwierigkeiten mit der Synchronisation ihrer Code-Änderungen und müssen ständig zwischen pushen und pullen wechseln. Die Zuschauer helfen bei der Lösung von Problemen und geben Hinweise zur Spielmechanik. Es gibt auch Diskussionen über den Namen ihres gemeinsamen Projekts und über die technische Umsetzung des Streams, wie die Integration von Discord, damit beide Streamer gehört werden können.

Programmier-Fortschritt und Herausforderungen

00:08:34

Die Streamer arbeiten daran, ihre Farm effizienter zu gestalten, indem sie neue Funktionen und Fähigkeiten im Spiel freischalten. Sie implementieren Schleifen und Bedingungen, um die Drohne automatisch Ernteprozesse durchführen zu lassen. Sie stoßen auf Herausforderungen bei der Implementierung von Logik zur Baum- und Buschpflanzung in einem Schachbrettmuster. Die Diskussionen werden durch mathematische Konzepte wie Modulo-Operationen komplexer, und die Streamer müssen ihre Ansätze mehrmals anpassen, um die gewünschte Funktionalität zu erreichen.

Kollaborative Programmierung im Detail

00:17:48

Die Streamer vertiefen sich in die technische Zusammenarbeit und nutzen dabei VSCode Live Share, um gemeinsam an dem Code zu arbeiten. Sie stoßen auf Herausforderungen bei der Synchronisation ihrer Änderungen und müssen häufig ihre Git-Repositorys aktualisieren. Lia schlägt eine Schachbrettmuster-Implementierung für die Baum- und Buschpflanzung vor, was zu mathematischen Diskussionen führt. Sie arbeiten daran, die Bedingungen so zu formulieren, dass die Drohne an den richtigen Positionen die richtigen Pflanzen anbaut, während sie gleichzeitig Ressourcen wie Heu, Holz und Karotten effizient sammeln.

Diskussion um technologische Entwicklung

00:56:00

Im Stream entwickelt sich eine Diskussion über die Rolle von Technologie in der Landwirtschaft, inspiriert durch das gespielte Spiel. Während einige Zuscharger die technologische Entwicklung als positiv für die Landwirtschaft betrachten, kritisieren andere die potenzielle Ersetzung von Landwirten durch Automatisierung. Lia und die Streamerin nehmen diese Kritik ernst und diskutieren verschiedene Perspektiven, betonen aber, dass sie durch das Spiel nur Programmierkonzepte vermitteln und keine politische Botschaft senden wollen. Sie betonen den Spaßfaktor des Spiels und den kreativen Aspekt des Programmierens.

Zusammenarbeit und Zukunftsperspektiven

01:05:30

Lia und die Streamerin sprechen über ihre langfristige Zusammenarbeit und mögige gemeinsame Projekte. Sie erwähnen das Projekt 'Aura', das als Backend-Projekt für eine wissenschaftliche Anwendung konzipiert ist, die Microsoft Excel und relationale Datenbanken kombinieren soll. Sie diskutieren die technischen Herausforderungen und mögliche Lösungsansätze, während sie gleichzeitig im Spiel weiter vorankommen. Streamerin ermutigt Lia, mehr Frontend-aspekte überzunehmen, während sie selbst auf die Backend-Entwicklung konzentriert ist.

Reflexion über Programmieransätze

01:16:30

Die Streamer reflektieren über unterschiedliche Ansätze zum Programmieren und Lernen. Lia neigt dazu, mathematische Konzepte schnell zu erfassen, während die Streamerinnen sich mehr auf praktische Implementierungen konzentriert. Sie diskutieren unterschiedliche Lernstile und wie man Programmierkonzekte sowohl für Anfänger als auch für Fortgeschrittene zugänglich machen kann. Insbesondere betrachten sie, wie man Programmierung als kreativen und spielerischen Prozess darstellen kann, ohne zu sehr technisch zu werden.

Programmierdiskussion und Landwirtschaftssimulation

01:24:11

Die Streamer diskutieren über Einstellungen zum Programmieren und ob man Informatik noch raten würde. Es wird eine Diskussion über die Notwendigkeit eines Studiums, wenn man programmieren lernen möchte, gefolgt von technischen Problemen bei der Simulation einer Landwirtschaft. Die Drohne im Spiel soll Heu automatisch wachsen lassen, was jedoch zu Ineffizienzen führt, da sie jedes Mal neu pflanzt, obwohl Gras wächst. Dies führt zu einer Debatte über die optimale Umsetzung der Game-Logik.

Karriereberatung und Programmierstudium

01:25:57

Es wird gefragt, ob man Leuten noch raten soll, Informatik zu studieren. Die Streamer sind unsicher, ob sie es aktuell empfehlen würden, da es schwierig sei. Sie persönlich studierten Informatik, weil sie Bock darauf hatten. Es wird diskutiert, ob ein Studium notwendig ist, um programmieren zu lernen. Die Diskussion dreht sich um die Abhängigkeit davon, was man mit dem Abschluss machen will, und alternativen zum formalen Studium.

Graswachs und Bodenmanagement im Spiel

01:27:28

Die Streamer versuchen herauszufinden, wie Gras im Spiel automatisch wachsen kann. Sie stellen fest, dass Heu nur auf normalem Boden automatisch wächst, während auf 'Soil' zuerst 'Till' gemacht werden muss. Es wird diskutiert, ob es sinnvoller ist, Grass aktiv zu pflanzen oder es automatisch wachsen zu lassen, was zu Zeitverlust führen kann, da die Drohne jedes Mal neu pflanzt, obwohl das Gras bereits wächst.

Kürbisanbau und Logikoptimierung

01:35:00

Die Streamer wechseln zum Thema Kürbisanbau im Spiel. Kürbisse wachsen wie Karotten und können sich zu Riesenkürbissen vereinen. Es gibt jedoch eine 20-prozentige Chance, dass Kürbisse sterben. Dies erfordert eine spezielle Logik, um ein komplettes Feld mit Kürbissen zu bepflanzen und später zu ernten. Die Streamer arbeiten an einer Funktion, um die Drohne gezielt zu Koordinaten zu bewegen, um tote Kürbisse zu ersetzen und den Prozess zu optimieren.

Koordinationssysteme im Spiel

01:42:19

Es wird eine Funktion entwickelt, um die Drohne gezielt zu bestimmten Koordinaten zu bewegen. Die Streamer diskutieren über die Implementierung eines Move-to-Coordinate-Systems, das den schnellsten Weg berechnet. Dabei tauschen sie sich über die Koordinatensysteme aus und wie die Drohne sich bewegen sollte, um Zeit zu sparen. Es entstehen technische Herausforderungen bei der Berechnung der Wegfindung, besonders wenn negative Differenzen auftauchen.

Dünger und Weird Substance im Spiel

01:54:22

Die Streamer erfahren, dass Dünger Pflanzen infizieren kann, wobei der Ernteertrag zur Hälfte in 'weird substance' umgewandelt wird. Sie sind unsicher, ob diese Substanz nützlich ist, und entscheiden sich dagegen, ihre Pflanzen zu infizieren. Dies führt zu einer Diskussion über die optimale Nutzung von Dünger im Spiel und den möglichen Nachteilen für die Ernte.

Kartesische Koordinaten und Bewegungslogik

02:04:40

Es tauschen über die Funktionsweise der Kartesischen Koordinaten im Spiel aus und wie die Drohne sich bewegen sollte. Sie müssen herausfinden, wie die Differenz zwischen当前位置 und Zielposition berechnet wird, ob die Drohne nach Osten oder Westen gehen sollte. Die Diskussion vertieft sich in mathematische Herausforderungen und wie man Manhattan-Distanz für die Bewegung nutzt.

Implementierung des Move-to-Coordinate-Systems

02:13:38

Die Streamer implementieren das Move-to-Coordinate-System, indem sie die Funktionsweise der Range und die Berechnung der Differenz zwischen当前位置 und Zielposition nutzen. Es entstehen Probleme mit negativen Werten in der Range, was die Bewegung der Drone beeinträchtigt. Sie arbeiten daran, diese Herausforderungen zu lösen und die Bewegungsoptimierung zu verbessern, um die Zeit für das Sammeln von Kürbissen zu minimieren.

Kürbiswachstumslogik und Listennutzung

02:28:59

Die Streamer entwickeln eine Logik, um das Wachstum von Kürbissen zu managen. Sie erstellen eine Liste für unvollständige Kürbisse, um die Positionen zu verfolgen, die noch gepflanzt werden müssen. Die Drohne soll gezielt zu diesen Koordinaten fliegen, um tote Kürbisse zu ersetzen und den Prozess effizienter zu gestalten. Dabei entstehen Herausforderungen bei der Verwaltung der Liste und der Umsetzung der Bewegungslogik.

Fehlerbehebung bei der Kürbisbewegung

02:34:41

Die Streamer kämpfen mit Fehlern in der Implementierung der Kürbisbewegung. Die Drohne verhält sich unerwartet und überspringt bestimmte Koordinaten. Sie versuchen, das Problem durch Debugging zu lösen, indem sie die Ausgabe der Liste für unvollständige Kürbisse prüfen. Es wird deutlich, dass die Bewegungslogik fehlerhaft ist und angepasst werden muss, um die richtigen Koordinaten anzusteuern.

Co-op Coding Chaos

03:09:01

Die Streamer arbeiten gemeinsam an einem Programmierproblem, das anscheinend mit Listenmanipulation zu tun hat. Sie diskutieren verschiedene Lösungsansätze, dar das Entfernen von Elementen während der Iteration und das Hinzufügen neuer Elemente. Dabei werden verschiedene Lösungsstrategien ausprobiert, wie das Ersetzen von Listen und das Anhängen neuer Elemente. Die Streamer sind sichtlich frustriert von den wiederkehrenden Problemen, bleiben aber motiviert, eine Lösung zu finden.

Durchbruch bei der Problemlösung

03:14:48

Nach mehreren Versuchen und intensiver Diskussion entdecken die Streamer den entscheidenden Fehler in ihrem Code. Sie stellen fest, dass die Variable neuKörben ständig mit einer leeren Liste überschrieben wird, was dazu führt, dass nur ein Element hinzugefügt wird. Dieser Durchbruch löst das Problem und die Streamer feiern den Erfolg. Der Code funktioniert nun erwartungsgemäß und die Kürbis-Ernte erfolgreich.

Einführung Kakteen-Sortierung

03:36:31

Die Streamer wechseln nun das Thema von Kürbissen zu Kakteen. Sie erklären die besonderen Eigenschaften von Kakteen im Spiel, insbesondere dass sie in einer bestimmten Reihenfolge geerntet werden müssen, wenn sie benachbart sind. Dies führt zu einer Diskussion über Sortieralgorithmen, insbesondere Insertion Sort, da nur benachbarte Kakteen getauscht werden können. Die Streamer beginnen mit der Implementierung des Algorithmus.

Implementierung des Sortieralgorithmus

03:46:21

Die Streamer arbeiten intensiv an der Implementierung des Insertion Sort Algorithmus für die Kakteen. Sie erklären, wie sie die Kakteen Spalten für Spalten und Zeile für Zeile sortieren möchten. Sie diskutieren die Herausforderungen, insbesondere wie man sicherstellt, dass nach dem Sortieren der Spalten die Zeilen noch sortiert bleiben. Der Algorithmus wird schrittweise implementiert und getestet.

Fehlerbehebung und Optimierung

03:56:02

Nach der ersten Implementierung gibt es einige Probleme mit dem Sortieralgorithmus. Die Streamer identifizieren, dass die Ernte nicht korrekt funktioniert, weil nicht alle sortierten Kakteen gleichzeitig geerntet werden. Sie debuggen den Code und stellen fest, dass die Zeilensortierung noch nicht korrekt implementiert ist. Nach einigen Anpassungen und Tests wird der Algorithmus erfolgreich zum Laufen gebracht.

Neue Herausforderungen: Düngen und Labyrinthe

04:30:09

Die Streamer wechseln nun zu einem neuen Spielaspekt: dem Düngen von Pflanzen. Sie erklären, wie Dünger die Wachstumszeit von Pflanzen reduziert, aber auch zu einer Infektion führt. Sie discutieren die Verwendung von 'Weird Substance', die durch infizierte Pflanzen erhalten wird, um Labyrinthe zu erschaffen. Die Streamer beginnen mit dem Testen dieser neuen Mechanik.

Labyrinth-Erschaffung und Schatzsuche

04:37:37

Die Streamer erforschen nun die Labyrinth-Erstellung im Detail. Sie erklären, dass die Größe des Labyrinths von der Menge der verwendeten 'Weird Substance' abhängt und dass der Schatz im Labyrinth verborgen ist. Sie diskutieren die Implementierung eines Algorithmus, um sich durch das Labyrinth zu bewegen und den Schatz zu finden, was jedoch als komplex und zeitaufwändig gilt.

Stream-Ende und Raid-Vorbereitung

04:42:32

Zum Ende des Streams planen die Streamer einen Raid auf den Kanal von Stacy, der das Spiel 'Detroit Become Human' streamt. Sie diskutieren die technische Umsetzung des Raids und ob sie gemeinsam in den anderen Chat wechseln können. Nach einer intensiven Session planen sie, den Stream mit einem Raid zu beenden und verabschieden sich von der Community mit der Ankündigung, sich am nächsten Tag wieder zu treffen.