Sie sind hier
E-Book

C++ für Spieleprogrammierer

AutorHeiko Kalista
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2016
Seitenanzahl515 Seiten
ISBN9783446448056
FormatePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis27,99 EUR
C++ für Spieleprogrammierer//
- Für Einsteiger in die Spieleprogrammierung, die C++ von Grund auf erlernen oder ihre C++-Kenntnisse vertiefen wollen
- Mit vielen Beispielen ausschließlich aus der Spieleentwicklung
- Garantierter Lernerfolg durch: Aufgabenstellung - Tipps für die Lösung - Musterlösung
- Im Internet: Leserforum und alle Codebeispiele aus dem Buch
Wenn du einen fundierten Einstieg in die Spieleentwicklung mit C++ suchst, rasch lernen und dabei auch Spaß haben willst, liegst du mit diesem allseits bekannten Standardwerk genau richtig.
In locker humorvoller Sprache begleitet dich Heiko Kalista in die Grundlagen und fortgeschrittenen Techniken von C++. Anhand vieler Beispiele ausschließlich aus der Spieleprogrammierung zeigt er dir sehr anschaulich, wie du effektiv programmierst. Mit zusätzlichen Aufgaben, Fehlerquelltexten und einem ersten 2D-Weltraumspiel wirst du schließlich über das essenzielle Grundlagenwissen verfügen, das nötig ist, um erfolgreich Spiele zu entwickeln.
Die hier vorliegende 5. Auflage hat Heiko Kalista auf Visual C++ 2015 und Xcode 6.4 aktualisiert und um Themen wie z.B. Unions, Namespaces, bitweise Operatoren erweitert.
AUS DEM INHALT //
Einführung in C++, Visual Studio 2015, Xcode 6.4 // C++ für Einsteiger: die Grundlagen // C++ für Fortgeschrittene: Templates, Singletons, Debugging ... // Standardlösungen mit STL // Grundlagen der Windows-Programmierung // 2D-Spiel mit der SDL entwickeln // Spieleszene: Foren, Chats, Tutorials, Events

Heiko Kalista hat mit 14 Jahren sein erstes eigenes Spiel programmiert und später dann beruflich die unterschiedlichsten Computerspiele für Konsolen wie Nintendo DS, PlayStation und Nintendo Wii entwickelt. Derzeit arbeitet er als Anwendungsentwickler.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
1Grundlagen
1.1Einleitung
1.1.1An wen richtet sich dieses Buch?

Dieses Buch ist für alle gedacht, die sich für die Thematik der Spieleprogrammierung interessieren und noch keinerlei Vorkenntnisse haben. Der Schwierigkeitsgrad beginnt bei null und steigert sich langsam, aber stetig im Verlauf der einzelnen Kapitel. Weiterführende Bereiche wie etwa die Grafikprogrammierung werden in diesem Buch zwar auch behandelt, aber für dieses Thema ist „nur“ ein Kapitel vorgesehen, das Dich ein wenig tiefer in die Materie einführen soll. Das Buch bezieht sich ausschließlich auf die Programmiersprache C++ und fokussiert dabei die Spieleprogrammierung.

Im Grunde spricht jedoch nichts dagegen, dieses Buch als Nachschlagewerk zu verwenden. Generell ist es für jeden nützlich, der die Programmiersprache C++ erlernen oder vertiefen will.

1.1.2Welche Vorkenntnisse werden benötigt?

Um mit diesem Buch arbeiten zu können, werden keinerlei Programmierkenntnisse benötigt. Das Einzige, was man beherrschen sollte, ist der Umgang mit Windows oder Mac OS X. Wer weiß, wie man einen Computer einschaltet, Programme startet und mit Dateien arbeitet, ist fast schon überqualifiziert. Es wird erklärt, welche Programme man benötigt und wie man mit ihnen Quelltexte (Programmcode) erstellt, diese kompiliert (in eine für den Computer verständliche Sprache verwandelt) und schließlich lauffähige Programme erzeugt.

Solltest Du bereits über Programmierkenntnisse einer beliebigen anderen Sprache verfügen, so wird dies sicherlich nützlich sein, ist aber ‒ wie schon erwähnt ‒ nicht notwendig.

1.1.3Wie arbeitet man am effektivsten mit diesem Buch?

Das Buch ist so gestaltet, dass die einzelnen Kapitel aufeinander aufbauen. Jedes Kapitel erfordert es, dass man die Themen aus den vorangegangenen Kapiteln durchgearbeitet und auch verstanden hat.

In den meisten Kapiteln wird es ein paar Aufgabenstellungen geben, die helfen sollen, das bisher Gelernte zu festigen. Dabei werden zu jeder einzelnen Aufgabe verschiedene Tipps gegeben, wie man sich am besten an die Lösung heranmacht. Es soll keinesfalls der Eindruck entstehen, dass es sich wie in der Schule um Hausaufgaben handelt. Vielmehr soll Dir hier die Möglichkeit gegeben werden, selbst zu kontrollieren, ob Du die bisher erklärten Themen wirklich verstanden hast. Praxis ist und bleibt eben ein wichtiger Aspekt, wenn nicht gar der wichtigste.

