Announcement

Collapse
No announcement yet.

Auf vorhandene Engine zurückgreifen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auf vorhandene Engine zurückgreifen?

    Hallo.
    Ich bin noch ein ziemlicher Neuling auf dem Gebiet der C++ Programmierung und habe ein paar Fragen.
    Wollte mich auf die Spieleprogrammierung spezialisieren. Die C++ Basics kann ich einigermaßen mittlerweile, ich habe ein Buch ( Spieleprogrammierung mit DirectX ), welches einem zuerst die C++ Basics beibringt und dann eine Einführung in die Spieleprogrammierung mit DirectX liefert. Letzterem bin ich aber mittlerweile abgeneigt, weil ich mich dann doch dafür entschieden habe, plattformunabhängige Spiele zu programmieren.
    Mein Zielprojekt soll ein GTA2 Klon werden. Das heißt eine 3d Umgebung ( Top-Down Perspektive ) und 2D Charaktere, Autos etc. ( Sprites ).
    Das heißt nicht, dass ich mich jetzt schon an dieses Projekt ranwagen will, als aller erstes will ich ein Bomberman Spiel schreiben. Für den GTA2 Klon stelle ich mir aber die Frage, was ich dafür brauche.
    Mit SDL lassen sich nur 2D Spiele programmieren, oder?
    Für 3D Spiele müsste ich dann also OpenGL nehmen? Ich habe ja nicht allzuviel Ahnung davon, aber wenn ich schon daran denke, dass die Objekte ja auch Schatten werfen sollen und eben unterschiedliche Lichtquellen und -effekte etc. dann müsste ich das ja alles selbstprogrammieren oder?
    Da das sicherlich zuviel Aufwand wäre, dachte ich daran, dass ich gleich eine fertige Engine nehme. Bin dann nach etwas suchen auf die Irrlicht Engine gestoßen.
    Klingt das vernünftig oder was würdet ihr mir da empfehlen?
    Wenn man OpenGL verwenden will, müsste man dann tatsächlich Schatten etc. und diese ganzen Effekte eben, selbstprogrammieren?

    Danke im Voraus

    Jan

  • #2
    Also ich habe auch nicht allzu viel Verständnis von Spieleprogrammierung. Aber ich glaube Du solltest Prioritäten setzen.
    Willst Du wirklich ein Spiel erschaffen? Also den kreativen Anteil daran? Dann würde ich mir evtl. ein fertiges Game Studio schnappen. Dort hast Du eine fertige Grafikengine und Du musst im Endeffekt "nur" noch das Spiel programmieren bzw. skripten (das kommt wohl das Studio an). Dazu kommen dann noch die ganzen Grafik Geschichten.
    Für ein 2D Spiel kann man auch Flash ganz gut verwenden, allerdings weiss ich nicht ob es dafür eine umsonst Entwicklungsumgebung gibt.

    Die andere alternative ist eine eigene Grafikengine (die Du für 3D Spiele auf jeden Fall brauchst) zu schreiben. Das ist allerdings in sich schon ein riesen Thema und ich weiss nicht ob das ohne entsprechende Vorkenntnisse bzw. langjährige Praxis einfach so umzusetzen ist. Vor allem dass diese effizient läuft.

    Spiele programmieren ist nicht einfach und benötigt viel Know How und Ehrgeiz.

    Ich hoffe etwas geholfen zu haben.

    Gruß

    fanderlf

    Comment


    • #3
      Du konntest helfen .
      Ich denke auch, dass eine eigene Grafikengine nicht in Frage kommt, zumindest nicht bei einem 1-Mann Projekt, weil ich keine Ahnung hätte, wie ich Schatten etc. mache, ich denke da wird es das beste sein, wenn ich eine freie Grafikengine nehme, wie z.B. Irrlicht.
      Werde ich mir dann mal anschauen.
      Danke.

      Comment


      • #4
        Hallo,

        wenn es möglich mit C# zu programmieren wäre das XNA-Framework von MS (ist frei erhältlich) eine gute Möglichkeit. 3D ist einfach umzusetzen und es gibt viele gute Tutorials.

        Ich verwende XNA manchmal um Simulationen zu erstellen - mit Spielen hab ich nichts zu tun Sozusagen als Alternative zu OpenGL, weil vieles einfacher ist bzw. bereits vorgefertigt ist.


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          XNA ist nicht plattformunabhängig und ich schrieb doch, dass ich mich dafür entschieden habe plattformunabhängig zu programmieren. Ist also keine Alternative.

          Comment


          • #6
            plattformunabhängig zu programmieren.
            Stimmt das hast du geschrieben. Wäre das was du geschrieben hast ein wenig besser formatiert hätte ich das sicher gesehen

            Du kannst ja schauen was es unter OpenGL so alles gibt an Engines.


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Falls du aber wirklich vor hast erst mal ein Spiel wie Bomberman zu programmieren, würde ich dir empfehlen selber ein kleines Engine dir zusammen zubauen und das am besten mit SDL.

              Das hat den entscheidenden Vorteil das du dann weißt wie alles abläuft bzw. aufgebaut seinen muss.

              Warum SDL? Weil ist recht einfach zu erlernen ist und zum anderen du dabei schon viel Arbeit abgenommen bekommst ohne dabei die "Grundlagen" dabei zu verlernen.
              Des weiteren kannst du auch mit SDL 3D programmieren, aber da brauchst du dann wieder OpenGL zusätzlich.

              Als alternative bleibt da noch Allegro, noch etwas einfacher als SDL und hat auch schon eigene 3D befehle.

              Gutes Tutorial zu SDL ist zwar auf English aber ich finds einfach klasse:
              http://www.lazyfoo.net/SDL_tutorials/

              Den es ist ganz praktisch, meiner Meinung nach, zu verstehen was so hinter einer Engine abläuft

              Später dann wenn du dich an größere Sachen wagst kannst du dann natürlich
              fertige Engines nehmen. wäre ja sonst auch ne Selbstmordaktion ohne
              Zuletzt editiert von Hannes Lüke; 14.12.2009, 19:08.
              Hannes Lüke
              Essen, Germany
              0176/35470877

              Comment

              Working...
              X