API, MFC und so weiter



  • Wenn du unter Spieleprogrammierung auch die entsprechenden Tools meinst, dann ja.



  • ich mein damit, ob ich z.B. mit den MFC ein PC Spiel schreiben kann. Wenn du mit "entsprechende Tools" sowas wie nen Level Editor oder ähnliches meinst, das ist für mich kein Spiel.
    Kann ich damit z.B. eine MessageBox ein vollig neues design geben?



  • Einer MessageBox ein neues Design geben, ist auch kein Spiel ;). Geht aber mit vielen GUI-Libs, wie auch wxWidgets oder MFC.
    Aber generell:
    Um Spiele zu programmieren, musst du DirectX oder OpenGL verwenden. Und ja, das geht theoretisch auch mit MFC. Wird aber nicht empfohlen, da solche GUI-APIs auf Anwendungen ausgelegt sind, nicht auf Spiele. Es gibt einfach oft zuviel Overhead. Wer Spiele programmiert, nutzt meistens ein natives Win32 Fenster.
    wxWidgtes nutze ich in meiner GameDLL (aka Engine) selbst, allerdings nur die Basis-Funktionen wie Strings, XML etc.
    UI-Interfaces in einem Spiel werden btw. _nicht_ über Windows aufgerufen, sondern man entwickelt meistens etwas eigenes oder nutzt bestehende OSS-Produkte.
    rya.



  • Mit MFC und Co kannst du so Spiele wie Minesweeper, Solitär usw. schreiben.

    Für Spiele mit mehr Grafik sind DirectX/OpenGL und Frameworks dazu oder gleich fertige Engines besser.



  • ich hoffe das ich das jetzt richtig verstanden habe:
    MFC/wxWidgets sind Frameworks
    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL
    mit den MFC/wxWidgets + DirectX / OpenGL kann ich ein 3D Spiel entwickeln

    muss ich MFC eigentlich installieren, oder wird das schon vom Compiler übernommen.
    wxWidgets muss ich installieren, das weiß ich.



  • MFC ist dabei, sofern du den MSVC hast. Aber für ein 3D-Spiel rate ich davon dringenst ab. Es kann dich am Ende einfach zuviel Performance kosten.
    rya.



  • wenn nicht MFC, was denn dann? API vielleicht?



  • Ein natives Win32-Fenster. Falls du von mir etwas Code dazu haben möchtest, dann kannst mich anmailen oder icq'en. Hab da ein Framework geschrieben, das dir dabei helfen kann. Läuft allerdings atmo mit OpenGL, allerdings wäre es nicht zu schwer, da DirectX einzubauen, da alles sauber in Klassen getrennt ist.
    mail: scorcher24 #at# gmail dot com
    icq: 789##517##07

    Die ## wegdenken.
    rya.



  • lad dir das directx sdk runter, da sind beispiele dabei



  • seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    seux schrieb:

    muss ich MFC eigentlich installieren, oder wird das schon vom Compiler übernommen.
    wxWidgets muss ich installieren, das weiß ich.

    MFC gibt es nur für den MSVC und BCB. Die MFC gilt eigentlich als veraltet und ist afaik nicht gerade flexibel, wenn es um das Anpassen der Kontrollelemente geht.

    btw.
    http://en.wikipedia.org/wiki/Software_framework
    http://de.wikipedia.org/wiki/Programmierschnittstelle



  • rüdiger schrieb:

    seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    Kannst du mir das mal bitte näher erklären? Mit was möchtest du denn sonst 3D-Graphiken auf den Bildschirm bringen? Und er redet von einem 3D-Spiel.
    rya.



  • Scorcher24 schrieb:

    rüdiger schrieb:

    seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    Kannst du mir das mal bitte näher erklären? Mit was möchtest du denn sonst 3D-Graphiken auf den Bildschirm bringen? Und er redet von einem 3D-Spiel.
    rya.

    Du könntest sie in Software rendern, eine andere Schnittstelle benutzen, ein fertiges Framework nehmen (ala Ogre3d oder wie sie alle heißen) etc.



  • Das is korrekt, aber glaubst du nicht, dass du mit so einem simplen "nein" den TE noch mehr verwirrst? Ere ist ja offensichtlich Anfänger und dann auf eigentlich gute Antworten das Gegenteil zu behaupten, trägt nicht gerade zur Lösung des Problems bei.
    Und wo wir bei Anfänger sind.... einem Anfänger Ogre in die Hand drücken zu wollen, ist das selbe wie mit Boost...
    rya.



  • Scorcher24 schrieb:

    Das is korrekt, aber glaubst du nicht, dass du mit so einem simplen "nein" den TE noch mehr verwirrst? Ere ist ja offensichtlich Anfänger und dann auf eigentlich gute Antworten das Gegenteil zu behaupten, trägt nicht gerade zur Lösung des Problems bei.

    👍 Wollt ich auch grad schreiben



  • Scorcher24 schrieb:

    Und wo wir bei Anfänger sind.... einem Anfänger Ogre in die Hand drücken zu wollen, ist das selbe wie mit Boost...

    Eine gute Entscheidung?



  • Nein. IMHO nicht. Boost ist nicht gerade einfach zu verwenden, gerade für Anfänger und produziert auch gerne viele Warnungen. Schon das aufsetzen kann einem Anfänger kopfzerbrechen bereiten.
    Ogre ist da genauso. Wenn schon würde ich irrlich empfehlen, da es viel einfacher zum ersten Erfolg führt, als Ogre. Ich erinnnere mich da nur mit schaudern an die vielen Dateien und configs die Ogre braucht, nur um ein leeres 3D-Fenster anzuzeigen.

    Denn gerade dieser erste Erfolg ist für einen Anfänger wichtig. Es frustriert zu stark, wenn man Stunden vor einer API sitzt und nix damit anfangen kann bzw sich erstmal durch tausende Webseiten quälen muss, bis das richtig läuft. Ich kenne das selber. Einem Anfänger muss man Sachen geben, die schnell und vor allem verständlich zum Erfolg führen. Auch wenn Boost seine Berechtigung hat und wirklich ein gutes OpenSource-Produkt ist, so ist es doch für Anfänger total ungeeignet.
    rya.



  • rüdiger schrieb:

    Die MFC gilt eigentlich als veraltet und ist afaik nicht gerade flexibel, wenn es um das Anpassen der Kontrollelemente geht.

    das war mal. mickrigweich hat sich entschieden die mfc weiterzuentwickeln.

    rüdiger schrieb:

    Scorcher24 schrieb:

    Und wo wir bei Anfänger sind.... einem Anfänger Ogre in die Hand drücken zu wollen, ist das selbe wie mit Boost...

    Eine gute Entscheidung?

    eher nicht, anfänger haben andere probleme.
    🙂



  • Scorcher24 schrieb:

    Nein. IMHO nicht. Boost ist nicht gerade einfach zu verwenden, gerade für Anfänger und produziert auch gerne viele Warnungen. Schon das aufsetzen kann einem Anfänger kopfzerbrechen bereiten.

    Quatsch. Boost ist imho ziemlich leicht zu verwenden. Sicher ist so etwas wie Boost.PP oder MPL nicht gerade das leichteste, aber ein Anfänger interessiert sich ja eher für Boost.Asio, Boost.FS oder ähnliches.

    Der Vorteil das man sich nicht um die Details - die man ohnehin noch nicht versteht - kümmern muss oder Code von anderen Anfängern von dubiosen Webseiten und aus Foren kopiert, überwiegt mögliche Probleme. Ich kenne weder Ogre noch Irrlicht. Aber ich halte es für einen besseren Weg etwas fertiges zu nehmen, als sich erst einmal müselig durch OpenGL oder Direct3D zu quälen und die Fehler noch mal machen zu müssen, mit Problemen konfrontiert zu werden, die man noch gar nicht verstehen kann etc. Am Anfang ist es ohnehin erst einmal wichtig, einen Erfolg zu haben und nicht von den Details aufgefressen zu werden. Wenn man dann genug Erfahrung gesammelt hat, kann man immer noch auf die unteren Ebenen steigen. Aber dann ist man in der Lage, die Schwierigkeiten und Probleme besser verstehen zu können.



  • rüdiger schrieb:

    Scorcher24 schrieb:

    Nein. IMHO nicht. Boost ist nicht gerade einfach zu verwenden, gerade für Anfänger und produziert auch gerne viele Warnungen. Schon das aufsetzen kann einem Anfänger kopfzerbrechen bereiten.

    Quatsch. Boost ist imho ziemlich leicht zu verwenden. Sicher ist so etwas wie Boost.PP oder MPL nicht gerade das leichteste, aber ein Anfänger interessiert sich ja eher für Boost.Asio, Boost.FS oder ähnliches.

    --> http://www.c-plusplus.net/forum/viewtopic-var-p-is-420313.html
    irgendwo dort steht:

    rüdiger schrieb:

    (für C++ Anfänger ist boost aber IMHO nicht so gut geeignet, da boost sehr viele komplexe Konzepte benutzt)
    ...
    Du willst kein C++ Programmieren und versucht einfach C++ als Java zu benutzen. So wird das nichts...

    tja, rüdi. hast wohl deine meinung geändert.
    🙂



  • huch??? schrieb:

    tja, rüdi. hast wohl deine meinung geändert.
    🙂

    Das kann in 4 Jahren durchaus passieren 🙄. Ich bin ja kein Dogmatiker (zumindest nur teilweise ;)).


Anmelden zum Antworten