Spiele programmieren..wie anfangen? (2025)

This topic has been deleted. Only users with topic management privileges can see it.

  • E

    eniddelemajlast edited by


    Hey Leute

    zunächst einmal ich beschäftige mich zwar mit c++ und ich denke dass ich mit den grundkenntnissen ganz gut dabei bin(arrays,pointer,klassen,usw).Von anfang an war mir klar , dass ich mit meinen erworbenen kenntnissen in die spielebranche gehen will.

    jetzt zu meinem problem:

    es heisst immer man braucht programmierkenntnisse (bei mir c++) um sich mit spiele programmieren zu beschäftigen.
    ehrlich gesagt sagt mir das nie viel,weil ich nicht weiss WIE VIEl kenntnisse ich brauche um damit anfangen zu können.

    die zweite sache ist,dass ich gar keinen plan habe wie oder wo ich anfangen soll.
    mit youtube videos habe ich bisher keine guten erfahrungen gemacht (zumindest nicht beim programmieren von spielen). daher würde ich mir viel lieber ein gutes buch darüber durchlesen um auch wirklich tief in die materie einzudringen.
    nur WELCHES buch ist denn dafür geeignet?

    also ich suche kein buch ,dass für komplette anfänger ist(ich habe c++ für dummies)aber auch kein buch für absolute fortgeschrittene.

    vielleicht sehen jetzt die einen oder anderen , dass ich gar nicht weiss an welchem punkt ich beginnen soll.

    klärt mich auf das würde mich freuen!

    danke vielmals für eure aufmerksamkeit

    ReplyQuote0

      1 ReplyLast reply

    • ?

      Gam0rlast edited by


      Wenn Du Spiele programmieren willst und C++ allgemein bereits gut genug kannst, dann solltest Du Dir eine von den simpel zu benutzenden Bibliotheken nehmen (also nicht DirectX, sondern SDL oder SFML) und dort eins der Tutorials lesen. Damit solltest Du relativ schnell Ergebnisse bekommen.

      Das "Schwierige" beim Spieleprogrammieren ist meiner Meinung nach die Ausgabe der Grafik etc. Das ganze Benutzen dieser Bibliotheken.
      Das nehmen Dir SDL und SFML ja dann weitgehend ab.

      Die eigentliche Spiellogik ist nur allgemeines Programmieren. Wenn Du also wirklich gut programmieren kannst, dann solltest Du auch relativ fix Spiele programmieren können.

      ReplyQuote0

        1 ReplyLast reply

      • E

        eniddelemajlast edited by


        danke für deine antwort!

        ja von sdl habe ich zum beispiel noch nicht gehört. das werde ich dann mal angehen danke!:)

        ReplyQuote0

          1 ReplyLast reply

        • J

          Jockelxlast edited by Jockelx


          Hey

          eniddelemaj schrieb:

          jetzt zu meinem problem:

          es heisst immer man braucht programmierkenntnisse (bei mir c++) um sich mit spiele programmieren zu beschäftigen.
          ehrlich gesagt sagt mir das nie viel,weil ich nicht weiss WIE VIEl kenntnisse ich brauche um damit anfangen zu können.

          wenn dein Ziel ist, ein halbwegs fertiges Spiel zu schreiben, dann brauchst du kaum Programmierkenntnisse.
          Wenn du low-level Sachen wissen willst, wie das geht, dann natürlich schon.
          Also grob würde ich das so einteilen:

          - OpenGL & co: lernst von 0 auf; Erfolgschance auf ein fertiges Spiel: 0.1%
          - Sfml/SDL & co: Viel Kontrolle, macht spass und kann auch was Kleines bei rum kommen
          - Unity/Unreal & co: Viel weniger Programmierkenntnisse erforderlich, dafür viel Einarbeitung in die Engine. Grundlegende Mechaniken, bei denen du sonst Monate bräuchtest, hast du an einem Nachmittag fertig.

          Kurz und knapp: Geht es darum eine Spielidee umzusetzen, dann beschäftige dich nicht mit Programmierung, sondern mit einer Engine.
          Ansonsten ist Sfml oder Sdl sicher ein guter Einstieg.

          ps: Wenn du dich für eine Engine entscheidest, dann solltest du dich allerdings mit Youtube-Filmchen anfreunden. Die sind da nämlich ausnahmsweise mal so richtig hilfreich - zumindest die offiziellen.

          ReplyQuote0

            1 ReplyLast reply

          • dotlast edited by


            Wirf auch mal einen Blick auf Cinder: https://libcinder.org/

            ReplyQuote0

              1 ReplyLast reply

            • E

              eniddelemajlast edited by


              Jockelx schrieb:

              Hey

              eniddelemaj schrieb:

              jetzt zu meinem problem:

              es heisst immer man braucht programmierkenntnisse (bei mir c++) um sich mit spiele programmieren zu beschäftigen.
              ehrlich gesagt sagt mir das nie viel,weil ich nicht weiss WIE VIEl kenntnisse ich brauche um damit anfangen zu können.

              wenn dein Ziel ist, ein halbwegs fertiges Spiel zu schreiben, dann brauchst du kaum Programmierkenntnisse.
              Wenn du low-level Sachen wissen willst, wie das geht, dann natürlich schon.
              Also grob würde ich das so einteilen:

              - OpenGL & co: lernst von 0 auf; Erfolgschance auf ein fertiges Spiel: 0.1%
              - Sfml/SDL & co: Viel Kontrolle, macht spass und kann auch was Kleines bei rum kommen
              - Unity/Unreal & co: Viel weniger Programmierkenntnisse erforderlich, dafür viel Einarbeitung in die Engine. Grundlegende Mechaniken, bei denen du sonst Monate bräuchtest, hast du an einem Nachmittag fertig.

              Kurz und knapp: Geht es darum eine Spielidee umzusetzen, dann beschäftige dich nicht mit Programmierung, sondern mit einer Engine.
              Ansonsten ist Sfml oder Sdl sicher ein guter Einstieg.

              ps: Wenn du dich für eine Engine entscheidest, dann solltest du dich allerdings mit Youtube-Filmchen anfreunden. Die sind da nämlich ausnahmsweise mal so richtig hilfreich - zumindest die offiziellen.

              also es ist jetzt nicht so dass ich programmieren doof oder "zu schwer " finde. ich liebe es zu programmieren und ich habe mir auch mühe gegeben das alles zu lernen was ich kann.also wenn ich meine programmierkenntnisse darauf anwenden kann ,dann kann ich das nur gut heißen.abgesehen davon weiss ich gar nicht was eine "engine" genau ist.

              was meinst du mit "erfolgschance 0.1 %"?

              ja mit sfml hab ich jetzt wirklich vor kurzem angefangen. Je nachdem ob ich vernünftiges material finde lässt sichs auch gut damit lernen.

              ReplyQuote0

                1 ReplyLast reply

              • ?

                hardwarelast edited by



                Tic-Tac-Toe, Pong, Tetris, Schiffe versenken, 4-Gewinnt,
                Asteroids, Memory, Breakout/Arkanoid, Solitaire, Pac-Man, Hang-man,
                Snake, ...

                Dabei sei erwähnt, dass manche dieser Spiele nicht gerade trivial sind. Es ist außerdem ein großer Abstand zwischen "spielbarer Grundversion" und einem vollwertigen Spiel mit Menü, verschiedenen Spielmodi, Highschoreliste, ...

                Oder einfache eigene Ideen. Bei meinem ersten Projekt musste man ein Quadrat steuern, und anderen Quadraten ausweichen. Das witzige war, dass ich nichtmal einen timestep hatte...

                Erfahrungsgemäß sollte man sich nicht gleich große Dinge ausdenken, mit voll viel Action und Items und coolen Animationen/Effekten und und und... Da wird man schnell frustriert mit.

                Hier ist der Code aus einem persönlich zu empfehlenden Buch zu SFML. Das ist in 10 "Phasen" aufgeteilt, und ich denke davon kann man sich das eine oder andere abschauen (auch wenn die Erklärungen dazu fehlen).
                https://github.com/SFML/SFML-Game-Development-Book

                ReplyQuote0

                  1 ReplyLast reply

                • TGGClast edited by


                  Ich sehe das wie hardware, einfach anfangen kleine Sachen zu programmieren. Ich hab auch nicht erstmal jahrelang eine Programmiersprache gelernt sondern mit 3-4 Basic Befehlen angefangen was zu programmieren.

                  ReplyQuote0

                    1 ReplyLast reply

                  • hustbaerlast edited by hustbaer


                    @eniddelemaj:
                    Ich kann mich dem was hardware und TGGC geschrieben haben grundsätzlich anschliessen.

                    Wozu ich noch etwas schreiben wollte ist deine Antwort auf Jockelx' Beitrag. Programmieren musst du grundsätzlich immer können, auch wenn du eine Engine wie Unity verwendest. Der Unterschied ist: bei einer Engine wie Unity hast du viele Dinge bereits fertig dabei, wie das ganze Handling von 3D Szenen, Kamera, Shadern, Animationen etc. Die Spielmechanik musst du aber trotzdem selbst programmieren. D.h. auch dabei kannst bzw. musst du deine Programmierkenntnisse einsetzen. (Bei Unity müsstest du zwar C# oder JavaScript lernen, aber so wild ist das nicht, da ist man relativ schnell so weit drinnen dass man die relativ einfachen Dinge die man für das Zusammenstoppeln von Spielen mit Unity braucht hinbekommt.)

                    Bei einfacheren Engines oder Libraries wie SFML ist viel weniger dabei, von daher musst du viel mehr selbst programmieren. Auch so grundlegende Dinge wie deinen Frame-Loop, das schrittweise Versetzen von Objekten um flüssige Bewegungen zu erreichen etc. Dadurch wirst du mit SFML & Co. deutlich länger brauchen. Dafür allerdings auch mehr von diesen Dingen lernen.

                    Kommt also drauf an was du machen/erreichen willst. Wenn dein ziel hauptsächlich ist ein Spiel fertig zu bekommen, dann bist du mit einer Engine wie Unity wohl am besten beraten. Wenn du allerdings verstehen willst wie bestimmte Dinge "unter der Haube" funktionieren, dann ist wohl eine Engine die dir nicht ganz so viel abnimmt besser, wie eben SDL oder SFML, besser.

                    ReplyQuote0

                      1 ReplyLast reply

                    • R

                      RHBaumlast edited by RHBaum


                      ergänzend zu hustbaer/TGGC/hardware:

                      dass ich mit meinen erworbenen kenntnissen in die spielebranche gehen will.

                      Spiele Programmierer != SpieleProgrammierer. Wenn bei größeren Studios arbeitest / arbeiten willst, spezialisierst Dich auch.

                      Ebenso werden deine Ambitionen einfluss auf deine Games haben, wenn du noch allein testest / programmierst ^^
                      Man sieht nem Game an, ob Wert auf, Künstliche Intelligenz, Leveldesign, hardwarelastige Grafikausgabe gelegt wurde ....

                      Wenn C++ und Grafik deine Ambitionen sind ... sehr gut.
                      Dann vergiss unity ^^ vorerst.
                      Fang mit rudimentäreeren Dingen an ... Lern zu verstehen wie die Grafik Pipeline ner modernen Graka funktioniert.
                      Setz dich mit Shadern auseinander ... hasst das geschnallt, nen kurzer exkurs zu GPU Kernel ... also Shader Programmierung ohne Grafikausgabe ... aka GPU Beschleunigung der "normalen" Programmierlogik ...

                      Spastestens hier wirst merken, ob dir mehr Programmlogik liegt, oder das optimieren der Darstellung (aufwendinge Postprocess effekte -> Beluchtung Schatten etc) ....

                      Zum programmieren reicht bis dahin einfaches C++ und grundkentnisse in den gängigen low level Grafik API's (Opengl/Vulkan und DirectX).
                      Bei DirectX kommt noch nen kuzer Crashlurs in COM hinzu ...
                      Am ende ist das aber einfacher zu verstehen als komplexe 3D Environment Biblios aka Unity/Ogre/CryEngine ...

                      Für Shader kommst am Anfang sogar auch ohne C++ aus. Lern den Umgang mit Blender oder nem anderen Tool, was eigene Meshes + eigene Shader darstellen kann. Zum Testen und Prototyping gold wert!

                      Falls eher logik deine Ambitionen sind ... dann sind vielleicht neuronale Netze, was auf das du dich stürzen könntest.

                      Ciao ...

                      ReplyQuote0

                        1 ReplyLast reply

                      • ?

                        nachfragerlast edited by


                        Moin,

                        Du solltest dir als erstes mal klar machen, was du willst.

                        Es ist ein riesen Unterschied ob du ein Spiel programmieren möchtest, oder ob du ein Spiel designen willst. Beim ersten würde ich dir auch zu SFML raten. Das ist nett, wenn man sich eine Spiele Engine programmieren möchte.
                        Für den zweien Fall kann ich dir nur raten, dich in eine Spiele Engine wie Unity, Ogre oder UT einzuarbeiten. Da kannst du dich eher auf dein Spiel konzentrieren,

                        Grüße

                        ReplyQuote0

                          1 ReplyLast reply

                        • Spiele programmieren..wie anfangen? (2025)

                          References

                          Top Articles
                          Latest Posts
                          Recommended Articles
                          Article information

                          Author: Tish Haag

                          Last Updated:

                          Views: 5316

                          Rating: 4.7 / 5 (67 voted)

                          Reviews: 82% of readers found this page helpful

                          Author information

                          Name: Tish Haag

                          Birthday: 1999-11-18

                          Address: 30256 Tara Expressway, Kutchburgh, VT 92892-0078

                          Phone: +4215847628708

                          Job: Internal Consulting Engineer

                          Hobby: Roller skating, Roller skating, Kayaking, Flying, Graffiti, Ghost hunting, scrapbook

                          Introduction: My name is Tish Haag, I am a excited, delightful, curious, beautiful, agreeable, enchanting, fancy person who loves writing and wants to share my knowledge and understanding with you.