Am besten schaust Du Dir die jeweilige Aufgabe an und liest die dazugehörigen Tipps durch. Danach überlegst Du, wie man am besten diese Aufgabe lösen könnte. Gib nicht gleich auf, sondern versuche wirklich, zum Ziel zu kommen. Der Schwierigkeitsgrad ist so gewählt, dass man ohne Weiteres zur Lösung kommt, wenn man die vorhergehenden Kapitel gelesen und verstanden hat.

Direkt im Anschluss erfolgt eine Musterlösung, die Du Dir auch dann anschauen solltest, wenn Du die Aufgabe erfolgreich gelöst hast. Auf keinen Fall solltest Du Dir diese Lösung anschauen, bevor Du nicht selbst versucht hast, die Aufgabe zu lösen. Es ist ein gewaltiger Unterschied, ob man sagt „ja klar, so hätte ich das auch gemacht“ oder ob man es tatsächlich erst mal selbst versucht. Es ist zwar nicht zwingend erforderlich, sich mit diesen Aufgaben zu beschäftigen, um die nächsten Kapitel zu verstehen, dennoch ist Eigeninitiative der Schlüssel zum Erfolg.

Zu gegebener Zeit wird es auch sogenannte Fehlerquelltexte geben. Das sind kleine Programmbeispiele, die typische Fehler enthalten, wie sie häufig vorkommen. Das Ganze hat den Sinn, ein Gespür dafür zu entwickeln, wo überall etwas schiefgehen kann, welche Arten von Fehlern es gibt (Compilerfehler, Laufzeitfehler, Warnungen). Jeder wird früher oder später selbst mal die vertracktesten Fehler in seinen Quelltext einbauen und sich dann kopfkratzend auf die Suche danach machen. Da es gerade am Anfang nicht immer gleich ersichtlich ist, wo ein Fehler stecken könnte, halte ich es für sinnvoll, so früh wie möglich darauf einzugehen, wie man in einem solchen Fehlerfall am besten vorgeht. Die Fehlerquelltexte in diesem Buch enthalten diverse kleine Gemeinheiten und natürlich auch Hilfestellungen, wie man sich am besten auf die Suche begibt. Auch ein noch so erfahrener Programmierer ist nicht vor solchen Dingen gefeit. Allerdings kommt mit der Zeit die Erfahrung, solche Fehler schneller einzugrenzen.

Wie auch schon bei den Aufgabenstellungen wird es im Anschluss eine korrigierte Fassung des Quelltextes geben. Dabei wird erklärt, wie man den einzelnen Fehlern schnellstmöglich auf die Schliche kommt und wie man sie hätte vermeiden können. Diese Übungen sind fast noch wichtiger als die Aufgabenstellungen, da es sehr ärgerlich ist, einen Quelltext, den man in fünf Minuten geschrieben hat, zwei Stunden lang nach Fehlern zu durchforsten.

1.1.4Geduld, Motivation und gelegentliche Tiefschläge

Ich möchte hier nicht um den heißen Brei herumreden, aber gelegentliche Tiefschläge gehören nun leider dazu. Früher oder später kommt jeder mal an den Punkt, an dem einfach nichts klappen will und das Programm nicht das macht, was es eigentlich soll. Genau an diesem Punkt gibt es zwei Wege, die angehende Programmierer einschlagen können: Die einen geben frustriert auf und werfen den Compiler samt PC und Monitor aus dem Fenster.

Danach wird mächtig über die Programmiersprache geschimpft: Sie ist zu schwer, zu kompliziert, man muss ja studiert haben, um das zu verstehen, und so weiter.

Die anderen jedoch werfen nicht gleich die Flinte ins Korn und bleiben stattdessen hartnäckig am Ball. Natürlich ist das nicht immer einfach, jedoch gibt es auch hier Tricks, wie man sich ganz schnell wieder motiviert. Manchmal ist es ganz nützlich, den Compiler auszuschalten und sich mit anderen Dingen zu beschäftigen, sei es nun an den See zu gehen oder ein paar coole Spiele mit bombastischen Effekten zu spielen. Gerade wenn man sich auf den Homepages von Hobbyentwicklern umschaut und sich deren Resultate ansieht, ist man schnell wieder motiviert und denkt sich: „Hey, die haben das doch auch hinbekommen, warum sollte mir das nicht auch gelingen?“

Man sollte sich auch vor Augen halten, dass die heute professionellen Entwickler auch nichts in den Schoß gelegt bekommen haben. Alle haben sie mit einem winzig kleinen Programm angefangen, das ein simples „Hallo Welt“ auf dem Bildschirm ausgibt. Damit hat es sogar etwas ganz Besonderes auf sich: Irgendwie ist es zur Gewohnheit geworden, dass viele Bücher über diverse Programmiersprachen mit einem Beispiel beginnen, das den Text „Hallo Welt“ auf dem Bildschirm ausgibt. Das geht nun sogar so weit, dass man mit Microsoft Visual C++-Arbeitsumgebungen automatisch ein solches Beispielprogramm erzeugen kann.

