Wie fange ich mit programmieren an?

5 Antworten

Dass Unity am Anfang überfordert ist sogar dann normal, wenn man gut programmieren kann, weil man sozusagen erst deren Ökosystem kennen lernen muss.

Suche dir am besten ein Youtube-Tutorial das speziell für Leute ist, die noch keinerlei Code geschrieben haben. z.B. "Unity for complete beginners" oder soetwas.

Und dann erstmal das Tutorial durcharbeiten und kleinere Anpassungen basierend auf dem Gelernten vornehmen. Suche dir aber unbedingt ein Tutorial das auch das warum erklärt oder zumindest explizit sagt, warum das warum in diesem Moment grade nicht erklärt wird. Einige sind ja einfach nur "schreibe erst das und dann schreibe das".

Ein besseres Verständnis für das alles erhältst du vermutlich, wenn du erstmal kleiner anfängst, um eine Programmiersprache richtig zu lernen. Das könntest du, wie bereits vorgeschlagen, z.B. mit Godot machen, einer simpleren Game Engine für Python. Oder noch besser: schreibe ein Spiel in der Konsole ohne jegliche Bibliotheken, also pure python. Dann Pseudographisch in der Konsole z.B. Snake oder soetwas.

Oder vielleicht auch erstmal Projekte die keine Spiele sind, selbst umsetzen, bis du dir mit den Grundkonzepten wirklich sicher bist.

Ich habe bei der App Mimo bereits viele Lektionen zu python abgeschlossen. Mein Ziel war es irgendwie programmieren zu lernen (...)

Um Programmieren zu lernen, brauchst du die Grundlagen einer Programmiersprache und du musst dich mit Problemanalyse sowie dem Algorithmusbau beschäftigen.

Mimo dürfte dir zumindest Ersteres an die Hand gegeben haben (auch wenn dein Kenntnisstand nun immer noch unbekannt ist). Inwiefern ihre Code Challenges aufgebaut sind und tatsächlich fordern, weiß ich allerdings nicht. Es gibt jedoch noch viele andere Quelle für Übungsmaterial: Schau beispielsweise auf CodingBat, Edabit, Exercism oder w3resource.

Wichtig ist, dass du praktisch mit dem bisher Gelernten arbeitest. Mit Variablen, Operatoren, Kontrollstrukturen und Listen musst du definitiv sicher umgehen können, bevor du kleine Spiele entwickeln kannst.

Wenn du an eine Aufgabe herangehst, mache nicht den Fehler, gleich in Python-Code denken, geschweige sofort Code in die Tasten hauen zu wollen. Du machst es dir so nur unnötig kompliziert. Gehe analytisch vor und plane anschließend den Lösungsweg.

  1. Was ist das Problem bzw. Ziel (prägnant formuliert)?
  2. In welche Teilprobleme/-ziele kann es zerlegt werden?
  3. Jedes Teilproblem muss durch einfache Arbeitsschritte (einzelne Operationen) lösbar sein, andernfalls musst du es erneut zerlegen.

Ein Programmablaufplan oder ein Struktogramm ist an der Stelle hilfreich.

Erst wenn du deine Schritte zur Lösung kennst (und am besten mittels Testfällen gegengeprüft hast), beginnt eine Implementation in Python.

In diesem Beitrag habe ich schon einmal ein kleines praktisches Beispiel für so ein Vorgehen gezeigt und ebenso noch ein paar Übungsaufgaben benannt, die sich speziell dafür gut eignen.

Danach habe ich es mit Unity probiert, (...)

Für Unity benötigst du erst Kenntnisse in der Programmiersprache C#. Es ist definitiv nicht einfacher, sondern schwerer.

Kann mir irgendwer sagen wo ich anfangen kann (...), wenn ich lernen will wie man Spiele erstellt?

Ich würde dir empfehlen, erst einmal weiter mit Python zu machen, um nicht erneut bei Null beginnen zu müssen. Nimm dir wie gesagt erst einmal einfache Übungsaufgaben vor.

Für relativ kleine Spiele mit grafischer Oberfläche (in 2D oder isometrischer Perspektive) kannst du Processing.py oder PyGame nutzen.

Sie arbeiten mit einer einfachen Game Loop-Implementation. Du kannst dir dazu die Erklärung von Robert Nystrom durchlesen.

(am liebsten in Unity)

Wenn du unbedingt mit Unity arbeiten möchtest, musst du wie erwähnt erst einmal Grundlagen zu C# (inkl. OOP) lernen und an Problemanalyse/Algorithmenbau kommst du natürlich nach wie vor nicht vorbei. So lange du diese Anforderungen nicht erfüllen kannst, würde ich dir definitiv davon abraten, in Unity ein Projekt zu starten, denn da kommst du nicht weit.

