Game physics in JavaScript

37
GAME PHYSICS IN JAVASCRIPT

Transcript of Game physics in JavaScript

Page 1: Game physics in JavaScript

GAME PHYSICS

IN

JAVASCRIPT

Page 2: Game physics in JavaScript

WHAT’S THE PLAN

• 2D: PhysicsJS, p2.js

• Main components

• Forces and interaction

• Compound objects and constraints

• Explosions and destruction

Page 3: Game physics in JavaScript

MAIN COMPONENTS

• World

• Bodies

• Interaction rules/behaviors

• Renderer

• tick()

Page 4: Game physics in JavaScript

WORLD, BODIES

Page 5: Game physics in JavaScript

RENDERER

Page 6: Game physics in JavaScript

RENDERER IN

P2.JS & PHYSICS

• p2.js – none

• PhysicsJS – embedded, extensible

Page 7: Game physics in JavaScript

HELLO “WORLD”

Page 8: Game physics in JavaScript

HELLO “RENDERER”

Page 9: Game physics in JavaScript

DEMO: HELLO WORLD

Page 10: Game physics in JavaScript

FORCES AND INTERACTION

• Gravitation

• Impulse

• Collision

• Friction

• Restitution

Page 11: Game physics in JavaScript

GRAVITATION

Page 12: Game physics in JavaScript

GRAVITATION IN

P2.JS & PHYSICS.JS

Page 13: Game physics in JavaScript

COLLISION

Page 14: Game physics in JavaScript

COLLISIONS IN

P2.JS & PHYSICS.JS

p2.js – comes for free

PhysicsJS – needs to be enabled

Page 15: Game physics in JavaScript

DEMO: COLLISION

Page 16: Game physics in JavaScript

DEMO: COLLISION

WHAT’S INSIDE

Page 17: Game physics in JavaScript

FRICTION

Page 18: Game physics in JavaScript

DEMO: FRICTION

Page 19: Game physics in JavaScript

DEMO: FRICTION

WHAT’S INSIDE

Page 20: Game physics in JavaScript

RESTITUTION

Page 21: Game physics in JavaScript

DEMO: RESTITUTION

Page 22: Game physics in JavaScript

DEMO: RESTITUTION

WHAT’S INSIDE

relaxationstiffness

Page 23: Game physics in JavaScript

IMPULSE

Page 24: Game physics in JavaScript

DEMO: EXPLOSION

Page 25: Game physics in JavaScript

DEMO: EXPLOSION

WHAT’S INSIDE

Page 26: Game physics in JavaScript

DEMO: CANNON

Page 27: Game physics in JavaScript

JOINTS AND

CONSTRAINTS

Lock

Gear

Distance/Prismatic

Revolute

Page 28: Game physics in JavaScript

JOINTS/CONSTRAINTS IN

P2.JS & PHYSICS.JS

physics.js – NONE!

p2.js: all mentioned; destroyable

Page 29: Game physics in JavaScript

DEMO:

DISTANCE CONSTRAINT

Page 30: Game physics in JavaScript

DISTANCE CONSTRAINT.

WHAT’S INSIDE

Page 31: Game physics in JavaScript

DEMO: VEHICLE

Page 32: Game physics in JavaScript

DEMO: VEHICLE

WHAT’S INSIDE

Page 33: Game physics in JavaScript

VEHICLE: WHAT ELSE’S INSIDE

pivot points

+

2 constraints

Page 34: Game physics in JavaScript

…AND ONE MORE VEHICLE.

YIPPEE!

Page 35: Game physics in JavaScript

DEMO: CANNON WITH

CONSTRAINTS DESTRUCTION

Page 36: Game physics in JavaScript

CONSTRAINTS DESTRUCTION.

WHAT’S INSIDE

Page 37: Game physics in JavaScript

THANK YOU!

QUESTIONS?

About me:

/pasha.klimenkov

Examples:

/ /pavel-klimiankou/physics-talk.git