31
Procedural Content Generation Tools and Techniques for Mobile Platforms

Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Procedural Content Generation

Tools and Techniques for Mobile Platforms

Page 2: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Etienne Caron

• PasswordBox.com Android Team Lead

• GDG Montreal Android Organizer

Page 3: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

PGC Theory & HistoryBack in the day…

Page 4: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Conway’s Game of Life

• Created in 1970

• Simple Rules

• Emergent behaviour

Block Loaf

Beacon Toad

Glider

Page 5: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Early GamesElite

Page 6: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Early GamesSeven Cities of Gold

Page 7: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Early Games

The Sentinel

Page 8: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Old is new again…

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

Page 9: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Minecraft

Page 10: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Dwarf Fortress: WorldGen

Page 11: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Concepts!

Ontogenetic / Teleological or

Simulation / Heuristics?

Splitting hairs. Get it?

Page 12: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

“Ontogenetic” ToolsPerlin and Simplex Noise

Page 13: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

“Ontogenetic” ToolsFractals

!

!

L-Systems

Page 14: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

“Teleological” ToolsCell Automata

!

!

Genetic algorithms

Page 15: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

And now, some code!a Lightweight Mobile Prototyping Framework

Page 16: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Android Tech Landscape

Page 17: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

OpenGL ES 2.0, 3.0 and 3.1

Page 18: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

RenderScript

Page 19: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Tegra 4 / K1

Page 20: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Mobile Tech Landscape

• OpenGL ES SL

• RenderScript

Page 21: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

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

Page 22: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Modern Android Toolchain

• Android Studio / IntelliJ

• Gradle

• Genymotion

Page 23: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Framework Architecture

Page 24: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

GLSurfaceViewLeveraging the Android Platform

Page 25: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Lifecycle:

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

Page 26: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

GLSurfaceView.RendererSimple Shader “Gadgets”

Page 27: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

GLSurfaceView.RendererSimple GPGPU Gadget™

Page 28: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

TODOs• REST shader repo

• In-app shader editor

• Raspberry Pie support

• OpenGL ES 3.1

Page 29: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Quick Demonstration

Page 30: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Quick Demonstration

• Simplex

• Shaders (Plasma/Fractal)

• REST Repo (?)

• Cell Automata

Page 31: Procedural Content Generation and Shaders - NVIDIAon-demand.gputechconf.com/gtc/2014/presentations/S... · Procedural Content Generation and Shaders Author: Etienne Caron Subject:

Thank you!!

Contact info:

[email protected]

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

@kanawish on Twitter

GitHub Project