Möglich ein Spiel zu programmieren?



  • Hallo,
    mein Name ist Christian und ich möchte ein "kleines" 2D Game programmieren.
    Warum ich "kleines" schreibe, weil ich mir im Klaren bin, dass ein großes Game mehr als ein Ein-Mann Unterfangen sein wird.

    Ein Beispiel was das Spiel sein könnte:

    • Bedienung eines Charakters
    • Läuft durch ein Welt, die (soll erstmal nur ein MiniTestGame sein) so groß ist, wie der Bildschirm an sich. (Kein Scrolleffekt)
    • Charakter muss Schatztruhen finden. Ziel des Spiels ist es 5 Truhen zu finden.
    • Bei Druck auf TAB z.B. erscheint eine interaktive Schatzkarte, die die Welt (wie gesagt Bildschirmgröße) abbildet, und die Stellen aufzeigt, wo die Truhen sind, die man in der realen Welt aber erstmal nicht sieht, weil diese unter der Erde sind.
    • Betritt der Charakter nun die Stelle, kann er seine Schaufel benutzen und graben, worauf die Truhe in der Tiefe erscheint (oder aber die Truhe springt dann aus dem Boden, ist ja erstmal egal).
    • Öffnet Truhe, holt etwas raus und sucht die anderen Truhen.
    • Es gibt eine sich wiederholende Musik (3 Ton oder wie auch immer)
    • Die Welt in der sich der Charakter befindet ist grafisch gestaltet, es gibt Hindernisse (Kollisionserkennung denk ich mal wäre da wichtig) aber erstmal keine Gegner. Wie gesagt, soll möglichst simple sein, ist ja ein Test.

    Der Rest wäre jetzt erstmal egal.

    Meine Frage: Egal ob C++ jetzt die dafür Beste oder schlechteste Programmiersprache wäre, wäre es damit möglich, das alles umzusetzen, sodass das Game wie ein z.B. "Harvest Moon" oder "Graveyard Keeper (aktuell noch in der Alphaphase) aussieht und auch so spielbar wäre?

    Wenn "Ja" danke.
    Wenn "Nein", bitte Gründe nennen woran es scheitern wird.

    Lieben Dank!
    Christian aus Frankfurt



  • Hi,
    ich interessiere mich jetzt überhaupt gar nicht für Spieleentwicklung. Aber hier gab es mal ein super C++ Forenmitglied, der auch kleinerere Spiele entwickelt und anderen geholfen hat. Also ja, das ist mit C++ auf jeden Fall möglich. google mal nach sfml, und schau dir mal Beiträge von Nexus hier im Forum an.


  • Administrator

    Natürlich wäre das möglich. Musst einfach die entsprechenden Bibliotheken nutzen. Wenn du 2D bleibst, kannst du zum Beispiel dies mittels der SFML Bibliothek machen. Es ist einfach einiges an Aufwand, aber wenn du Spass dran hast und dir das bewusst ist, probier es aus! Geh einfach die Sache langsam an und sorge am besten dafür, dass die C++ Grundlagen zuvor gut sitzen.



  • Super, DANKE!

    Genau das war mir wichtig zu wissen und zu lesen.
    Studiere Informatik - Mobile Anwendungen in Frankfurt aber da geht es rein um theoretische Dinge und wenn mal praktisch
    programmiert wird, dann bleibt das immer in einer Art Dos-Umgebung, wo immer nur Texte ausgegeben werden oder Abfragen mit cin abgenommen werden und darauf dann Resultate folgen. Das mit Grafiken einbinden usw. davon wird nie gesprochen und da hab ich mich das mit "SpieleProgrammierung" im Bezug zu C/C++ eben gefragt.

    Vielen Dank!!!
    Lieben Gruß
    Chris



  • @out sagte in Möglich ein Spiel zu programmieren?:

    Aber hier gab es mal ein super C++ Forenmitglied, der auch kleinerere Spiele entwickelt und anderen geholfen hat.

    Das war sicher der @Spieleprogrammierer!!



  • @swordfish Ich bezieh mich natürlich auf Nexus, hab ihn nich umsonst genannt.


  • Global Moderator |  Mod

    Das ist ein realistisches Projekt und C++ ist eine durchaus geeignete Sprache dafür. Es ist jedoch sicherlich nicht die bestgeeignete Sprache dafür, wenn es dir um das Endergebnis und weniger um den Weg dorthin geht, aus folgenden Gründen:

    1. Das was du beschreibst, ist ein ziemlich einfaches Spiel. Praktisch alle dafür nötigen Teile wurden schon 1000 Mal von anderen Leuten gemacht. So ziemlich jedes Spieleframework kann dir alle nötigen Grundkomponenten zur Verfügung stellen und du als Programmierer hättest dann hauptsächlich die Aufgabe, die Spiellogik darauf aufzusetzen. Viele High-Level Spieleframeworks sind zwar selber in C++ geschrieben, aber die Spiellogik selbst implementiert man dann in vereinfachten Skriptsprachen, wie Lua, Javascript, und ähnlichem.
    2. Der arbeitsaufwändigste Teil bei deiner Beschreibung ist sicherlich das Grafik- und Sounddesign. Selbst bei bescheidenen Ansprüchen ist das ungeheuer viel Arbeit, wenn man das selber macht. Erschwerend haben Programmierer typischerweise auch eher kein Talent dafür. Und man wird aufwändige Software brauchen/kaufen müssen, um sich die Arbeit leichter zu machen. Daher wirst du höchstwahrscheinlich sowieso irgendwelche fertigen Assets verwenden wollen, statt das selber zu machen. Eben solche, wie sie typischerweise mit vielen fertigen Spieleframeworks als Einstiegshilfe kommen. Womit wir wieder bei Punkt 1 sind, denn wenn du schon die fertigen Assets nimmst, kannst du ja auch gleich die ganze Engine nehmen.

    Wenn es dir eher um das Know-How geht, das hinter solchen Spieleengine steckt, dann ist C++ ein ziemlich guter Plan. Wie gesagt, sind viele davon nicht ohne Grund selber in C++ geschrieben. Du solltest aber auf jeden Fall mindestens irgendein Hilfsframework wie SDL oder SFML benutzen, damit du die ganzen low-level Sachen, wie man überhaupt irgendetwas auf den Bildschirm oder den Lautsprecher bekommt, nicht neu erfinden musst. Damit ist das dann auch nicht so viel aufwändiger als mit einer komplett fertigen Engine, da dein Vorhaben keine sonderlich komplexen Algorithmen benötigt (die in der fertigen Engine schon drin wären). Danach ist es eher eine Frage des Arbeitsfleißes bei der grafischen Gestaltung.