Vorwort. Heiko Kalista. C++ für Spieleprogrammierer ISBN: 978-3-446-42140-0. Weitere Informationen oder Bestellungen unter



Ähnliche Dokumente
Vorwort. Heiko Kalista. C++ für Spieleprogrammierer. ISBN (Buch): ISBN (E-Book):

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

1. Was ihr in dieser Anleitung

B: bei mir war es ja die X, die hat schon lange probiert mich dahin zu kriegen, aber es hat eine Weile gedauert.

Gutes Leben was ist das?

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

Projektmanagement in der Spieleentwicklung

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Anleitung über den Umgang mit Schildern

Kulturelle Evolution 12

Papa - was ist American Dream?

Arbeitshilfen Messecontrolling Wie geht denn das?

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Primzahlen und RSA-Verschlüsselung

Gezielt über Folien hinweg springen

Kommentartext Medien sinnvoll nutzen

Thema 1: Fotos im Internet verwenden

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Copyright Sophie Streit / Filzweiber / Fertigung eines Filzringes mit Perlen!

Welches Übersetzungsbüro passt zu mir?

Gruppenrichtlinien und Softwareverteilung

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Kinderarmut. 1. Kapitel: Kinderarmut in der Welt

Nina. bei der Hörgeräte-Akustikerin. Musterexemplar

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Professionelle Seminare im Bereich MS-Office

Gesprächsführung für Sicherheitsbeauftragte Gesetzliche Unfallversicherung

50 Fragen, um Dir das Rauchen abzugewöhnen 1/6

Evangelisieren warum eigentlich?

Geld Verdienen im Internet leicht gemacht

Schmerz warnt uns! Der Kopfschmerztyp Migräne. Was sind typische Merkmale des Migränekopfschmerzes?

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Mehr Arbeits-Plätze für Menschen mit Behinderung auf dem 1. Arbeits-Markt

Wie halte ich Ordnung auf meiner Festplatte?

Versetzungsgefahr als ultimative Chance. ein vortrag für versetzungsgefährdete

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

Workshop: Wie ich mein Handikap verbessere erfolgreich Leben mit Multiple Sklerose!

BUCHHALTUNG BUCHFÜHRUNG WO IST ER EIGENTLICH? - DER UNTERSCHIED?

Mobile Intranet in Unternehmen

Holiday plans: ein Gespräch über Urlaubspläne

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Leichte-Sprache-Bilder

Der echte Erfolg am Telefon

Woche 1: Was ist NLP? Die Geschichte des NLP.

1. Welche Tiere sind hier versteckt? 4P/

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Kreativ visualisieren

Verband der TÜV e. V. STUDIE ZUM IMAGE DER MPU

Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009

Liebe oder doch Hass (13)

Informationsblatt Induktionsbeweis

Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.

Jeunesse Autopiloten

Erstellen einer GoTalk-Auflage

Ein Vorwort, das Sie lesen müssen!

Papierverbrauch im Jahr 2000

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Reizdarmsyndrom lindern

Leseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): ISBN (E-Book):

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Das Leitbild vom Verein WIR

Dieser PDF-Report kann und darf unverändert weitergegeben werden.

Coaching - Veränderungsprozesse meistern

Einleitung. Für wen ist dieses Buch

Anleitung für Autoren auf sv-bofsheim.de

1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer :00 Uhr

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Kontakte knüpfen und pflegen, Themen gemeinsam Diskutieren, Termine bekannt geben, oder die. ideal dazu, also sollten wir es auch nutzen!

Was tust du auf Suchmaschinen im Internet?

Drucken von Webseiten Eine Anleitung, Version 1.0

Statuten in leichter Sprache

Material zur Studie. Leitfaden für die Telefoninterviews. 1) Einführung

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden

predigt am , zu römer 16,25-27

1. Standortbestimmung

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Bitte lächeln! Invisalign. teen. Invisalign Teen ist da* Invisalign Teen TM. Die ideale Alternative zur Zahnspange für Teeneger - Patienten von heute!

