procedural content generation and shaders - nvidia...title: procedural content generation and...

31
Procedural Content Generation Tools and Techniques for Mobile Platforms

Upload: others

Post on 02-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Procedural Content Generation

Tools and Techniques for Mobile Platforms

Page 2: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Etienne Caron

• PasswordBox.com Android Team Lead

• GDG Montreal Android Organizer

Page 3: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

PGC Theory & HistoryBack in the day…

Page 4: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Conway’s Game of Life

• Created in 1970

• Simple Rules

• Emergent behaviour

Block Loaf

Beacon Toad

Glider

Page 5: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Early GamesElite

Page 6: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Early GamesSeven Cities of Gold

Page 7: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Early Games

The Sentinel

Page 8: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Old is new again…

• Rogue (1980), is perhaps the best example for inspiring countless modern games.

Page 9: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Minecraft

Page 10: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Dwarf Fortress: WorldGen

Page 11: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Concepts!

Ontogenetic / Teleological or

Simulation / Heuristics?

Splitting hairs. Get it?

Page 12: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

“Ontogenetic” ToolsPerlin and Simplex Noise

Page 13: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

“Ontogenetic” ToolsFractals

!

!

L-Systems

Page 14: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

“Teleological” ToolsCell Automata

!

!

Genetic algorithms

Page 15: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

And now, some code!a Lightweight Mobile Prototyping Framework

Page 16: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Android Tech Landscape

Page 17: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

OpenGL ES 2.0, 3.0 and 3.1

Page 18: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

RenderScript

Page 19: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Tegra 4 / K1

Page 20: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Mobile Tech Landscape

• OpenGL ES SL

• RenderScript

Page 21: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

GitHub Projecthttp://github.com/kanawish/SeminarNVScene2014

Page 22: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Modern Android Toolchain

• Android Studio / IntelliJ

• Gradle

• Genymotion

Page 23: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Framework Architecture

Page 24: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

GLSurfaceViewLeveraging the Android Platform

Page 25: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Lifecycle:

(Android Health & Safety requires us to put this here.)

Page 26: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

GLSurfaceView.RendererSimple Shader “Gadgets”

Page 27: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

GLSurfaceView.RendererSimple GPGPU Gadget™

Page 28: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

TODOs• REST shader repo

• In-app shader editor

• Raspberry Pie support

• OpenGL ES 3.1

Page 29: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Quick Demonstration

Page 30: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Quick Demonstration

• Simplex

• Shaders (Plasma/Fractal)

• REST Repo (?)

• Cell Automata

Page 31: Procedural Content Generation and Shaders - NVIDIA...Title: Procedural Content Generation and Shaders Author: Etienne Caron Subject: Demosceners are no strangers to Procedural Generation

Thank you!!

Contact info:

[email protected]

http://plus.google.com/+EtienneCaron

@kanawish on Twitter

GitHub Project