Frage zur Spielprogrammierung



  • oO
    Ich glaube Du solltest dir wirklich erstmal die C/C++ Basics anschauen / lernen. Vielleicht mal ein paar kleinere Programme usw. schreiben. Lernen mit fremd libs umzugehen. Dann kannst Du auch mit der Spieleprogrammierung beginnen.
    Und bei sowas

    Das Spiel kann jetzt:
    -Player Bewegen
    -Kamera richtet automatisch
    -Mann kann schießen
    -Objekte zerbrechen/fallen bei einem treffer um

    fragt man sich da nicht wie das alles funktioniert? Ich meine - zusammenklicken kann jeder 😉



  • Und vieleicht noch etwas zu den Engines:

    Eine Engine ersetzt nicht die Programmiersprache. Eine Engine kann eine Bibliothek sein, die z.B. verschiedene Funktionen für Resourcenverwaltung oder Klassen für Arithmetische Operationen bereitstellt. Die Engine kann auch die Geräteschnittstelle verwalten und z.B. DirectX initialisieren. Sie kann alles mögliche machen - Eine Engine kann auch Klassen für Physik, KI und Sound&Video enthalten. Kurz: Sie nimmt dir eine Menge Arbeit ab. Eine solche Bibliothek kannst du dann in deinem Programm verwenden und damit arbeiten.

    Programmieren musst du dein Spiel aber selbst 🙂



  • Und auch wenn das viele "Gameprogger" anders sehen, ist nicht gleich alles, was ein bisschen Funktionalität vereint, eine Engine...



  • Nexus schrieb:

    Und auch wenn das viele "Gameprogger" anders sehen, ist nicht gleich alles, was ein bisschen Funktionalität vereint, eine Engine...

    Da gebe ich dir recht. Das ist auch der Grund warum ich mein Framework eben nur Framework nenne und nicht Engine. Eine Engine kommt immer komplett daher mit Editoren etc.
    Sowas wie UDK oder Unity ist eine GameEngine.
    Ogre oder Irrlicht wäre eher eine Grafikengine oder eben ein Framework, Library.



  • Seit Wann gehören Editoren zwingend zu einer Engine? Reicht das nicht, wenn die Engine die Geräteschnittstelle verwaltet und sich um die Resourcenverwaltung kümmert und daneben noch Klassen für wasweissichnichtalles zur Verfügung stellt?
    Ist der Begriff Engine nicht auch ein wenig schwammig definiert?



  • @JochenS Danke für die Erklärung ^^
    Ja ich bin wirklich noch ein Anfänger (OMG wer hätte das gewusst :P)
    aber ich wollte mich nur einmal Informieren, da ich mich
    sehr für Spiele Programmierung Interessiere 🙂

    Ich hab auf Youtube auch einen Kanal (PyroTec21)
    bei den ich meine "Spiele" in Konsolen Form
    vorstelle ^^
    Schauts euch vllt. an würde gerne eure Meinung wissen 😋



  • öhm - naja, meinst du das Stein Schere Papier Spielchen?

    Immerhin hast du die ganzen Variablen nicht global definiert :D, dafür aber alle zu Beginn von main.

    Kompiliert bei mir so schonmal garnicht, da includes fehlen (z.b. ctime).

    Dann nutzt du immer (if, ... else if ... else if ... else) - da würden sich switch-case Anweisungen besser eigenen meiner Meinung nach.

    Anstelle von goto + label (ürgs) nutze Funktionen. Sind dir ja ohnehin schon bekannt (z.B. _MainMenu).

    Wenn du mit rand()%3 eine Zufallszahl berechnen lässt, macht es wenig Sinn zu prüfen, ob das Ergebnis 3 ist oder einen anderen Wert als [0,2] hat 😃

    Grüsse

    P.S. ich seh gerade dass es da noch 2 andere Spielchen gab - allerdingds ist die Videoqualität so schlecht, dass man kaum etwas erkennen kann. Aber sieht alles in allem ähnlich aus was den Programmierstil und damit die Fehler betrifft.



  • Danke für die Bewertung ^^ Ja das Schere Stein Papier war eigt. das einzige Fun Video wie in der Beschreibung steht 🙂 Ich habe links einen Editor offen gehabt von dem ich das Programm, was ich vorher geschrieben habe, abgeschrieben hab ^^ So in der Reihenfolge würde das nie gehen ^^

    (Und wie gesagt .. Anfänger ^^)

    MFG: N290



  • Scorcher24 schrieb:

    Nexus schrieb:

    Und auch wenn das viele "Gameprogger" anders sehen, ist nicht gleich alles, was ein bisschen Funktionalität vereint, eine Engine...

    Da gebe ich dir recht. Das ist auch der Grund warum ich mein Framework eben nur Framework nenne und nicht Engine. Eine Engine kommt immer komplett daher mit Editoren etc.
    Sowas wie UDK oder Unity ist eine GameEngine.
    Ogre oder Irrlicht wäre eher eine Grafikengine oder eben ein Framework, Library.

    Ich dachte das wäre genau andersrum. Engine ist die pur programmiertechnische Bibliothek, das Framework ist alles außenrum, das man benutzt um das entwickeln mit dieser Engine einfacher zu machen. Wäre imo auch von der Wortlogik her passender. Engine der Motor in der ganzen Maschine, der alles antreibt, Framework der Rahmen außenrum.



  • TravisG schrieb:

    Scorcher24 schrieb:

    Nexus schrieb:

    Und auch wenn das viele "Gameprogger" anders sehen, ist nicht gleich alles, was ein bisschen Funktionalität vereint, eine Engine...

    Da gebe ich dir recht. Das ist auch der Grund warum ich mein Framework eben nur Framework nenne und nicht Engine. Eine Engine kommt immer komplett daher mit Editoren etc.
    Sowas wie UDK oder Unity ist eine GameEngine.
    Ogre oder Irrlicht wäre eher eine Grafikengine oder eben ein Framework, Library.

    Ich dachte das wäre genau andersrum. Engine ist die pur programmiertechnische Bibliothek, das Framework ist alles außenrum, das man benutzt um das entwickeln mit dieser Engine einfacher zu machen. Wäre imo auch von der Wortlogik her passender. Engine der Motor in der ganzen Maschine, der alles antreibt, Framework der Rahmen außenrum.

    Es mag zwar von der Namensgebung her logischer sein, aber ich denke der Begriff ist historisch gewachsen. Modding etc. pp. hat man halt immer mit der entsprechenden "Engine" gemacht. Es redet ja auch keiner vom ID Tech 3 Framework oder so.

    Für mich ist eine "Game Engine" immer die Summe aller Teile (Editoren, Asset Pipeline, Importer, Exporter, Scripting Interfaces...). Und brauchbare, kommerziell einsetzbare und günstige Game Engines gibt's da IMO nur wenige.

    XNA ist dagegen ein klassisches Framework, weil es nur eine Sammlung von Bibliotheken ist. Ogre ist eine Graphics Engine, aber keine Game Engine.



  • Ich habe den Begriff bisher ähnlich wie TravisG verstanden, als spezifische Funktionalitätssammlung wie z.B. Physik- oder AI-Engine...


Anmelden zum Antworten