Wie ein Spiel programmieren?

2 Antworten

(...) und wollte nebenbei das programmieren lernen.

Ich würde dir empfehlen, den Fokus erst einmal auf das Erlernen der Programmierung zu setzen. Es als Nebenbeiziel zu verfolgen, schränkt dich ein, erhöht leicht den Aufwand und verdirbt die Laune. Um ein Spiel entwickeln zu können, stellen sichere Programmierkenntnisse meist die erforderliche Basis. Es sei denn, du suchst gezielt nach Baukastensoftware.

Ein paar Programmiersprachen (ergänzt um dazu hilfreiche Tools), die sich für dein Vorhaben eignen würden:

  • GDScript (mit der Godot Engine)
  • Java (mit libGDX)
  • Lua (mit der Defold Engine)
  • Processing (nur für Android)
  • Swift (mit dem SpriteKit; nur für iOS)

Alle aufgeführten Optionen sind kostenlos nutzbar. Hinsichtlich der Veröffentlichung von Anwendungen in den jeweiligen Stores solltest du jedoch beachten, dass dieses Unterfangen nicht kostenlos ist. Für die Lizenzierung von Software für den Apple Store wird zudem ein macOS benötigt.

Was du noch in Erwägung ziehen könntest, wäre die Entwicklung für das Web (z.B. mit JavaScript und p5.js). Dein Spiel kannst du über eine Plattform wie itch.io veröffentlichen.

(...) welche aktuellen Bücher ihr den für das programmieren für Spiele (...) empfehlen könnt?

Ich habe hier schon einmal einige empfehlenswerte Bücher zur Spieleprogrammierung aufgelistet. Die fokussieren sich jedoch meist auf Programmarchitektur und Game Design allgemein. Solltest du kein großes Interesse daran haben, tief in die Materie einzutauchen (und es nur bei deiner einen Spielidee belassen wollen), wären sie vermutlich nicht die optimale Wahl für dich.

Es gibt ebenfalls noch Bücher wie Programmieren lernen mit JavaScript von S. Elter oder Eigene Spiele programmieren: Python lernen von A. Sweigart und V. Gronau, die den Ansatz fahren, Programmieren über sehr einfache Minispiele zu lehren. Allerdings solltest du hierbei beachten, dass du im Anschluss meist noch vor dem Problem stehst, wie du die entwickelten Anwendungen auf die jeweiligen mobilen Plattformen portieren kannst. Je nach gewählter Technologie ist das einfacher oder schwerer. Das bedeutet, in der Regel musst du dich noch mit weiteren Hilfsmitteln beschäftigen, die so ein Buch nicht behandelt. Das ist nicht in jedem Fall einfach und erfordert mindestens eigenständige Recherche.

Im Folgenden verlinke ich noch auf Lernquellen zu meinen obigen Vorschlägen.

  • Für GDScript solltest du mit der Godot-Dokumentation arbeiten. Videotutorials bietet der YouTube-Kanal HeartBeast.
  • Bezüglich Java habe ich in diesem Beitrag einige Lernquellen aufgezählt. Bevor du dich mit libGDX auseinandersetzt, solltest du in den Grundlagen der OOP einigermaßen vertraut sein. Die Dokumentation verweist nebenbei auf ein paar Demos und Tutorials. Ich denke, die kurzen Artikel auf HappyCoding sind noch hilfreich.
  • Zu Lua findest du hier Quellverweise.
  • Zu Processing habe ich in diesem Beitrag bereits einiges geschrieben. Anleitungen für Processings Android-Version findest du hier.
  • Quellen für Swift findest du hier. Auf raywenderlich gibt es (natürlich) auch ein SpriteKit-Tutorial.

Als generelle Faustregel kannst du davon ausgehen, dass die offizielle Online-Dokumentation einer Technologie stets die erstbeste Anlaufstelle für Informationen ist.

Zu Godot, libGDX, etc. lassen sich übrigens auch Bücher finden. Da ich aber Vorschläge nur dann gebe, wenn ich konkrete Bücher kenne und diese im Gegensatz zur Dokumentation einen Mehrwert geben, müsstest du unter Umständen selbst Reviews suchen oder ein Risiko eingehen.

Nimm naheliegende Bibliotheken in deinen Suchradius nach geeigneten Quellen ruhig mit auf.

Und muss man unbedingt Unity benutzen?

Nein, definitiv nicht. Unity ist, wie du in meinem obigen Text siehst, nur ein Tool von vielen, welches dir bei der Spieleentwicklung helfen kann. Es gibt noch etliche andere Engines, Frameworks oder Bibliotheken. An sich könntest du dir auch eigene Toolsets zusammensetzen oder selbst entwickeln. Je nachdem, was du vorhast, ist das aber natürlich mit viel mehr Aufwand verbunden.

Die beiden von dir genannten Spiele wurden schon mit Scratch (einer visuellen Programmiersprache) entwickelt. Wenn es dir ausreicht, dein Spiel damit zusammenzubauen, sollten die verlinkte Webseite und vielleicht noch das deutschsprachige Wiki ausreichende Lernquellen sein.

Programmieren eines Spiels ist ein komplexer Prozess, der viel Zeit und Mühe erfordert. Es gibt jedoch einige grundlegende Schritte, die man befolgen kann, um ein Spiel zu programmieren.

Zuerst muss man entscheiden, welches Spiel man programmieren möchte. Dies bedeutet, dass man sich überlegen muss, welche Art von Spiel es sein soll, welche Mechaniken es verwenden wird und was das Ziel des Spiels sein wird. Sobald man diese Entscheidung getroffen hat, kann man mit dem Erstellen des Spiels beginnen.

Das nächste ist das Erstellen eines Designs und einer Storyboard für das Spiel. Dies hilft dabei, das Spiel besser zu planen und zu visualisieren. Es ist auch wichtig, diese Dokumente zu erstellen, bevor man mit dem Programmieren des Spiels beginnt, damit man weiß, was genau man programmieren muss.

Nachdem das Design und die Storyboard erstellt wurden, kann man mit dem eigentlichen Programmieren des Spiels beginnen. Dieser Prozess ist sehr komplex und detailliert und erfordert viel Wissen über die Programmiersprache, in der das Spiel geschrieben wird. Sobald das Spiel programmiert ist, müssen Sie es testen und debuggen, um sicherzustellen, dass alles funktioniert richtig.

Ich hoffe, dass dir diese Tipps helfen! Viel Spaß beim Lernen!

Woher ich das weiß:eigene Erfahrung