Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI
()
About this ebook
Dieser shortcut befasst sich mit den Themen Grafik, Sound und Künstliche Intelligenz und liefert somit einen hervorragenden Einblick in das weite Feld der Spieleprogrammierung. Neben grundlegenden Informationen zur Arbeit mit OpenGL geht es auch um fortgeschrittene Bereiche der Grafikprogrammierung wie die Verwendung von Frame-Buffer- und Uniform-Buffer-Objekten oder Geometry Instancing. Im Kapitel zur Audioschnittstelle OpenAL erfährt der Leser, wie sich Soundquellen im 3-D-Raum positionieren und Audiodateien in Verbindung mit DSP-Umgebungseffekten abspielen lassen. Abschließend wird ein Blick auf Künstliche Intelligenz (KI) geworfen. Der Einsatz von Bewegungsschablonen, KI-Skripten, Zustandsautomaten, Entscheidungsbäumen und Verhaltensnetzwerken sind nur einige Teile dieses letzten Kapitels.
Read more from Alexander Rudolph
Das Vulkan-API: Teil 1: Grundlagen und erste Schritte Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 3: Umgang mit 3-D-Daten Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Moderne Licht- und Schattenspiele mit OpenGL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Teil 2 Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Minecraft-Welten erschaffen Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL in Space Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: Water-, Terrain- und GUI-Rendering mit OpenGL Rating: 0 out of 5 stars0 ratings
Related to Erfolgreiche Spieleentwicklung
Titles in the series (100)
Erfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsVaadin mit Eclipse, Clojure und OSGi Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Java EE Security Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsOAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsJava FX - Embedded Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratings
Related ebooks
Erfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsGeräteübergreifende Entwicklung mit RAD Studio Rating: 0 out of 5 stars0 ratingsDNX: Grundlagen, Design und Compile Time Rating: 0 out of 5 stars0 ratingsSoftware Development Trends: Wegweisende Beiträge für eine neue IT: Wegweisende Beiträge für eine neue IT Rating: 0 out of 5 stars0 ratingsSpiele entwickeln für iOS und Android mit Cocos2D: Programmieren für die großen Smartphone-Plattformen Rating: 0 out of 5 stars0 ratingsStructr: Quelloffenes Daten-CMS auf Neo4j-Basis Rating: 0 out of 5 stars0 ratingsAutodesk Inventor 2016 - Einsteiger-Tutorial Hybridjacht Rating: 0 out of 5 stars0 ratings.NET Core 1.0 und 1.1: Entwicklung mit den Core-Produkten Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsLeiterplattendesign mit EAGLE: Ein Einstieg mit fünf Praxisprojekten Rating: 0 out of 5 stars0 ratingsPhoneGap 3: Apps für iOS, Android und Windows Phone & Co. entwickeln Rating: 0 out of 5 stars0 ratingsEinführung in die Programmierung von 2-D-Spielen Rating: 0 out of 5 stars0 ratingsFPGAs für Maker: Eine praktische Einführung in programmierbare Logik Rating: 0 out of 5 stars0 ratingsEntwicklung einer internetbasierten Evaluationsplattform zur interaktiven Vorlesungsgestaltung Rating: 0 out of 5 stars0 ratingsJava FX - Status Quo: Status Quo Rating: 0 out of 5 stars0 ratingsAutodesk AutoCAD 2020 - Grundlagen in Theorie und Praxis: Viele praktische Übungen am Übungsbeispiel: Digitale Fabrikplanung Rating: 0 out of 5 stars0 ratingsAutodesk Inventor 2017 - Einsteiger-Tutorial Hybridjacht Rating: 0 out of 5 stars0 ratingsAutodesk AutoCAD 2017 - Grundlagen in Theorie und Praxis: Viele praktische Übungen am Planbeispiel „Digitale Fabrikplanung“ Rating: 0 out of 5 stars0 ratingsOpenLaszlo: schnell + kompakt Rating: 0 out of 5 stars0 ratingsRobotik: LEGO MINDSTORMS, NAO und Raspberry Pi Rating: 0 out of 5 stars0 ratingsAutodesk Inventor 2021 - Aufbaukurs Konstruktion: Viele praktische Übungen am Konstruktionsobjekt GETRIEBE Rating: 0 out of 5 stars0 ratingsAutodesk Inventor 2020 - Aufbaukurs Konstruktion: Viele praktische Übungen am Konstruktionsobjekt Getriebe Rating: 0 out of 5 stars0 ratingsAutodesk AutoCAD 2021 - Grundlagen in Theorie und Praxis: Viele praktische Übungen am Übungsbeispiel: Digitale Fabrikplanung Rating: 0 out of 5 stars0 ratingsBetriebssysteme: Grundlagen, Konzepte, Systemprogrammierung Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsEinblicke in C# 6.0 Rating: 0 out of 5 stars0 ratingsAutodesk Inventor 2017 - Einsteiger-Tutorial Hubschrauber Rating: 0 out of 5 stars0 ratingsJava FX - Embedded Rating: 0 out of 5 stars0 ratings
Programming For You
Mikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsC++ – kurz & gut: Aktuell zu C++17 Rating: 4 out of 5 stars4/5Das große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5SQL – kurz & gut Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratingsPython programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsVue.js kurz & gut Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsMicrocontroller für das IoT Rating: 0 out of 5 stars0 ratingsPraktisches Programmieren in C: Grundlagen und Tipps Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsDie ultimative QNAP NAS Bibel - Das Praxisbuch - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsPython kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Programmieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Programmieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Games | Game Design | Game Studies: Eine Einführung (Deutschsprachige Ausgabe) Rating: 0 out of 5 stars0 ratingsRichtig einsteigen: Excel VBA-Programmierung: Für Microsoft Excel 2007 bis 2016 Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Softwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5JavaScript kurz & gut Rating: 3 out of 5 stars3/5C++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratings
Reviews for Erfolgreiche Spieleentwicklung
0 ratings0 reviews
Book preview
Erfolgreiche Spieleentwicklung - Alexander Rudolph
Alexander Rudolph
Erfolgreiche Spieleentwicklung
OpenGL, OpenAL und KI
ISBN: 978-3-86802-421-0
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 OpenGL – Einführung in die Grafikprogrammierung
Der erste Teil dieses Shortcuts richtet sich speziell an Neulinge auf dem Gebiet der Grafikprogrammierung und soll grundlegende Einblicke in die Arbeit mit OpenGL 3 und 4 [1, 2] vermitteln. Damit einem erfolgreichen Einstieg in die Materie nichts im Wege steht, werden zunächst eine Reihe von Entwicklungswerkzeugen vorgestellt, die im Web zum kostenlosen Download unter www.entwickler-press.de/shortcuts/spieleentwickeln [14] bereitstehen.
Computerspiele sind in den letzten Jahren immer realistischer geworden und ein Ende dieser Entwicklung ist noch lange nicht absehbar, da mit jeder Generation die Hardware immer leistungsfähiger wird. Komplexe 3-D-Szenen und Physikeffekte lassen sich problemlos auf der GPU berechnen und dank moderner Multicore CPUs (Vierkernprozessoren, die bis zu acht Threads parallel verarbeiten, sind heutzutage keine Seltenheit mehr) wird auch die Spielephysik (zerstörbare Spielewelt, Bewegungsmodelle für Land-, Luft- und Wasserfahrzeuge etc.) und die Künstliche Intelligenz (KI) der Computergegner immer wirklichkeitsgetreuer. Kurzum, Computerspiele üben eine große Faszination aus und sind insbesondere für junge Menschen Anlass, sich mit der Spieleentwicklung im Speziellen und der Programmierung im Allgemeinen zu befassen [3]. Die Programmiersprache der Wahl ist für die überwiegende Zahl der Entwickler C/C++ und als Entwicklungsumgebung kommt nicht selten das Visual Studio von Microsoft zum Einsatz, das aktuell in der Version 2010 erhältlich ist. Seit der Version 2005 bietet Microsoft kostenlose Expresseditionen an, mit denen durchaus auch kommerzielle Produkte erstellt werden können. Zwar lassen sich mit diesen Editionen keine MFC-Anwendungen entwickeln, das ist jedoch zu verschmerzen, da die Microsoft Foundation Classes (MFC) für Spiele und Grafikdemos nicht benötigt werden. Weitere Informationen zu den aktuellen Expresseditionen und ein Link zur Downloadseite sind unter [4] zu finden.
Kleinere Grafikdemos können problemlos im Alleingang entwickelt werden, richtige Spiele – ob nun kommerzieller Natur oder Hobbyprojekte – lassen sich nur im Team realisieren. Für die gemeinsame Arbeit ist man jedoch auf Onlinewebspace angewiesen, um allen Teammitgliedern steten Zugriff auf die aktualisierten Projektdaten zu ermöglichen. Gleiches gilt auch für die spätere Veröffentlichung des fertigen Spiels. Kleinere Projekte bis zu einer Größe von 2 GB lassen sich beispielsweise via Dropbox [5] online speichern, synchronisieren und zum Download freigeben.
Selbstverständlich kommt kein Spiel ohne ansprechende 3-D-Modelle und Texturen aus. Auch hier finden sich neben den kostenpflichtigen Programmpaketen kostenlose Alternativen – allen voran Blender für das 3-D-Modelling [6] und GIMP für die Texturierung [7].
Auch wenn die Programmierung einer 3-D- oder einer Physik-Engine gleichsam anspruchsvoll wie faszinierend ist, so ist es vor allen Dingen eines – zeitaufwendig! Für ein Spieleprojekt kann das das Ende bedeuten. Nicht selten springen bei Hobbyprojekten die Grafik- und Sound Artists ab, wenn die Realisierung des eigentlichen Spiels oder des Spieleprototypen in weite Ferne rückt, und für kommerzielle Projekte kann es das Aus bedeuten, wenn sich die vom Geldgeber und Publisher vorgegebenen Fristen nicht einhalten lassen. Populäre und zugleich kostenlose Middleware-Lösungen sind im Bereich der 3-D-Programmierung Ogre3D [8] und im Bereich der Physiksimulation PhysX [9].
1.1 OpenGL – die neuen Spezifikationen 3.x und 4.x
Insbesondere zwei Faktoren waren dafür verantwortlich, dass OpenGL gegenüber DirectX Graphics heutzutage in der Spieleentwicklung kaum mehr eine Rolle spielt. Zum einen gerieten die früheren OpenGL-Spezifikationen (2.x) gegenüber DirectX, das zum damaligen Zeitpunkt in der Version 10 erhältlich war, technisch immer weiter ins Hintertreffen und zum anderen steht den OpenGL-Entwicklern kein SDK (Software Development Kit) ähnlich dem von DirectX zur Verfügung, wodurch der Einstieg in die Materie unnötig erschwert wird. Dank einer