Spieleentwicklung in Go für absolute Anfänger
(threedots.tech)Den Spaß am Programmieren wiederfinden: Burnout mit Spieleentwicklung überwinden
- Häufige Klage in Entwickler-Communitys: die Leidenschaft fürs Coden ist verloren gegangen
- Tipp gegen Burnout: ein eigenes Spiel entwickeln, um wieder Freude am Programmieren zu finden
- Persönliche Erfahrungen darüber, wie Spieleentwicklung zur Begeisterung für Programmierung geführt hat
- Empfehlung, Spiele mit der Sprache Go und der Bibliothek Ebitengine zu entwickeln
Grundprinzipien der Spieleentwicklung
- Ähnlich wie beim Film besteht ein Spiel aus schnell aufeinanderfolgten Bildern (Frames)
- Ein Spiel erzeugt Bilder in Echtzeit und verändert den nächsten Frame abhängig von Benutzereingaben
- Ein Spiel ist im Kern eine Endlosschleife, in der das Zeichnen von Bildern und das Aktualisieren der Logik wiederholt werden
Projekt-Setup
- Ein Go-Modul erstellen und die Bibliothek Ebitengine hinzufügen
- Ein leeres Fenster mit einer minimalen Implementierung des Game-Interfaces starten
Assets laden
- Empfohlen wird, Programmer Art zu verwenden oder kostenlose Assets zu nutzen
- Das Paket
embedverwenden, um Assets in den Code zu laden
Bilder zeichnen
- Alle Zeichenoperationen innerhalb der
Draw-Methode ausführen - Die Methode
DrawImagevonebiten.Imageverwenden, um ein Bild auf ein anderes zu zeichnen - Über die Struktur
DrawImageOptionsPosition, Rotation und Skalierung des Bildes steuern
Spiellogik
- Die Struktur
Gamehält den Spielzustand und verändert ihn über die MethodeUpdate - Als Beispiel wird die Position des Spielers als (X-, Y-)Vektor gespeichert
Bewegung
- Bewegung wird umgesetzt, indem die Position des Spielers in der
Update-Methode aktualisiert wird - Die Position des Spielers wird abhängig von der Tastatureingabe verändert
Timer
- Implementierung eines Timers, um Spiellogik abhängig von der Zeit zu verändern
- Mit einer Struktur
TimerEreignisse in bestimmten Zeitabständen auslösen
Spielobjekte
- Spielobjekte wie der Spieler werden gekapselt und verwaltet
- Jedes Objekt hat eigene
Update- undDraw-Methoden
Objekte erzeugen
- Ein Meteor-Objekt erzeugen und am Bildschirmrand spawnen lassen
- Die Struktur
Gameverfolgt die Meteor-Objekte
Kugeln abfeuern
- Schusslogik und einen Cooldown-Timer implementieren
Playererzeugt Kugeln undGameverfolgt sie
Kollisionserkennung
- Für die Kollisionserkennung eine Struktur
Rectund eine MethodeCollider()implementieren - In
Updatedes Spiels Kollisionen zwischen Objekten prüfen
Meinung von GN⁺
Das Wichtigste an diesem Artikel ist, dass er Entwicklerinnen und Entwicklern einen Weg zeigt, Burnout zu überwinden und die Begeisterung fürs Programmieren zurückzugewinnen. Spieleentwicklung bietet die Möglichkeit, Programmierfähigkeiten in einem kreativen und unterhaltsamen Projekt zu trainieren und gleichzeitig eine neue Sprache oder Bibliothek zu lernen. Der Artikel inspiriert dazu, Coden wieder als Hobby zu genießen, und weckt Interesse, indem er einen grundlegenden Ansatz zur Spieleentwicklung mit der Sprache Go und der Bibliothek Ebitengine erklärt.
1 Kommentare
Hacker-News-Kommentare