Zahlen auf einen Blick

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Nina. 2. Ninas Mutter lebt nicht mit Nina und der Familie zusammen. Warum könnte das so sein? Vermute. Vielleicht ist sie. Möglicherweise.

Satzhilfen Publisher Seite Einrichten

Vorbereitung einer Grafik zum Druck einer Glotze aus, Stadion an! -Zaunfahne Torsten Bunde, Stand 5. Juli 2014

Webgestaltung - Jimdo 2.7

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

AutoTexte und AutoKorrektur unter Outlook verwenden

Einführung in Powerpoint M. Hasler Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung

Transkript:

Heiko Kalista C++ für Spieleprogrammierer ISBN: 978-3-446-42140-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42140-0 sowie im Buchhandel. Carl Hanser Verlag, München

Geleitwort Die Entwicklung von Computerspielen unterliegt seit ihren Anfängen vor rund 25 Jahren einem rasanten Wandel. Während die ersten zehn Jahre vor allem von einzelnen "Freaks" und Multitalenten geprägt waren, so wurden in den vergangenen 10 Jahren die Entwicklungsteams immer größer und professioneller ein Trend, der vermutlich noch lange nicht abgeschlossen ist. Der einzelne Programmierer oder Grafiker arbeitet an einem immer spezialisierteren Bereich, und an manchen Spielen arbeiten mehr als 100 Menschen. Es ist richtig, dass man als einzelner Programmierer, Grafiker oder Designer nicht mehr so viel bewegen kann wie früher. Aber auf der anderen Seite werden die Spiele auch von viel mehr Menschen gespielt und vermitteln intensive Erlebnisse, von denen man früher nur träumen konnte. Ein Vorteil beim Programmieren ist, dass das erlernte Wissen und die Erfahrungen trotz dieser kurzlebigen Branche von dauerhaftem Wert sind, denn die eigentliche Programmiersprache ist nur das Mittel zum Zweck und letztlich austauschbar, wenn man die Grundlagen des Programmierens beherrscht. Dieses Buch ist ein idealer Einstieg in die Kunst des Programmierens und vermittelt die ersten Schritte bis hin zu mehrseitigen Programmen sehr anschaulich und verständlich. Die lebhafte und direkte Ausdrucksweise des Autors und der Verzicht auf unnötig komplizierte Erklärungen stellt ein unterhaltsames Erlernen von C++ sicher. Ich hatte mich schon in meiner Jugend der Entwicklung von Computerspielen verschrieben, und das Hobby wurde noch in der Schulzeit zum Beruf eine Entscheidung die ich bis heute nie bereut habe. Auffällig ist, dass fast alle Spieleentwickler gerne in dieser Branche arbeiten und ihr treu bleiben. Volker Wertich Creative Director, Phenomic Game Development XIII

