game physics in javascript
TRANSCRIPT
GAME PHYSICS
IN
JAVASCRIPT
WHAT’S THE PLAN
• 2D: PhysicsJS, p2.js
• Main components
• Forces and interaction
• Compound objects and constraints
• Explosions and destruction
MAIN COMPONENTS
• World
• Bodies
• Interaction rules/behaviors
• Renderer
• tick()
WORLD, BODIES
RENDERER
RENDERER IN
P2.JS & PHYSICS
• p2.js – none
• PhysicsJS – embedded, extensible
HELLO “WORLD”
HELLO “RENDERER”
DEMO: HELLO WORLD
FORCES AND INTERACTION
• Gravitation
• Impulse
• Collision
• Friction
• Restitution
GRAVITATION
GRAVITATION IN
P2.JS & PHYSICS.JS
COLLISION
COLLISIONS IN
P2.JS & PHYSICS.JS
p2.js – comes for free
PhysicsJS – needs to be enabled
DEMO: COLLISION
DEMO: COLLISION
WHAT’S INSIDE
FRICTION
DEMO: FRICTION
DEMO: FRICTION
WHAT’S INSIDE
RESTITUTION
DEMO: RESTITUTION
DEMO: RESTITUTION
WHAT’S INSIDE
relaxationstiffness
IMPULSE
DEMO: EXPLOSION
DEMO: EXPLOSION
WHAT’S INSIDE
DEMO: CANNON
JOINTS AND
CONSTRAINTS
Lock
Gear
Distance/Prismatic
Revolute
JOINTS/CONSTRAINTS IN
P2.JS & PHYSICS.JS
physics.js – NONE!
p2.js: all mentioned; destroyable
DEMO:
DISTANCE CONSTRAINT
DISTANCE CONSTRAINT.
WHAT’S INSIDE
DEMO: VEHICLE
DEMO: VEHICLE
WHAT’S INSIDE
VEHICLE: WHAT ELSE’S INSIDE
pivot points
+
2 constraints
…AND ONE MORE VEHICLE.
YIPPEE!
DEMO: CANNON WITH
CONSTRAINTS DESTRUCTION
CONSTRAINTS DESTRUCTION.
WHAT’S INSIDE
THANK YOU!
QUESTIONS?
About me:
/pasha.klimenkov
Examples:
/ /pavel-klimiankou/physics-talk.git