Spieleprogrammierung...



  • Hallo,

    Habe vor mir ein Buch zum Thema Spieleprogrammierung zu kaufen.
    Es gibt aber 100e solcher Bücher und ich weiß nicht, welches ich nehmen soll -.-

    Wichtig ist mir, dass es sich mit 3D-Grafiken befasst und ziemlich auf dem neusten Stand ist.

    Ein anderes Problem ist, dass bei manchen Büchern steht "Keine Vorkenntnisse benötigt" und bei Anderen "C++ Vorkenntnisse benötigt". Kauf ich mir eines der ersten sorte, kann ich die ersten 100-200 Seiten vergessen, weil ich das schon kann. Bei der 2. Sorte weiß ich nicht, was für Kenntnisse benötigt werden; sonst steh ich nachher da und hab keine Ahnung.

    Hier die Bücher die ich mir so vorstelle, würde gerne eure Meinung hören:

    "Jetzt lerne ich DirectX 9 und Visual C++" von www.Mut.de
    "Jetzt lerne ich Spieleprogrammierung mit DirectX" auch von www.Mut.de
    [Kleine Nebenbemerkung: Habe schon 2 Bücher von Mut.de, gefallen mir sehr gut !]
    "Spieleprogrammierung mit DirectX 10 und C++" kommt Oktober http://www.weltbild.de/3/15631302-1/buch/spieleprogrammierung-mit-directx-10-und-c.html

    Diese sind meine Favoriten !

    Noch eine Frage: Wenn ich jetzt C++ und Dx9 lese, komm ich dann später auch mit Dx zurecht ??? Oder ist das komplett anders ?

    Mfg



  • Kauf Dir lieber Mathebücher. Davon hast Du mehr. 😋

    DISCLAIMER: Das ist kein Scherz. Die Bücher, die Du dort oben gelistet hast, sind dem Titel nach zu Urteilen alle grober Unfug. Wenn ein Buch über DX, D3D, VC++ oder so geht, dann ist das eine aktuelle Technologie, die in einem Jahr veraltet ist. Du kannst aber definitiv davon ausgehen, dass Du länger brauchst, um einen vernünftigen Einstieg in die Thematik zu bekommen. Und die Schwierigkeit dabei ist nicht die Technologie, sondern die Theorie.

    PS: Ich hoffe, Dein C++ Wissen beschränkt sich nicht auf ein Buch, das Du irgendwan gelesen hast, sondern ist eher durch 50.000 Zeilen (nicht weniger) Code untermauert, die Du jenseits von Copy&Paste entwickelt hast. Ansonsten solltest Du eher mit den Basics weitermachen, bevor Du derartige Ziele anstrebst.



  • "Jetzt lerne ich DirectX 9 und Visual C++" kannst du vergessen. Ich besitze das Buch seit Jahren und kann es nicht empfehlen.

    Du lernst da praktisch nicht viel zum Thema Spieleprogrammierung. Dir wird nur ein wenig DirectX 9 vorgestellt. Was den Aufbau eines Spiels angeht lernst du da nicht. Da wird zwar gezeigt, wie du dir selber ein Terrain implementieren kannst, welches aus einer Heightmap geladen werden kann - und du darauf aus der first-person perspektive rumlaufen kannst - das wars dann aber auch schon. (Naja, da werden noch paar andere Kleinigkeiten gezeigt, die aber nebensächlich sind)

    Sowas könnte man sich aber auch einfach zusammengooglen. Such dir lieber ein Buch, was dir den Aufbau eines Spieles erläutert. Das wird dich weiter bringen - deutlich weiter als irgend ein "Ich lerne jetzt XYZ"-Kram, der höchstens als Schnupperkurs durchgeht.

    WAS DX angeht, wirst du gewiss genug tutorials & referenzen im Netz finden.



  • Du wirst so oder so C++ Kenntnisse brauchen.

    Wenn dein Spiel gut werden soll, musst du OOP arbeiten, damit du dein Spiel übersichtlich halten kannst. Für jedes Objekt eine Klasse erstellen.

    Lern erstmal C++ mit all den Grundlagen, damit meine ich nicht if, else, switch, for,do,while,... sondern auch Templates,Container, Klassen,... mehr fällt mir auch nicht ein, da ich noch nicht so weit bin.

    Wenn du das alles beherrschst, dann weißt du auch wie ein Spiel funktioniert und kannst leichter in die Materie der Spieleprogrammierung einsteigen.

    Schönen Abend noch,...

    Lg Mentras



  • Versuch's mit Büchern von Autoren, die hier auch gelegentlich auftauchen und auch eigene Foren (bzw. eigene Communities) haben. 😉

    http://www.scherfgen-software.net/
    http://www.informit.de/main/main.asp?page=ebooks/bookdetails&ProductID=55138



  • C++Lerner schrieb:

    Noch eine Frage: Wenn ich jetzt C++ und Dx9 lese, komm ich dann später auch mit Dx zurecht ??? Oder ist das komplett anders ?

    Die Frage musst du mir noch mal genau erklären...



  • Mentras schrieb:

    Für jedes Objekt eine Klasse erstellen.

    Welches Objekt?

    Mentras schrieb:

    Wenn du das alles beherrschst, dann weißt du auch wie ein Spiel funktioniert und kannst leichter in die Materie der Spieleprogrammierung einsteigen.

    Wenn du keine Ahnung hast, enthalte dich bitte. Als C++-Profi weiss man noch LANGE nicht wie ein echtes Spiel funktioniert.



  • Ich meine das ich zuhause folgendes Buch habe:
    3D-Spieleprogrammierung mit DirectX 9

    Der Autor geht auch auf die Mathematischen Formeln ein und man schreibt nicht einfach stubiden code ab.

    edit://

    Ansonsten schau dir mal die, Spiele programmierung GEMS, Bücher an! Sind aber eher weniger zum einstieg ^^



  • Bei der Spieleprogrammierung ist die 3D-Grafik weit weniger wichtig als du denkst. Wie viele denkst du bei Spielen sofort an die Grafik und das wirst du auch in allen hier genannten Büchern so wieder-entdecken.

    Ich kenne nur ein Buch das wirklich das Design und den Entwurf von richtigen Spielen behandelt:
    Game Coding Complete | ISBN: 1584506806

    Ich rate dir wirklich erst einmal zu lernen wie man Spiele programmiert und dann wie man tolle Effekte macht. Wenn du dein Spiel so anfängst wie es dort empfohlen wird, dann wirst du auch feststellen, dass das gar kein Problem ist (denn der Kern, also die Spiellogik, wird von allen Spielern getrennt, d.h. das was in den ganzen anderen Büchern 95% ausmacht findest du dort in einer isolierten Komponente wieder die du nach herzenslust dann aufmotzen kannst - ohne Aufwirkungen auf den Rest des Spiels *).

    * Natürlich muss man in einem echten Spiel auch das Gameplay auf die Optik abstimmen, so ist Nebel der die Sicht verdeckt nicht nur ein rein optisches Objekt, sondern muss sich auch in der Spiellogik wiederfinden, aber lies einfach das Buch. Es erfüllt auch das Qualitätskriterium einer Community: www.mcshaffry.com/GameCode

    Edit: wenn ich davon rede, dass andere Bücher nicht wirklich zeigen wie man richtige Spiele programmiert (bzw. Spiele richtig programmiert), dann meine ich damit natürlich (angebliche) Grundlagenliteratur und keine fortgeschrittenere Literatur die sich nur auf einen Aspekt konzentriert (z.B. Game AI, oder 3D-Effekte, oder Sammlungen wie die Gems).



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung 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.



  • Hallo,

    Ich glaube ich habe mich etwas falsch ausgedrückt:

    Ich will keine professionellen Spiele programmieren, vllt später, aber erstmal will ich mit was kleinerem anfangen.

    Grundlagen wie Schleifen, Container, Klassen kann ich, habe 2 Bücher("Visual C++" und "C++"), welche ich auch schon durch habe. Einige kleine eigentlich unbrauchbare Programme habe ich auch schon gebastelt, aber eher zum lernen.

    Ich weiß auch nicht so recht wie Spiele aufgebaut sind( kann es mir etwas vorstellen, aber das war´s auch).
    Deshalb wollte ich ein Buch, welches die Grundlagen erläutert und vllt auch etwas mehr...
    Das Problem ist, dass fast alle Bücher die ich gesehen habe, von 2003-2005 oder sogar von 2002 waren 😞



  • Nun, das Alter des Buches wird erst relevant, wenn du wirkliche Bleeding-Edge-Geschichten machen möchtest. Aber soweit bist du ja noch nicht. Also ist ein Buch aus den letzten 10 Jahren für dich definitiv ausreichend.

    Bei deinen Anforderungen, vermute ich, sollte "Game Coding Complete" (siehe oben) durchaus das sein, was du suchst. Ist natürlich nicht gerade billig.

    Wenn du "mit was kleinem" anfangen willst (wozu ich dir auch dringend rate), dann schnappe dir eine gute Bibliothek, die die grundlegendsten Sachen bereitstellt und den ganzen Verwaltungskram wegkapselt und bastele ein Pong, oder ein Tetris oder ein Moorhuhn oder oder oder.
    SFML ( http://www.sfml-dev.org ) bietet sich an, es stellt innerhalb einer schönen C++-Architektur einfache Funktionen zum Zeichnen von 2D-Bildern. Mit 2D anzufangen, ist wohl der einfachere Weg. 3D ist für dich wohl noch etwas zu früh, aber das kommt schon noch.

    Im Endeffekt kannst du ein Spiel auf die folgenden Dinge runterbrechen:

    1. Starten & Initialisierung (Resourcen laden, ...)
    2. Game Loop mit
    - Verarbeitung der Usereingabe
    - Aktualisierung des Spielzustandes (wo ist der Ball, wo sind die Gegner, wer hat wieviel HP...)
    - Zeichnen des aktuell sichtbaren Bereichs
    3. Aufräumen & Beenden

    Vielleicht gibt dir das einen kleinen Eindruck.



  • So ungefähr hab ich mir ds schon gedacht mit dem Aufbau, hab halt nur von der Umsetzung keine Ahnung...

    Werde dann deinen Rat befolgen und erstmal "was älteres" ausprobieren.

    Vielen dank an alle !



  • nix


Anmelden zum Antworten