Vorwort Hallo und herzlich willkommen! Du möchtest also gerne das Spieleprogrammieren lernen und hast Dich für dieses Buch entschieden. Genau jetzt, wenn Du diese Zeilen liest, befindest Du Dich auf den ersten Metern eines langen Weges, den es sich jedoch definitiv lohnt zu gehen. Vor über zwei Jahrzehnten brach eine neue Ära an, als die Homecomputer die heimischen Wohnzimmer eroberten. Recht schnell fanden viele Leute Gefallen daran, nicht nur fertige Computerspiele zu spielen, sondern selbst herauszufinden, wie man solche eigenständig entwickeln kann. Herauszufinden" trifft dabei den Nagel auf den Kopf, denn Medien wie das Internet waren zu dieser Zeit nicht vorhanden und Buchmaterial war kaum bis gar nicht in den Regalen der Buchhandlungen zu finden. Aus diesem Grund trennte sich schnell die Spreu vom Weizen, und manche gaben auf. Manche klemmten sich jedoch so lange dahinter, bis die gewünschten Resultate über den Bildschirm flackerten. Genau dieser Forschergeist" ist es, der einen Spieleprogrammierer ausmacht. Man muss Geduld haben, bereit sein zu lernen und einen unermüdlichen Drang besitzen, sein Vorhaben in die Tat umzusetzen. Dazu könnte es keine bessere Zeit geben als die heutige. Im Internet gibt es eine Fülle von Informationen, Hilfestellungen und sogar ganze Communities, die sich mit dem Thema Spieleprogrammierung befassen. Früher bestanden die Quelltexte (Programmcodes) von Spielen noch aus einer endlosen Reihe von kryptischen, meist aus drei Buchstaben bestehenden Befehlen und unübersichtlichen Sprunganweisungen. Heute hingegen hat man mit C++ eine mächtige Hochsprache in der Hand, die leicht zu erlernen ist und viele Dinge einfacher und logischer macht. Informationen sind leichter zugänglich, und Spieleprogrammierer sind längst keine kleine Gruppe mehr, die sich gut gehütete Geheimnisse teilt. Heute ist es jedem möglich, sich selbst mit dieser Thematik zu befassen, solange er bereit ist, sich intensiv damit auseinander zu setzen. Sicherlich ist mit der wachsenden Leistung der Computer und den immer höher werdenden Anforderungen an das System auch die Komplexität gestiegen. Dabei bleiben jedoch bestimmte Grundlagen immer gleich. Wer schon eine Programmiersprache beherrscht oder sich generell bereits mit der Thematik des Programmierens befasst hat, wird hier einige Dinge antreffen, die ihm bekannt vorkommen werden. Trotzdem ist Stillstand der größte Feind eines Spieleprogrammierers. Deshalb ist es enorm wichtig, die mittlerweile unglaublich ergiebige Informationsflut im Internet zu nutzen und immer auf dem neuesten Stand zu bleiben. Schneller als je zuvor kann man sich heute über das Internet die gewünschten Informationen beschaffen. Jedoch birgt diese Möglichkeit der Informationssuche auch eine Gefahr: Man lässt sich schnell verleiten, den eigenen Kopf zugunsten einer Suchmaschine auszuschalten. Deshalb möchte ich an dieser Stelle unbedingt darauf hinweisen, dass man zuerst selbst versuchen sollte, ein Problem zu lösen, und erst dann auf Diskussionsforen oder Ähnliches zugreift, wenn man selbst wirklich nicht mehr anders weiterkommt. Diese Vorgehensweise ist enorm wichtig, um auf lange Sicht Erfolg zu haben. Oftmals findet man selbst eine bessere oder effektivere Lösung, wenn man darüber nachdenkt, statt ande- XIV

re für sich denken zu lassen. Nutze deshalb das Internet als Werkzeug und nicht, um den eigenen Kopf zu ersetzen. Viele Bücher über die Spieleprogrammierung setzen an einem Punkt an, an dem schon weitreichende Vorkenntnisse der Programmiersprache C++ gefordert sind, oder bieten nur einen kleinen Crash-Kurs im Programmieren an. Andere Bücher befassen sich zwar mit der Programmiersprache C++, ohne dabei jedoch einen Bezug zur Spieleprogrammierung herzustellen. Dieses Buch versucht nun, diese Lücke zu schließen und den Grundstein zu legen, der auf dem Weg zum Spieleprogrammierer nötig ist: Das Erlernen der Programmiersprache C++. Nach dem Durcharbeiten dieses Buches solltest Du also über das essenzielle Grundlagenwissen verfügen, das nötig ist, um erfolgreich Spiele zu entwickeln. In diesem Sinne: Let s code! Anmerkungen zur zweiten Auflage Die vielen positiven Resonanzen zur ersten Auflage dieses Buches und die wertvollen Vorschläge der Community führten zu der Idee, das Buch nicht einfach nur nachzudrucken, sondern es in einer Neuauflage auch gleich um drei Kapitel zu erweitern. So wünschten sich viele Leser beispielsweise ein Kapitel über die Grundlagen der Windows- Programmierung und ein Kapitel, in dem zumindest ein kleines Spiel entwickelt wird. Diese beiden Themen sind nun Bestandteil der zweiten Auflage und machen dieses Buch nun noch etwas interessanter. Zudem habe ich mich dazu entschieden, noch ein weiteres Kapitel zu schreiben, in dem einige fortgeschrittene Techniken vorgestellt werden, die nicht mehr zu den absoluten Grundlagen gehören, aber dennoch wichtig sind. Dabei stellte sich die Frage, ob die bestehenden Kapitel um diese Techniken erweitert werden sollten oder ob man sie in ein separates Kapitel packt. Die Entscheidung, diesen Themen ein eigenes Kapitel zu widmen, wurde gefällt, weil es einfach mehr Sinn macht, den Einstieg so kompakt wie möglich und so ausführlich wie nötig zu halten. Wer nach dem Lesen der ersten elf Kapitel mehr wissen möchte, kann sich dann in Ruhe diesen Themen widmen. Die dritte Auflage Während sich C++ im Laufe der Jahre kaum verändert, ändern sich die verschiedenen Entwicklungsumgebungen umso rasanter. Ständig gibt es neue, bessere Tools mit immer mächtigeren Funktionen. Welche Entwicklungsumgebung man benutzt, hängt nicht nur vom verwendeten Betriebssystem ab, sondern auch vom persönlichen Geschmack und den XV

