Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
18.09.2018
1
Prof. Dr. Tobias Lenz
HTW Berlin
AUS VERÖFFENTLICHUNGSRECHTLICHEN GRÜNDEN
WURDEN ALLE BILDER ENTFERNT
18.09.2018
2
• Eigene Anforderungen
• Muss für 5 Minuten unterhalten (“Kurzzeitspiele”)
• Unterbrechen beim Umsteigen
• Einfache Regeln
• Einfache Steuerung
• Eigene Zielgruppe
• Klassische Spiele haben junge Männer als Zielgruppe
• Mobile Games verstärkt für Frauen und “casual gamers”
• Eigene Vermarktungsmodelle
• Gratis
• In-App-Käufe
18.09.2018
3
• Spiele sind vom “Ein-Mann-Projekt aus Leidenschaft” zu
hochkommerzialisierten Produkten geworden
• Ähnlich zur Filmbranche schafft die Spieleindustrie vielfältige
Arbeits- und Ausbildungsplätze
• Zwei Teilgebiete
• Game Design (Story, Charaktere, Handlung) – Künstlerisch
• Game Technology – Informatik
• Früher häufig in einer Person, oder Spiel um Grafikeffekt herumgebaut
• Handlung bei Space Invaders überzeugend?
• Viele Standardelemente
(Netzwerk, Event-Systeme,
Webshop, ...)
• Entwicklung all dieser
Komponenten zu schade
zum Wegwerfen
• Führte zur Abstraktion in
wiederverwendbare “Game
Engine” und spielspezifischen
“Game Content”
18.09.2018
4
• Viele Game Engines werden innerhalb derselben Firma für
andere Projekte/Fortsetzungen recycelt
• Andere haben ihr System gegen Lizenzgebühr anderen Firmen
zur Verfügung gestellt
• Heute gibt es auf Game Engines spezialisierte Anbieter, die selber
nur den Rahmen schaffen und dazu komplexe grafische
Werkzeuge anbieten
• Allgemeine Prinzipien? Wie funktionieren diese einzelnen
Komponenten?
• Oder lieber Umgang mit dem fertigen System lehren?
• Industrievertreter (& manche Studierende) bevorzugen Letzteres
• Wir versuchen beides
• Fächer wie Computergrafik und Artificial Intelligence for Games gehen
direkt auf die zugrundeliegende Technik ein
• Fächer Game Engines und Games and Simulation Technology lehren
Umgang mit fertigen Systemen
18.09.2018
5
• Unreal Engine
• Unity 3D
• CryEngine
• Alle ähnlich aufgebaut, aber im Detail sehr verschieden
• Zum Probieren und für Hobbyprojekte komplett kostenlos
• Einfache Installation, massenhaft Anleitungsvideos zum Einstieg
• Kommen nicht ohne Programmierung aus
• Passt die Programmiersprache?
• Wenn ja, dann lassen sich kleine Projekte in wenigen Stunden realisieren
• Nein? Dann sehr zeitaufwändig oder gar verwirrend
• Zum Teil mit visueller Programmierung
• Erfordert Wissen über interne Abläufe
18.09.2018
6
• Hersteller
• Epic Games
• USA
• Sprachen
• C++
• Blueprints
• Hersteller
• Unity Technologies
• Dänemark
• USA
• Sprachen
• C#
• JavaScript
18.09.2018
7
• Hersteller
• Crytek
• Deutschland
• Sprachen
• C++
• C#
• Meine Erfahrung
• Leute motivieren, Werkzeug reichen, Richtung weisen, Spiel fertig
• 2D-Grafik, Tastatur/Maus, einfache Kollisionserkennung, Fertig
• Auch ohne Grafik mit Textausgabe... oder Ausgabe in Excel-Zellen
• Game loop
Schleife
EingabeAbfragen()
SpielweltAktualisieren()
GrafikAusgeben()
18.09.2018
8
• Offener Standard, verwaltet von der Khronos Group
• Existiert auf jeder Plattform
• Unterstütz jede Grafikhardware der letzten 20 Jahre
• Anbindung an jede Programmiersprache vorhanden
• In C/C++ unmittelbar, sonst über frei verfügbare “bindings”
• Einfach zu installieren/verwenden
• In Java: www.lwjgl.org
• Selten Studierende so kreativ und motiviert erlebt, mit 4
Befehlen (in unserer Veranstaltung Computergrafik)
• //vorgegebener Code zum Öffnen eines Fensters
• glBegin(GL_POINTS)
• //GL_LINES, GL_TRIANGLES, GL_QUAD, GL_POLYGON
• glColor3f(rot, grün, blau)
• glVertex3f(x,y,z)
• ...
• glEnd()
18.09.2018
9
• Vorstellung der Zahlenebene, räumliche Vorstellung
• Vektorrechnung
• Orientierung von Dreiecken/Polygonen
• Farblehre (RGB, additives Farbsystem)
• Lineare Algebra
• Skalarprodukt, Kreuzprodukt
• Transformationen/Projektion als Matrizenmultiplikation
• Basistransformation
• Alles zum Ausprobieren geeignet und Ergebnisse sofort sichtbar
• Labyrinth bauen & lösen
• Programmierkonzepte: Rekursion, Backtracking
• Graphentheorie: Zusammenhang, Breiten-/Tiefensuche
• Game Technology
• Wie entsteht die Spielwelt?
• In welcher Datenstruktur wird diese abgelegt und wie wieder zugegriffen
• Machen die “Profis” auch
• Heißt dann “prozedurale Generierung von Spielwelten”
• Z.B. in No Man’s Sky oder Dead Cells
18.09.2018
10
• Rundenbasiert vs. Echtzeit
• Raster vs. frei beweglich
• Umfangreiche Grafik/Animation/Audio vermeiden
• Auf Spielmechanik konzentrieren
• Bedarf für “Balancing“ vermeiden
• Perfekte Spielbarkeit nicht wichtig
• Memory
• Runden
• Raster
• simple Grafik
• Tetris
• Echtzeit
• Raster
• simple Grafik
18.09.2018
11
• Sokoban
• Runden
• Raster
• Grafik oder Textzeichen
• Level laden?
• Schiffe versenken
• Runden
• Raster
• Netzwerk für 2 Spieler
• Kartenspiele
• Runden
• keine Spielwelt
• Netzwerk für mehr als 2?
• Labyrinth
• Welt generieren
• Netzwerk?
• Highscore?
• ...
18.09.2018
12
• Astroids
• Echtzeit
• Freie Bewegung
• Kollisionsabfrage
• Simple Spielwelt
• Spielen motiviert
• Große Spiele und aufwändige Technik zu komplex
• Auch “klassische” Themen lassen sich spielerisch verpacken oder
damit motivieren
• Kreativ sein und Kreativität fördern
• Spielen ist überall möglich
18.09.2018
13
• Game Engines
• www.unity3d.com
• www.unrealengine.com
• www.crytek.com/cryengine
• OpenGL
• Offizielle Seite: www.opengl.org
• Bindings: www.khronos.org/opengl/wiki/Language_bindings
• Java: www.lwjgl.org