C++ für Spieleprogrammierer (eBook)

(Autor)

eBook Download: EPUB
2016 | 5., aktualisierte und erweiterte Auflage
515 Seiten
Hanser, Carl (Verlag)
978-3-446-44805-6 (ISBN)

Lese- und Medienproben

C++ für Spieleprogrammierer - Heiko Kalista
Systemvoraussetzungen
34,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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.

"Heiko Kalista schafft es mit einfachen Worten und einem Vergleich mit Schubladen das oft für Anfänger komplizierte Arbeiten mit Variablen zu erklären. Wer das Buch gelesen hat, wird wissen, warum es bereits in der 5. Auflage erschienen ist." Werner Ziegelwanger, freiesMagazin, August 2016Zur Vorauflage:"Heiko Kalista hat das Werk didaktisch sinnvoll aufgebaut und wendet sich besonders an jüngere Programmierer und Einsteiger. [...] sehr empfehlenswert [...]." Design & Elektronik, März 2015

1 Grundlagen
1.1 Einleitung
1.1.1 An 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.2 Welche 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.3 Wie 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.4 Geduld, 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.5 Das 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...

Erscheint lt. Verlag 18.1.2016
Verlagsort München
Sprache deutsch
Themenwelt Informatik Programmiersprachen / -werkzeuge C / C++
Schlagworte Computerspiele • Game Programmierung • Game Programming • Seifert Unity • Spieleprogrammierung • Visual C++ 2013 • Visual C++ 2015 • Visual Studio 2013 • Visual Studio 2015 • Xcode 6.4
ISBN-10 3-446-44805-5 / 3446448055
ISBN-13 978-3-446-44805-6 / 9783446448056
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 17,8 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Torsten T. Will

eBook Download (2024)
Rheinwerk Computing (Verlag)
37,43
Das umfassende Handbuch

von Jürgen Wolf; René Krooß

eBook Download (2023)
Rheinwerk Computing (Verlag)
37,43
C++ lernen – professionell anwenden – Lösungen nutzen

von Ulrich Breymann

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
49,99