an das Projekt gestellten Anforderungen. In den vorherigen Auflagen dieses Buches wurden Microsoft Visual Studio 6.0 und Microsoft Visual Studio.net 2003 verwendet. Gerade Letzteres ist immer noch weit verbreitet und wird von vielen Entwicklern benutzt. Dennoch ist es nun an der Zeit, sich einmal eine neuere Version dieser Entwicklungsumgebung anzuschauen, nämlich Microsoft Visual Studio 2008 Express Edition. Diese Entwicklungsumgebung wurde gewählt, da sie gleich mehrere Vorteile bietet. Der wohl wichtigste Vorteil ist, dass es eine kostenlose, leicht abgespeckte, aber für unsere Zwecke völlig ausreichende Version gibt, die auf der beigelegten Begleit-DVD zu finden ist. Damit haben wir ein mächtiges Werkzeug in der Hand, mit dem sämtliche in diesem Buch abgedruckten Beispiele kompiliert und ausgeführt werden können. Da wir uns in diesem Buch hauptsächlich mit dem Erlernen der Programmiersprache C++ beschäftigen, werde ich nicht auf alle Funktionen und Möglichkeiten von Microsoft Visual Studio 2008 Express Edition eingehen. Natürlich wird überall dort wo es nötig ist genau erklärt, wie man diese Entwicklungsumgebung bedient und wie man vorgehen muss. Das ist etwa dann der Fall, wenn wir uns unseren ersten Arbeitsbereich erstellen, später den Debugger kennen lernen oder gegen Ende des Buches spezielle Projekteinstellungen vornehmen. Nun mag man denken, dass es eigentlich keinen Grund gibt, in dieser Auflage eine neue Entwicklungsumgebung zu verwenden. Doch hier irrt man sich. Wer dieses Buch durchgearbeitet hat und sich dann mit weiterführenden Themen beschäftigen möchte, der hat gleich das richtige Werkzeug dazu und muss sich natürlich auch nicht erst auf eine andere Entwicklungsumgebung umstellen. Sicherlich gibt es viele Leute, die eine komplett andere Entwicklungsumgebung benutzen möchten. Natürlich spricht nichts dagegen, im Gegenteil: Wer sich mit mehreren verschiedenen Entwicklungsumgebungen auskennt, kann sich später schneller in ein bestehendes Projekt eines Teams einarbeiten. Allerdings sollte es verständlich sein, dass ich in diesem Buch nicht auf alle möglichen Entwicklungsumgebungen eingehen kann. Der Quelltext wurde so geschrieben, dass er im Grunde ohne Änderungen mit anderen Entwicklungsumgebungen kompiliert werden kann. Wie man in diesem Fall einen neuen Arbeitsbereich anlegt oder den Debugger verwendet, muss dann in den entsprechenden Dokumentationen und Anleitungen nachgelesen werden. XVI