Log 002 - 27.09.2024 - Erste 3D Modelle und schlechte Skalierbarkeit
Meine derzeitige Herangehensweise ist die modulare Entwicklung, heißt ich Teile das Spiel in verschiedene Themenbereiche ein und erstelle die jeweiligen 3D-Modelle und den Code. Später füge ich die Module dann aneinander und zack! Das Spiel ist fertig.
Das Test-3D Set "Kälberstall", zum Beispiel, wurde heute modelliert.
Als die Dateien in die Engine eingefügt wurden und das Skript für das Aufnehmen und Ablegen von Gegenständen angepasst werden sollte, ist mir bedauerlicherweise mein ineffektiver Code aufgefallen. Meine Objekte sind zu hart referenziere und dadurch ist eine Skalierbarkeit nicht gegeben. Ich verwende quasi nur BPIs zur Kommunikation unter den Skripten, bzw Actors, natürlich kann ich für jeden Actor eine entsprechende Funktion hinzufügen aber gibt es da keinen besseren Weg?
Um das herauszufinden und mehr über effektivere Programmierung zu lernen, habe ich mir das Buch "Game Programming Patterns" von Robert Nystrom zugelegt.
Ich gehe jetzt erstmal lesen...
Ich möchte vorab darüber Informieren, dass ich hier keine Rücksicht auf meine Ausdrucksweise nehme. Sollte sich jemand angegriffen oder diskriminiert fühlen, tut es mir Leid.
Die Einträge werden während oder direkt nach der Entwicklungsarbeit geschrieben. Das sollte als Ausführung genügen.
Log 001 - 22.09.2024 - Eine Zusammenfassung der bisherigen Ereignisse
Die letzten Tage habe ich damit verbracht die Steuerung und die Hauptmechaniken "Quick-and-Dirty" zu implementieren. Diese sind:
1. Feld erstellen
2. Feldzustand ändern
3. Die Implementierung von etwas das man Zeit nennen könnte
4. Klick auf ein Ei und du bekommst Geld dafür
5. Saatgut auswählen und das Feld erhält den korrespondierenden Zustand
6. In Trecker ein- und aussteigen
7. Mit dem Trecker "fahren"
8. Gegenstände aufnehmen und ablegen.
"Quick-and-Dirty" soll heißen es funktioniert alles irgendwie und das Spiel stürzt nicht ab. Dieser glückliche Zufall liegt aber auch an einer Reihe von "Learnings", die ich erleben durfte. "Learnings" hört sich jetzt sehr friedlich an. Als hatte ich das vorhandene Problem gelöst, indem ich mich mit einem Grashalm im Mund auf ein Stein gesetzt hätte und etwas hin und her überlegt habe.
"Learnings" beschreibt das Durchforsten von Dokumentationen, das endlose Suchen im Internet und das stumpfe herumexperimentieren, bis der Code (hoffentlich) annähernd das macht, was ich von ihm will.
Also zum Punkt.
Die "Learnings" der Tage:
Learning 1: While-Schleifen sind ... schwierig.
In der Theorie weiß ich wie sie funktionieren aber ich habe es noch nicht geschafft sie zu implementieren. Im besten Fall werde ich freundlich vom Debugger darauf hingewiesen, dass des Weges eine Endlosschleife wartet aber meistens springe ich geradewegs hinein. Nichts funktioniert mehr, ich sehe noch 4* an den Skript-Tabs und ich überlege, ob ich nicht einfach erstmal eine Pause mache.
Learning 2: Auf und Abs sind Teil der Entwicklung
"Ja no shit, Sherlock! Natürlich gibt es Auf und Abs, in welchem Bereich des Lebens denn nicht?"
Ist Ja gut! Was ich meine ist, dass man sehr schnell lernen muss dass es keine Plateu-Phasen gibt. Fühlst du dich wie der Programmiergott höchst selbst, weil du das schwerste Problem ever endlich gelöst hast? Kralle dich an deine Tastatur, denn was jetzt auf dich zukommt, schickt dich zurück in die Tiefen des Internets. Vergiss die Taschenlampe nicht! Und hier ein paar Snacks. Wir sehen uns in 4 Stunden wieder.
© 2024 Arctic Tern Gamestudio. All rights reserved.
Wir benötigen Ihre Zustimmung zum Laden der Übersetzungen
Wir nutzen einen Drittanbieter-Service, um den Inhalt der Website zu übersetzen, der möglicherweise Daten über Ihre Aktivitäten sammelt. Bitte überprüfen Sie die Details in der Datenschutzerklärung und akzeptieren Sie den Dienst, um die Übersetzungen zu sehen.