Spiele entwickeln mit Gamestudio - Virtuelle 3D-Welten mit Gamestudio A8 und Lite-C

Jonas Freiknecht

Spiele entwickeln mit Gamestudio

Virtuelle 3D-Welten mit Gamestudio A8 und Lite-C

2012

481 Seiten

Format: PDF, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446432673

 

Inhalt

8

Vorwort

14

1 Das Gamestudio-Autorensystem

20

1.1?Die Acknex-Engine A8

20

1.2?Die verschiedenen Editionen

21

1.3?Die Komponenten des Gamestudios

23

1.3.1?Der Scripteditor (SED)

23

1.3.2?Der Worldeditor (WED)

26

1.3.3?Der Modelleditor (MED)

27

1.3.4?Der Ingame-Editor (GED)

27

1.4?Templates?– Zwei Wege führen zum Ziel

28

1.4.1?Arbeiten mit Templates

28

1.4.2?Spiele ohne Templates

30

1.5?Die Geschichte der Acknex-Engine

30

1.6?Was Sie sonst noch benötigen

31

2 Theorie der Spieleentwicklung

34

2.1? Unterschied zwischen Spielen und ­Desktopanwendungen

34

2.2?Ausgleichende Gerechtigkeit

35

2.3? Die Ungarische Notation als ­Namenskonvention

36

2.4?Namenskonventionen für Dateien

38

2.5?Buildautomatisierung

38

3 Mathematik in Computerspielen

40

3.1?Das Kartesische Koordinatensystem

40

3.2?Vektoren

42

3.2.1?Vektorlänge

43

3.2.2?Normalisieren eines Vektors

44

3.2.3?Das Skalarprodukt

45

3.2.4?Das Kreuzprodukt

45

3.2.5?Vektorprojektion

46

3.2.6?Differenz zweier Vektoren

47

3.3?Winkel

47

3.3.1?Drehen eines Vektors

48

3.3.2?Drehen eines Winkels um einen anderen Winkel

49

3.3.3?Berechnen des Eulerwinkels aus einem Vektor

49

3.4?RGB(A)-Farben

50

3.5?Das Schichtenmodell

51

4 Grundlagen der Lite-C-Programmierung

52

4.1?Installieren der Entwicklungsumgebung

52

4.2?Struktur eines neuen Projekts

54

4.3?Das eingestaubte „Hello World“

55

4.4? Die Grundlagen der Programmierung im Schnelldurchlauf

56

4.4.1?Variablen

57

4.4.2?Datentypen

58

4.4.3?Arrays

62

4.4.4?Mehrdimensionale Arrays

62

4.4.5?Rechenbefehle

63

4.4.6?If-Bedingung

64

4.4.7?Switch

67

4.4.8?Schleifen

68

4.4.9?Funktionen

70

4.4.10?Pointer

72

4.4.11?Compiler-Direktiven

76

4.4.12?Structs

79

4.5?Zusammenfassung

87

5 Spieleprogrammierung mit Lite-C

88

5.1? Ein „Hello World“ nach unserem ­Geschmack

88

5.2?Die erste Bewegung

91

5.2.1?Die Funktion wait

93

5.3?Eingaben über die Tastatur

94

5.3.1?Was war noch mal time_step?

96

5.4?Eine eigene Aktion für unsere Weltkugel

97

5.4.1?Exkurs: Zwei Wege, ein Objekt zu erstellen

100

5.5?Bewegen der Kamera

100

5.5.1?Bewegen der Kamera mit Maus und Tastatur

104

6 Bewegung mit Kollisionserkennung

108

6.1?Exkurs: set, reset, toggle und is

113

7 Verschiedene Kameratypen

116

7.1? First-Person-Camera oder ­Egoperspektive

116

7.2?Sidescroller

117

7.2.1?Exkurs: Skills und Flags

123

7.2.2?Exkurs: Kollision

124

7.3?Third-Person-Camera

126

7.3.1?Exkurs: Animieren von Entities

30

7.4?Resident-Evil-Camera

134

7.5?Mehrere Kameras durch mehrere Views

138

8 Input mit Maus und Tastatur

140

8.1?Eingaben mit der Maus

140

8.1.1?Der Mauszeiger

144

8.2?Eingaben über die Tastatur

144

9 GUI-Elemente

148

9.1?Das Element BMAP

148

9.1.1?Manipulieren von Bitmaps

150

9.2?Das Element TEXT

154

9.2.1?Strings

157

9.2.2?Schriftarten definieren über FONT

159

9.3?Das Element PANEL

161

9.3.1?Steuerelemente auf dem Panel

163

9.4?Grafikeinstellungen ändern

172

10 Interaktion über Events

176

11 Sounds, Musik und Videos

180

11.1?Dateitypen für Musik und Videos

180

11.2?Geräusche in unserer Spielwelt

181

11.3?Streams

184

11.3.1?Dynamische Arrays

188

12 Physik

192

12.1?Was ist eine Physik-Engine?

192

12.2?Einige Physik-Engines im Vergleich

193

12.3?Aktivieren der Physik-Engine

194

12.4?Dosenwerfen

197

12.4.1?Exkurs: Ein realistischer Himmel

201

12.5?Gelenke

203

12.5.1?Drehgelenke mit PH_HINGE

