2D lernen SDL/ DirectX???



  • DrunkenMastered schrieb:

    Okay dann stehe ich also vor der Wahl zwischen SFML und Direct2D.

    Naja, ich denke meistens so:
    SFML: Hier, alles fertig!
    Direct2D: Mach's doch selber du fauler Arsch.



  • Diese beiden Libraries kann man kaum miteinander vergleichen ich würd da an deiner Stelle nichtmal einen Moment drüber nachdenken Direct2D zu verwenden. Wenn es dir nur darum geht möglichst einfach mal ein 2D Spiel zu schreiben nimm SFML, einfacher wirds nicht.

    Falls du eigentlich nicht Direct2D sondern DirectDraw gemeint hast (wird gern verwechselt): Vergiss auch das gleich wieder. DirectDraw war schon zur Jahrtausendwende veraltet, das heute zu verwenden wär einfach nur falsch...



  • D.h. SFML wäre die einzige Option?



  • Nein, es gibt wahnsinnig viele Optionen: Du könntest unter anderem auch Direct3D, OpenGL, SDL, HGE, Allegro oder was auch immer verwenden, du könntest dir auch direkt erstmal deine eigenen Grafiktreiber schreiben wenn du willst. Aber SFML ist die Option die ich dir empfehlen würde. Es ist sehr einfach, relativ modern (kein hässliches C-Style Interface) und für deine Zwecke erstmal sicherlich ausreichend.



  • Nun gut, dann werde ich mich mal SFML widmen.

    Gibt es irgend welche Dinge dich ich beachten sollte?
    Irgendwelche Tricks?
    Tutorials die ihr mir besonders empfehlen könnt?

    Vielen Dank



  • DrunkenMastered schrieb:

    Tutorials die ihr mir besonders empfehlen könnt?

    Direkt auf der SFML Seite findest du schon gute Tutorials 😉



  • EOutOfResources schrieb:

    EDIT: Und wenn es dir um die 2D-Spieleentwicklung geht, dann ist es sowieso Direct2D statt DirectX.

    Ach?



  • Da muss ich hustbaer zustimmen. Soweit ich weiss, gibt es kein Direct2D sondern nur DirectDraw und das schon seit spätestens DirectX 9 nicht mehr. Man kann aber auch mit Direct3D wunderbar 2D zeichnen. Und der Umstieg auf 3D ist dann auch leicht.



  • DrunkenMastered schrieb:

    Hallo,
    ich habe vor mich der 2D-Spieleprogrammierung zu widmen. (Keine Angst ich habe schon Programmiererfahrung).
    Nun stehe ich vor folgendem Problem:
    Lerne/benutze ich DirecX oder dann doch lieber SDL?
    Ich weiß nicht wie kompatibel C++ mit SDL ist und Tutorials finde ich dazu auch keine.

    Was ich bin jetzt weiß?:

    SDL ist einfacher und für den start wahrscheinlich einfacher....oder?

    Ich hoffe ihr könnt mir weiter helfen.
    Vielen Dank 🙂

    Ich würde OpenGL lernen und/oder SFML nutzen. Und das sage ich jetzt nicht nur als OpenGL Fanboy aus Prinzip. Momentan sind ja iPhone/Android Apps etc groß im kommen. Da wäre man dann für gerüstet. Oder WebGL. DirectX findet ja eigentlich nur noch auf dem PC Anwendung und M$ promoted für Indie/Hobbyentwickler ja momentan eher XNA, was auch eine alternative wäre.
    Am Ende liegt die Entscheidung bei dir.



  • Jochen S. schrieb:

    Da muss ich hustbaer zustimmen. Soweit ich weiss, gibt es kein Direct2D sondern nur DirectDraw und das schon seit spätestens DirectX 9 nicht mehr. Man kann aber auch mit Direct3D wunderbar 2D zeichnen. Und der Umstieg auf 3D ist dann auch leicht.

    Nein es gibt Direct2D auch.

    Scorcher24 schrieb:

    DirectX findet ja eigentlich nur noch auf dem PC Anwendung und M$ promoted für Indie/Hobbyentwickler ja momentan eher XNA, was auch eine alternative wäre.

    PC, XBOX und Windows Phone. XNA setzt einfach nur auf DirectX auf.



  • Jo, aber wenn man "nur eben mal" nen Spiel machen will in 2D ist XNA weit besser geignet und intuitiver in meinen Augen. Wenns schon eine M$ Technologie sein muss :).



  • Scorcher24 schrieb:

    Jo, aber wenn man "nur eben mal" nen Spiel machen will in 2D ist XNA weit besser geignet und intuitiver in meinen Augen. Wenns schon eine M$ Technologie sein muss :).

    Kann es sein, dass du mit Java arbeitest? 😉



  • Jochen S. schrieb:

    Scorcher24 schrieb:

    Jo, aber wenn man "nur eben mal" nen Spiel machen will in 2D ist XNA weit besser geignet und intuitiver in meinen Augen. Wenns schon eine M$ Technologie sein muss :).

    Kann es sein, dass du mit Java arbeitest? 😉

    oO nein.
    Aber wenn ich die Wahl hätte zwischen DirectX und XNA würde ich XNA nehmen.



  • Ich kann auch SFML empfehlen. Damit kommst du wirklich schnell ans Ziel und musst dich weder mit C noch mit irgendwelchen Low-Level-Dingen rumschlagen.



  • Scorcher24 schrieb:

    Jochen S. schrieb:

    Scorcher24 schrieb:

    Jo, aber wenn man "nur eben mal" nen Spiel machen will in 2D ist XNA weit besser geignet und intuitiver in meinen Augen. Wenns schon eine M$ Technologie sein muss :).

    Kann es sein, dass du mit Java arbeitest? 😉

    oO nein.
    Aber wenn ich die Wahl hätte zwischen DirectX und XNA würde ich XNA nehmen.

    Ich dachte nur so. Die M$-Schreibweise soll es ja eher bei den Java-Anhängern geben 😉



  • Jochen S. schrieb:

    Scorcher24 schrieb:

    Jochen S. schrieb:

    Scorcher24 schrieb:

    Jo, aber wenn man "nur eben mal" nen Spiel machen will in 2D ist XNA weit besser geignet und intuitiver in meinen Augen. Wenns schon eine M$ Technologie sein muss :).

    Kann es sein, dass du mit Java arbeitest? 😉

    oO nein.
    Aber wenn ich die Wahl hätte zwischen DirectX und XNA würde ich XNA nehmen.

    Ich dachte nur so. Die M$-Schreibweise soll es ja eher bei den Java-Anhängern geben 😉

    Es ist einfach kürzer und jeder weiss was man meint :p.
    Mit XNA oder SFML ist man einfach sofort und ohne Aufwand produktiv und muss sich nicht mit diversen Sachen rumschlagen.



  • Jochen S. schrieb:

    Soweit ich weiss, gibt es kein Direct2D sondern nur DirectDraw

    http://en.wikipedia.org/wiki/Direct2D



  • EOutOfResources schrieb:

    Jochen S. schrieb:

    Soweit ich weiss, gibt es kein Direct2D sondern nur DirectDraw

    http://en.wikipedia.org/wiki/Direct2D

    Scheint ja etwas neuer zu sein. Da war ich wohl nicht auf dem neuesten Stand.



  • EOutOfResources schrieb:

    Jochen S. schrieb:

    Soweit ich weiss, gibt es kein Direct2D sondern nur DirectDraw

    http://en.wikipedia.org/wiki/Direct2D

    Dann guck dir auch gleich mal an was Direct2D überhaupt macht.
    D2D ist kein Ersatz für DD, und IMO auch nicht geeignet um 2D Spiele damit zu machen.



  • Okay. Danke erstmal für die hilfreichen Beiträge. Ich habe mich jetzt ein wenig in SFML eingelesen. Nun wollte ich auch mal anfangen was zu programmieren, also habe ich mich dem Tutorial auf http://www.sfml-dev.org gewidmet.

    Nun stehe ich vor einem Problem(von dem ihr euch sicherlich denkt: nicht schon wieder^^):

    Ich habe Anweisungen des Tutorials befolgt und wollte dann das erste Programmierbeispiel kompilieren. Dies klappte jedoch nicht da die "sfml-system.lib" fehlte. Darum habe ich sie direkt in den Debug Ordner kopiert.

    Dies funktionierte auch.
    Bei dem nächsten Beispiel dann aber wieder nicht.

    Es kann doch nicht sein dass ich die fehlenden Dateien immer erst einzeln von mir kopiert werden müssen, oder? 😕

    Wie binde ich alles richtig ein und wie linke ich es richtig. Es ist zwar einfach erklärt auf der Seite aber bei mir funktioniert es leider nicht 😕

    Danke für jede Hilfe 🙂

    Ps. Ich benutze Visual C++ 2010 Express


Anmelden zum Antworten