Welche Bücher Brauche ich???



  • Hallo, wenn ich in C++ so ziehmlich alles bringen will, was empfehlt ihr mir für Bücher/Tutorials. Ich habe mir vor kurzem mein erstes C++ Buch "C++ lernen und professionell anwenden" gekauft.

    Am besten wäre es, wenn man hinterher fast alle Funktionen, die C++ bietet, bringen würde. (Also so, das man hinterher auch richtig große Grafikspiele proggen könnte(z.b. sowas, wie ANNO 1602 oder in der Art)).

    Welche Bücher/Tutorials würdet ihr mir empfehlen



  • Fänd ich auch mal krass... so ne Doku, in der alle Funktionen aus C++ stehen 😃 (wenn du eine findest, meld dich)...

    Du musst C++ Stück für Stück lernen. Manchmal isses auch ganz sinnvoll, sich die header files von z.B. der WinAPI o.ä. anzuschauen (winbase.h is ganz interessant).

    Und nur mit C++ Funktionen schreibst du keine Spiele... erkundige dich mal über DirectX oder OpenGL 😉 ...

    cya WirrWar2850.



  • So kann man das Thema nicht angehen. Dazu ist die 3D-Programmierung für Spiele in C++ zu vielgestaltig. Man benötigt dazu mindestens: C, C++, WinAPI (Grundlagen), Mathematik, Physik (Mechanik), DirectX. Davon hat man aber weder eine Spielidee, noch gute Grafiken, Texturen oder Sounds. Als Einsteiger in C++ kann man das schlichtweg zunächst vergessen.



  • Schneller Einstieg in Richtung Spiele:

    Für C (vor allem Arrays, Pointer, Strukturen/Unions, Input/Output incl. Filehandling):
    http://www.its.strath.ac.uk/courses/c/tableofcontents3_1.html

    Zeiger:
    http://www.codeproject.com/cpp/pointers.asp

    Für C++ empfehle ich:
    http://www.cpp-tutor.de/cpp/intro/hinweise.htm

    Die Grundlagen von WinAPI könnt ihr hier auf die Schnelle nachlesen:
    http://www.henkessoft.de/C++/WinAPI/WinAPI Kapitel 1 bis 6/api1.htm

    Spiele:
    Buch von David Scherfgen (hier im Forum unter dem Nickname: Tomas Riker)
    http://www.amazon.de/exec/obidos/ASIN/3446228691/qid=1119130156/sr=8-1/ref=sr_8_xs_ap_i1_xgl/028-3489101-3871710



  • Um Spiele zu programmieren würde ich an deiner Stelle erstmal, nachdem du dir die Grundlagen über C und C++ angeeignet hast mit der SDL Library anfangen.

    Die eignet sich für 2d Spiele und ist super einfach zu programmieren.
    D.h. man kann damit schnell zum Erfolg kommen und ist trotzdem nicht eingeschränkt, da SDL eine gute Grundlage für größere Spiele ist.
    Später, wenn du dann große Dinge programmieren willst, dann kannst du die gelernten Kenntnisse über SDL weiterverwenden und dann noch OpenGL und OpenAL dazulernen.

    OpenGL wirst du für 3d Spiele benötigen und OpenAL für den 3d Sound.

    Alle 3 Apis funktionieren bestens miteinander und das schönste davon ist,
    das es die auch für nahezu jedes wichtige Betriebsystem (Windows, Linux, Mac OS 😵 gibt.

    Den Weg über DirectX würde ich nicht nehmen, damit bist du nur auf Windows als Plattform festgefahren und von Microsoft, Windows Longhorn und Co. abhängig.
    Es gab schon genug Leute die sich hinterher geärgert haben, daß sie ihr 3d Spiel in Direct3d anstatt in OpenGL programmiert haben.



  • Danke erstmal. Ich fange ja jetzt sowieso erst an(progge im Moment nur in der Konsole). Aber ich meinte ja nur, welche Bücher und Tutorials ihr z.b. gebraucht habt, um heute so gut C++ programmieren zu können.



  • Fänd ich auch mal krass... so ne Doku, in der alle Funktionen aus C++ stehen (wenn du eine findest, meld dich)...

    dann hol dir halt den C++ Standard 😉 (ISBN: 0470845732)



  • Fuer C habe ich benutzt "Das C Lernbuch" von Thomas Plum, das war 1986, ich weiss nicht, ob es das heute noch gibt.

    Fuer C++ habe ich Bjarne Stroustrup's "The C++ Programming Language" (gibt's auch in Deutsch) genommen. Das fand ich damals besser als den "C++ Primer". Das war 1993. Mittlerweile gibt es bestimmt auch jede Menge anderer C++ Buecher.

    Was die Spieleprogrammierung auf dem PC angeht, so kann ich mich nur oben gesagtem anschliessen, naemlich dass die SDL hervorragend zum Einsteigen geeignet ist. Damit faehrt man weitaus besser als mit DirectX. Problem ist naemlich, dass DirectX in der Version 9 praktisch nur noch mit 3D APIs daherkommt, und 2D Programmierung im Prinzip nicht mehr unterstuetzt wird (geht noch ueber die DirectX 8 Schnittstellen). Dazu kommt, wie oben erwaehnt wurde, dass SDL multiplattformfaehig ist, was ein nicht zu unterschaetzender Faktor ist. Dadurch kannst Du ein Game, was Du mal unter Windows entwickelt hast, auch unter Linux laufen lassen, und umgekehrt. 🙂

    Im Moment schreibe ich zu Hause eine Art Mini-Game-Library fuer SDL (erstmal unter Linux), bei der man dann ganz einfache "Befehle" hat, um z.B. mit Sprites usw. zu hantieren. (Ich moechte naemlich auch mal wieder 2D Games machen! 🙂 )

    Wenn Dir C++ fuer den Anfang zu komplex werden sollte, kannst Du Dich erstmal mit C beschaeftigen (das ist wesentlich einfacher). Und wenn's Dir hauptsaechlich um's Spiele proggen geht, kannst Du auch BlitzBASIC oder DarkBASIC nehmen, die im Vergleich zu C++ die Programmierung generell erheblich vereinfachen, und einem vieles abnehmen, was in der Spieleprogrammierung haeufig vorkommt. Ausserdem ist das Fehlerrisiko nicht so hoch wie bei C/C++.

    Jedenfalls, lass Dich nicht entmutigen, am Anfang wirst Du in C oder C++ wahrscheinlich viele Fehler machen, die Dein Programm zum Absturz bringen, aber es gibt zum Glueck in jedem Compilerpaket einen Debugger, der Dir hilft, nach Fehlern zu suchen (bei einfachen Programmen funktioniert das auch ... 😉 ).



  • Erhard Henkes schrieb:

    So kann man das Thema nicht angehen. Dazu ist die 3D-Programmierung für Spiele in C++ zu vielgestaltig. Man benötigt dazu mindestens: C, C++, WinAPI (Grundlagen), Mathematik, Physik (Mechanik), DirectX. Davon hat man aber weder eine Spielidee, noch gute Grafiken, Texturen oder Sounds. Als Einsteiger in C++ kann man das schlichtweg zunächst vergessen.

    WinAPI? DX? Hab ich keine Ahnung von und mach trotzem Grafikprogrammierung..
    Mathe und Physik kann man auf einige kleine(?) Bereiche einschraenken.

    Sooo schwierig ist das doch nicht, ich bin auch nicht der C++-Superguru, aber mit ein wenig Motivation kommt man weit 😉


Anmelden zum Antworten