Einstieg in 2D-Spielprogrammierung
-
Unterschiede zwischen DirectX, OpenGL und SDL
P.S.: Und ja: SFML ist ein guter Anfang.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke schon mal so weit
Wo finde ich denn gute SFML tutorials und ist eine iPod-Anbindung möglich?
-
Tutorials auf der Homepage. iOS: 1st Hit bei google
-
JoexY12 schrieb:
Könntet ihr mir ein paar Gründe nennen warum ich nicht direkt OpenGL oder DirectX nehmen sollte?
Zu Low-Level, wenn du fertige Resultate sehen willst. Du brauchst viel mehr Code, um etwas zu erreichen. Ausserdem hast du bei SFML nicht nur Grafik, sondern auch die Behandlung von Benutzereingaben, Sound, Netzwerk, Threads und Unicode. Im Gegenzug hast du bei OpenGL und DirectX dafür mehr Flexibilität sowie die Möglichkeit zur 3D-Programmierung.
JoexY12 schrieb:
Wie sieht es mit der Anbindung an den IPod aus?
Momentan schlecht. Der SFML-Entwickler plant die Unterstützung von Smartphones, aber nicht in nächster Zukunft. Soviel ich weiss, sind grössere interne Änderungen (OpenGL ES?) notwendig.
-
Hallo, ich bin's nochmal und ich danke Euch für Eure Antworten. Ich habe mich für DirectX entschlossen, da es mir nicht unbedingt um schnelle Ergebnisse geht.
Ich beherrsche eigentlich alles was ansi-c++ so zu bieten hat, von mehrfachvererbung über die STL usw. ... Wenn ich jetzt aber mit directX anfangen möchte, so benötige ich auch einen Einstieg in die Windowsprogrammierung. Und hier fängt alles an: Soll ich dafür klassisches Win32 erstmal lernen oder MFC, .net? Ich bin da total verwirrt
Danke im voraus
-
Du brauchst erstmal nur ganz wenig WinAPI. Fenster erzeugen reicht und das wird praktisch in jedem Einsteigertutorial abgehandelt. Vergiss MFC. Hol dir ein Direct3D Einsteigerbuch. Wenn es dir darum geht, die Technik dahinter zuverstehen und nicht darum, ein Spiel zu machen, ist Direct3D natürlich das, was du dir anschaun willst. Wenn es dir darum geht ein 2D Spiel zu machen, nimm SFML.
-
Danke, das war es auch schon.
-
Willst du Spiele programmieren oder Grafikprogrammierung lernen? Bei ersterem kann ich dir von DirectX nur abraten, denn das ganze Low-level rumgefummel, wie rapso mal schön sagte
rapso schrieb:
macht euer spiel nicht ein micron besser
.
Was wertvolles lerst dadurch auch nicht. Paar Texturierte Quads auf den Bildschirm zeichnen kann jeder, das macht dich nicht zu nem besseren Spieleprogrammierer und ist nur verschwendete Zeit, die du viel besser ins lernen von wichtigeren Themen wie Softwarearchitektur in Spielen, AI, Netzwerkzeug, Scripting Einbindung, "zufällig erstellte Welten", etc. investieren solltest.
Wenn du ne Idee für ein Spiel hast dann gibt es auf dem Weg zu seiner Komplettierung i.d.R. eine große Menge zu lernen, und zu lernen wie man Sachen auf den Bildschirm malt ist imo eins der trivialsten Dinge die du besser gleich durch 3rd Party-Bibliotheken ersetzen solltest.
-
Was meinst Du mit 3rd-Party-Bibliotheken?
-
Ich habe schon größere Projekte programmiert, auch in Teams. Allerdings wahren dass jetzt keine "High-End" sprachen und ich wollte einfach mehr in Richtung profesionell gehen. Aber dein Kommentar mit dem Low-Level-Zeugs hat mich gerade in meinem ganzen Vorhaben erschüttert. Ich würde mich freuen, wenn du mir genauer sagen könntest, was du mit 3rd-Party-Bibl. meinst.
-
ich denke, damit meint er schon fertige 3D-Engines wie IrrLicht, Ogre, Xors3D usw. Damit muss man sich nicht mehr so sehr mit den Tiefen von DirectX oder OpenGL beschäftigen, sondern hat bereits an ganzes Framework an Funktionalität für die Entwicklung von 3D-Anwendungen. Weiterer "Vorteil" ist u.U. das diese Frameworks sowohl DirectX, OpenGL als auch Software-Renderer unterstützen und man sich als Entwickler weniger um Details kümmern muss.
Sich direkt mit den einzelen D3D-Aufrufen auseinanderzusetzen, hat mich meist eher frustriert, wobei das Thema sicherlich auch sehr interessant sein kann.
-
Die Gosu lib sollte auch ganz gut sein für den Anfang - www.libgosu.org