Besorge dir Lernmaterial, richte dir eine Entwicklungsumgebung ein (z.B. Visual Studio oder Rider) und löse Aufgaben in Konsolenprojekten. Minispiele wie z.B. Snake kann man in diesem Kontext auch programmieren.

Ein paar mögliche Lernquellen:

Für einen späteren Einstieg in Unity gibt es deren Lernportal.

Ich kenne das Problem und meine, die Ursache dafür zu erkennen. Das Problem ist, dass du versuchst, programmieren zu lernen, um dann Spiele zu entwickeln. Besser wäre es, wenn du programmieren lernen würdest, indem du ein Spiel entwickelst. Denn Programmieren ist nicht so leicht durch einen Kurs zu lernen, man lernt es viel besser durch Learning by Doing.

Natürlich wirst du nicht direkt ein AAA-Spiel programmieren können, wenn du erst am Lernen bist. Du solltest dir also ein Spiel mit sehr einfacher Grafik und Spielmechanik überlegen und dann versuchen, es umzusetzen. Dabei wirst du viel im Netz suchen, Dokus lesen, vielleicht Code aus anderen Projekten übernehmen und anpassen müssen, aber genau das ist es, was beim Lernen passieren sollte.

Zusammenfassung: Erst die Idee, dann die Umsetzung und währenddessen das Lernen, nicht das Lernen mit dem Ziel, eine Idee, die man noch gar nicht hat, umzusetzen!


Clemens5678 
Beitragsersteller
 30.07.2025, 19:05

Danke für deine Antwort!

Hast du denn eine Idee wo ich anfangen soll? Also soll ich einfach auf YouTube schauen wie man einfache 2D Games programmiert? Da weiß ich einfach nicht was ich zuerst lernen sollte…

PhotonX  30.07.2025, 19:17
@Clemens5678

Hast du denn meine Antwort auch aufmerksam gelesen? ;) Dort steht eigentlich, was der erste Schritt sinnvollerweise sein könnte.

  1. Unity ist eine sehr schwere Game-Engine und nicht für Einsteiger geeignet (du wirst viel Zeit investieren müssen um dich da zurechtzufinden). Das Gleiche gilt für Unreal.
  2. Meistens nutzen Game Engines ihre eigene Programmiersprache oder eine abgewandelte Form einer bereits bestehenden. Das heißt, wenn du "lernen willst wie man Spiele erstellt" musst du erstmal alle wichtigen Funktionen der Game Engine lernen und die Grundlage der Programmiersprache ebenfalls lernen. Weil du schon Phyton kennst wird das aber einfacherer, weil alle Programmiersprachen imgrunde das gleiche "Grundgerüst" haben

Meine Empfehlung:

  1. Starte mit einer einfachen Game Engine wie Godot (für 2D und 3D Spiele).
  2. Lerne die Grundlagen der Programmiersprache davon (https://gdquest.github.io/learn-gdscript/)
  3. Mache dich mit der Benutzeroberfläche der Game Engine vertraut
  4. Fange mit etwas einfachem an, wie z.B. ein Jump and Run Spiel
  5. Nutze auf keinen Fall ChatGPT oder anderes zum coden. Auch wenn du am Anfang ewig brauchen wirst, um dich durch Foren und Dokumentationen zu quälen, das ist es definitiv wert! Wenn du deinen Code mit Chat schreibst, hast du zum einen meist sehr schlechten Code und absolut garnichts gelernt. Du wirst dir später dafür danken, dass du deinen Code selbst geschrieben hast.
  6. Deine ersten Spiele müssen nicht "perfekt" sein. Deine ersten Spiele werden auch nicht wie "normale" Spiele, die du auf Steam kaufen kannst, aussehen. Halte dich nicht mit irgendwelchen Details (wie z.B. das Suchen nach perfekten Bildern auf)
Woher ich das weiß:eigene Erfahrung
Ich habe bei der App Mimo bereits viele Lektionen zu python abgeschlossen.

Ok. Und wann hattest du vor, dich mit den Grundlagen zu beschäftigen, mit denen man im Idealfall beginnt?

PAP, Struktogramm, Pseudocode, OOP.... wenn das bekannt ist, kann man sich an Programmiersprachen wagen. Und dann wählt man die Sprache, die für das geplante Vorhaben geeignet ist. (Python dürfte für Spieleentwicklung nicht gerade die beste Wahl sein.)


R4c1ngCube  30.07.2025, 19:32
PAP, Struktogramm, Pseudocode, OOP

OOP vielleicht, aber den Rest braucht m.M.n. kein Mensch als Grundlage um eine Sprache zu lernen. Auch OOP lernt man besser nachdem man bereits ein wenig programmiert hat, sonst fängt man damit ja nichts an

M.M.n. sucht man sich am besten eine beliebige Sprache / ein beliebiges Projekt aus und lernt diese Sprache dann möglichst vollständig. Mit verallgemeinerten Konzepten und Dokumentation kann man sich dann später noch beschäftigen