Wenn man also an einem solchen Tiefpunkt angelangt ist, sollte man definitiv nicht von „Scheitern“ reden. Es scheitert nur der, der aufgibt. Es gibt im Internet eine ganze Fülle von Diskussionsforen und Chats, in denen sich Programmierer austauschen und gegenseitig helfen können. Scheue Dich nicht davor, dort Fragen zu stellen. Schneller als Du denkst, wirst Du nicht nur Fragen stellen, sondern sie auch beantworten. Außerdem werden hier Tipps gegeben, wie man am schnellsten in die sogenannte „Szene“ einsteigen kann und was es zu beachten gibt. Es ist also keine schlechte Idee, Kapitel 13 schon etwas früher aufzuschlagen.

Mir ist es nun schon einige Male passiert, dass mich jemand darum gebeten hat, mal seinen Quelltext durchzuschauen und nachzusehen, wo der Fehler liegt. Oft war es so, dass ich den Fehler nach recht kurzer Zeit gefunden habe. Wenn man dann gefragt wird, wie man so schnell das Problem eingegrenzt hat, gibt es eigentlich nur eine einzige Antwort: Ich habe diesen Fehler oft genug selbst gemacht! Zwar habe ich zu diesem Zeitpunkt auch mit dem Gedanken gespielt, der CPU jedes Beinchen einzeln auszureißen, Kaffee in die Tastatur zu kippen oder die Aerodynamik meines Monitors im freien Fall zu testen. Da so etwas aber auf die Dauer recht teuer wird, ist es sinnvoller, sich mit dem Problem zu befassen, um es letzten Endes auch zu lösen.

Das alles hört sich schlimmer an, als es ist, aber ich finde es wichtig, auch auf diese Dinge hinzuweisen. Lass Dich auf keinen Fall dadurch entmutigen, sondern behalte das eben Gesagte einfach im Hinterkopf ‒ es kann und wird sich als nützlich erweisen.

1.1.5Das Begleitmaterial zum Buch

Unter http://downloads.hanser.de findest Du sämtliche Quelltexte aus dem Buch. Wie Du diese Beispiele mit Deiner Entwicklungsumgebung laden und verwenden kannst, erkläre ich Dir ab Abschnitt 1.4.3.

Alle Quelltexte wurden unter Windows 10 mit Microsoft Visual Studio 2015 Community Edition getestet und kompiliert. Auf dem Mac wurden Mac OS X 10.10.15 (Yosemite) und Xcode 6.4 verwendet. Die Beispiele 10.1 und 10.3 aus Kapitel 10 sind unter Mac OS X mit Xcode nicht lauffähig, da sie Windows-spezifische Funktionen verwenden. Diese speziellen Beispiele sind somit nur als Visual Studio 2015-Projekte, nicht jedoch als Xcode-Projekte vorhanden.

Die jeweils aktuellste Version von Visual Studio 2015 Community Edition findest Du unter http://www.microsoft.com/visualstudio/deu/downloads. Wie bereits erwähnt ist diese Version kostenlos. Nach Ablauf des Testzeitraums ist jedoch eine (ebenfalls kostenlose) Registrierung nötig.

Wenn Du unter Mac OS X arbeitest, dann kannst Du Dir Xcode kostenlos im App Store...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

Digitale Wasserzeichen

E-Book Digitale Wasserzeichen
Spezielle Probleme der Netzwerkorganisation und des Datenschutzes Format: ePUB/PDF

Studienarbeit aus dem Jahr 2004 im Fachbereich Informatik - Angewandte Informatik, Note: 1,3, Universität Hildesheim (Stiftung) (Institut für Technik, Physik und Wirtschaft), Veranstaltung: Spezielle…

Arduino in der Praxis

E-Book Arduino in der Praxis
Die wichtigsten Anleitungen zur Arduino-Programmierung Format: PDF/ePUB

Mit Arduino in der Praxis setzen Sie Ihre Ideen in die Realität um. Lernen Sie, solide technische Grundsätze auf all Ihre Arduino-Projekte anzuwenden - egal, ob Sie nur zum Spaß Geräte bauen oder sie…

SPS-Programmierung mit IEC 61131-3

E-Book SPS-Programmierung mit IEC 61131-3
Konzepte und Programmiersprachen, Anforderungen an Programmiersysteme, Entscheidungshilfen Format: PDF

Seit 1995 führt das Standardwerk umfassend in die Konzepte der internationalen Norm für Programmiersysteme von speicherprogrammierbaren Steuerungen ein. Den Autoren gelingt es, schwierige Inhalte…

Usabilty Driven Development

E-Book Usabilty Driven Development
Format: PDF

Studienarbeit aus dem Jahr 2008 im Fachbereich Informatik - Angewandte Informatik, Note: 1, Fachhochschule Esslingen Hochschule für Technik Esslingen, 27 Quellen im Literaturverzeichnis, Sprache:…

Weitere Zeitschriften

aufstieg

aufstieg

Zeitschrift der NaturFreunde in WürttembergDie Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur und ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm FileMaker Pro arbeiten. In jeder Ausgabe finden Sie praxiserprobte Tipps & Tricks, die Ihnen sofort die ...