204

12.5.2?Kugelgelenk mit PH_BALL

206

12.5.3?Drehschubgelenk mit PH_SLIDER

208

12.5.4?Räder mit PH_WHEEL

210

12.5.5?Seile mit PH_ROPE

213

12.5.6?Ein beliebig konfigurierbares Gelenk mit PH_6DJOINT

214

12.6?Physikalische Spielersteuerung

216

12.7?Ragdolls

220

12.8?PhysX Community Edition1

227

13 Effekte

228

13.1?Partikeleffekte

228

13.1.1?Was sind Partikel?

228

13.1.2?Wie erstelle ich einen Partikeleffekt?

229

13.2?Licht und Schatten

235

13.2.1?Statische und dynamische Lichtquellen

235

13.2.2?Sonne

235

13.2.3?Schatten

236

13.3?Nebel

241

13.4?Wetter

242

13.5?Decals

249

14 Shader

256

14.1?Verschiedene Arten von Shadern

256

14.2?Programmiersprachen für Shader

257

14.3? Anforderungen an Engine, Grafikkarte und Programmierer

257

14.4? Vor- und Nachteile des Einsatzes von Shadern

258

14.5?Die Direct3D-Pipeline

258

14.6?Ein erster Pixel-Shader für eine Entity

262

14.7?Postprocessing-Shader für eine View

267

14.7.1?Stages und die Rendering-Kette

267

14.7.2?Ein einfacher Wasserfall ohne Shader

276

14.8?Ein Vertex-Shader für Vegetation

279

14.9? Hilfe bei Problemen und ­weiterführendes Material

288

15 Performance messen und optimieren

290

15.1?Performance-Messung

290

15.2?Performance-Optimierung

298

16 Debugging

304

16.1?Der Luxus der Compiler-Fehler

304

16.2?Variablen im SED beobachten

305

16.3?Break-Points

308

16.4?Die Konsole

309

16.5?Logging

310

16.5.1?Exkurs: In Dateien schreiben

316

16.6?Debugging für Ungeduldige

317

16.7?Hilfe bei der Fehlersuche

318

17 Künstliche Intelligenz

320

17.1?Der NPC?– Ein endlicher Automat

321

17.2?Pfade

330

17.3?Pathfinding?– Abseits des Weges

334

17.3.1?Die doppelt verkettete Liste

336

17.4?Dialoge

344

17.4.1?Das XML-Format der Dialoge

345

18 Multiplayer

350

18.1?Mehrere Spieler, eine View

350

18.2?Mehrere Spieler, mehrere Views

354

18.3?Netzwerkspiel

358

18.3.1?Nur eine Anwendung für Client und Server?

358

18.3.2?Server und Client

359

18.3.3?Performance in Netzwerkspielen

366

19 Spielablauf

368

19.1?Laden und Speichern

368

19.2?Ladebildschirme

372

20 Ein Spiel publizieren

378

20.1?Einbinden aller nötigen Ressourcen

378

20.2?Credits und Lizenzen

379

20.3? Kompilieren und Packetieren von ­Ressourcen

380

20.4?Erstellen eines Installationspaketes

380

20.5?Exkurs: Ein Startup-Fenster

381

21 Level-Design

384

21.1?Übersicht über den WED

385

21.2?Das erste Level

386

21.2.1?Bewegen eines Objekts

386

21.2.2?Skalieren eines Objekts

387

21.2.3?Verformen einer Box

388

21.2.4?Ändern der Blickrichtung

389

21.2.5?Das Projektfenster

390

21.2.6?Das Objektfenster

391

21.2.7?Snapping

391

21.2.8?Kompilieren und Testen

392

21.2.9?Hinzufügen von Texturen

394

21.2.10?Erstellen eigener Texturen

398

21.3?Das Erstellen mehrerer Räume

402

21.3.1?Aushöhlen eines Primitives

402

21.3.2?Erstellen und Auflösen von Gruppen

403

21.4?Ausstanzen von Löchern in Objekten

404

21.5?Hinzufügen weiterer Objekte

406

21.5.1?Lichtquellen

407

21.5.2?Level-Bausteine über Prefabs und Primitives

409

21.5.3?Terrains, Modelle, Sprites und Sounds

411

21.5.4?Zuweisen von Aktionen

417

21.5.5?Pfade und Regionen

423

21.6?Der letzte Schliff

429

22 Modell-Design

438

22.1?Modellierung eines Schalters

439

22.2?Animieren über Bones

451

22.2.1?Bone-Animationen importieren

454

22.3?Terrains erstellen

456

22.4?Terrains erstellen mit Earth Sculptor

459

22.5? Importieren von Modellen anderen ­Formats

464

23 Planen eines Spiels

466

23.1?Aufgabenverteilung

467

23.2?Entwickeln einer Idee

467

23.3?Inhaltliche Planung

469

23.3.1?Charaktere eines Spiels

470

23.3.2?Levels

470

23.3.3?Quests

472

23.3.4?Gegenstände und Inventar

473

23.3.5?Waffen und Magie

474

23.3.6?Weitere technische Features

475

23.4?Projektplanung

475

23.5?Kommen wir zum Schluss

476

Index

478

 

© 2009-2024 ciando GmbH