![Page 1: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/1.jpg)
Semesterprojekt
Implementierung eines Brettspiels
(inklusive computergesteuerter Spieler)
Wintersemester 16/17
Einführende Links zu
Game Development / Game Engines
Patrick Schäfer
Marc Bux
![Page 2: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/2.jpg)
2 Einführende Links zu Game Design / Game Engines
Game Design
• Typischerweise wird jedes Spiel durch eine Endlosschleife
(„Game Loop“) realisiert, wobei in jeder Iteration
– geprüft wird, was sich zur letzten Iteration geändert hat (z.B. Tastatur-
Eingabe),
– der interne Spielstatus verändert wird und
– der externe Spielstatus (z.B. Anzeige) entsprechend angepasst wird.
![Page 3: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/3.jpg)
3 Einführende Links zu Game Design / Game Engines
Game Design
• Typischerweise wird jedes Spiel durch eine Endlosschleife
(„Game Loop“) realisiert, wobei in jeder Iteration
– geprüft wird, was sich zur letzten Iteration geändert hat (z.B. Tastatur-
Eingabe),
– der interne Spielstatus verändert wird und
– der externe Spielstatus (z.B. Anzeige) entsprechend angepasst wird.
• Eine Game Engine stellt grundlegende Funktionen eines Spiels
bereit (Game Loop, Kollisionsabfrage, Rendering, etc.)
![Page 4: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/4.jpg)
4 Einführende Links zu Game Design / Game Engines
Game Design
• Typischerweise wird jedes Spiel durch eine Endlosschleife
(„Game Loop“) realisiert, wobei in jeder Iteration
– geprüft wird, was sich zur letzten Iteration geändert hat (z.B. Tastatur-
Eingabe),
– der interne Spielstatus verändert wird und
– der externe Spielstatus (z.B. Anzeige) entsprechend angepasst wird.
• Eine Game Engine stellt grundlegende Funktionen eines Spiels
bereit (Game Loop, Kollisionsabfrage, Rendering, etc.)
• Weiterführende Links:
– Principles of Game Design https://www.coursera.org/learn/gamedesign
– Introduction to Game Development
https://www.coursera.org/learn/game-development
![Page 5: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/5.jpg)
5 Einführende Links zu Game Design / Game Engines
Game Engines: Optionen
• Guter Startpunkt für Auswahl
– https://boardgamegeek.com/thread/1331084/board-game-
computerwrite-it-what-language
• Option 1: „From Scratch“:
– Empfehlungen: Java / JavaFX, HTML5 / Ajax
• Brettspiel-Engines:
– http://battlegroundsgames.com/links/#anchor7
– oft kostenpflichtig, ohne KI-Spieler, keine Standalone-Binary
– nicht empfehlenswert
• Vollwertige 2D/3D Game Engines:
– https://en.wikipedia.org/wiki/List_of_game_engines
– Empfehlung: Unity 5
![Page 6: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/6.jpg)
6 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
![Page 7: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/7.jpg)
7 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
![Page 8: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/8.jpg)
8 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
• JavaFX Game Tutorials:
– https://goo.gl/xlFaSA
![Page 9: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/9.jpg)
9 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
• JavaFX Game Tutorials:
– https://goo.gl/xlFaSA
![Page 10: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/10.jpg)
10 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
• JavaFX Game Tutorials:
– https://goo.gl/xlFaSA
• HTML5 Game Development Tutorials:
– http://enfew.com/top-10-must-read-html5-game-development-
tutorials/
![Page 11: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/11.jpg)
11 Einführende Links zu Game Design / Game Engines
From Scratch
• Ticket to Ride in Java / Swing:
– https://github.com/cooijmanstim/hobo
• JavaFX Game Tutorials:
– https://goo.gl/xlFaSA
• HTML5 Game Development Tutorials:
– http://enfew.com/top-10-must-read-html5-game-development-
tutorials/
• HTML5 Board Games on itch.io
– https://itch.io/games/html5/tag-board-game
• CraftyJS / Impact: JavaScript Game Engine
– http://buildnewgames.com/introduction-to-crafty/
– http://impactjs.com/
![Page 12: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/12.jpg)
12 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
Unity
![Page 13: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/13.jpg)
13 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
Unity
![Page 14: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/14.jpg)
14 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
Unity
![Page 15: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/15.jpg)
15 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
Unity
![Page 16: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/16.jpg)
16 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
Unity
![Page 17: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/17.jpg)
17 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
Unity
![Page 18: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/18.jpg)
18 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
Unity
![Page 19: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/19.jpg)
19 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
Unity
![Page 20: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/20.jpg)
20 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
Unity
![Page 21: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/21.jpg)
21 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
– 2D turn-based roguelike tutorial:
https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial
Unity
![Page 22: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/22.jpg)
22 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
– 2D turn-based roguelike tutorial:
https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial
Unity
![Page 23: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/23.jpg)
23 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
– 2D turn-based roguelike tutorial:
https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial
– Brettspiel-KI: https://madewith.unity.com/stories/boardgame-ai
Unity
![Page 24: Semesterprojekt Implementierung eines Brettspiels ... · Einführende Links zu Game Design / Game Engines 3 Game Design • Typischerweise wird jedes Spiel durch eine Endlosschleife](https://reader030.vdocuments.net/reader030/viewer/2022041211/5dd0c033d6be591ccb62842b/html5/thumbnails/24.jpg)
24 Einführende Links zu Game Design / Game Engines
• kostenlos für nicht-kommerzielle Zwecke
• viele Plattformen: Windows, Mac, Android, iOS, Linux, Browser
• Skripte in C#
• Viele Tutorials, z.B.:
– Introduction to Game Development: https://goo.gl/ks55ew
– C# Scripting Tutorials for Unity: http://catlikecoding.com/unity/tutorials
– 2D Unity introductory tutorial:
https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial
– Tic-Tac-Toe tutorial: https://unity3d.com/learn/tutorials/tic-tac-
toe/introduction-and-setting-project
– 2D turn-based roguelike tutorial:
https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial
– Brettspiel-KI: https://madewith.unity.com/stories/boardgame-ai
Unity