predictive movement in multiplayer games

29
Predictive Movement in Multiplayer Games Jobe Makar jobe@electrotank. com @jobemakar http://www.electrotank.com/lab/FATC/Files.zip

Upload: jobemakar

Post on 27-May-2015

1.507 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Predictive Movement in Multiplayer Games

Predictive Movement in Multiplayer Games

Jobe [email protected]

@jobemakar

http://www.electrotank.com/lab/FATC/Files.zip

Page 2: Predictive Movement in Multiplayer Games
Page 3: Predictive Movement in Multiplayer Games

THANK YOU FATC COMMUNITY!!!

Page 4: Predictive Movement in Multiplayer Games

Predictive Movement in Multiplayer Games

• Real-time movement• Multiplayer concepts• Smoothing / latency Hiding• Clock synchronization• Predictive movement• How this affects game design

…and what we won’t cover

Page 5: Predictive Movement in Multiplayer Games

Tank Game

Wireless network: Electrotank_demo

No password

http://192.168.1.106/

Page 6: Predictive Movement in Multiplayer Games

Tank Game

• Prediction and smoothing in this game• Tank movement• Shots• Collisions

• Things not predicted or smoothed• Powerup collecting• Exploding tank

Page 7: Predictive Movement in Multiplayer Games

Multiplayer Games and Socket Servers

• Multiplayer game refresher• Persistent connection• Rooms• Extensions

Page 8: Predictive Movement in Multiplayer Games

Real-time movement

• Avatar in a virtual world• Character in FPS• Vehicle in a driving game• Bullet

Page 9: Predictive Movement in Multiplayer Games

Making it multiplayer

• Here I am• Way points• Heading• Role of client vs server

Page 10: Predictive Movement in Multiplayer Games

Blob Bros

• Real-time coop game• Uses ‘Here I am’ technique

Page 11: Predictive Movement in Multiplayer Games

Elysium

• Virtual world• Uses way points

Page 12: Predictive Movement in Multiplayer Games

Smoothing & latency hiding

• Examples of why it is needed• Smoothing types

Page 13: Predictive Movement in Multiplayer Games

Smoothing & latency hiding

• Here I am example – no diagram

Page 14: Predictive Movement in Multiplayer Games

Smoothing & latency hiding

• Bullet example

Page 15: Predictive Movement in Multiplayer Games

Smoothing & latency hiding

• Car example

Page 16: Predictive Movement in Multiplayer Games

Smoothing & latency hiding

• Its all about good user experience• Smoothing types

• Easing – frame-based• Convergence – time-based

Page 17: Predictive Movement in Multiplayer Games

Synchronizing clocks

• Ping = round trip time• Latency = Ping / 2• Syncrhonizing clocks means finding the latency

Page 18: Predictive Movement in Multiplayer Games

Synchronizing clocks

• Take 5-10 data points• Throw out values > 1.5 the median value• Average what remains

Page 19: Predictive Movement in Multiplayer Games

Synchronizing clocks

• Clock class• _clock.time

Page 20: Predictive Movement in Multiplayer Games

Predictive movement

• Prediction is the easy part• Using heading• Scheduled events

Page 21: Predictive Movement in Multiplayer Games

Predictive movement

• Heading• Starting position• Starting velocity• Acceleration information

v = v0 + ½*a*t^2x = x0 + vx*ty = y0 + vy*t

Page 22: Predictive Movement in Multiplayer Games

Predictive movement

• Scheduled events• Door opening• Explosion due to grenade• Gun shot if there is lead up animation

Page 23: Predictive Movement in Multiplayer Games

Smoothing and latency hiding revisited

• Convergence – more on this in a moment• Lead up animation• Some combination• Sometimes nothing needed: customizing avatar

Page 24: Predictive Movement in Multiplayer Games

Smoothing and latency hiding revisited

• Convergence• Uses heading for prediction• Choose an algorithm for smoothing

Page 25: Predictive Movement in Multiplayer Games

Smoothing and latency hiding revisited

Page 26: Predictive Movement in Multiplayer Games

Smoothing and latency hiding revisited

• Converger class• Uses Heading class• Uses linear accel / decel algorithm for smoothing• Show example usage

Page 27: Predictive Movement in Multiplayer Games

Converger class limitations

• Acceleration locking• Rotation smoothing• Smoothing is linear

Page 28: Predictive Movement in Multiplayer Games

Game design knowing technical limitations

• Making a good game choice• Car – accel/decel• Make character-character interactions indirect

Page 29: Predictive Movement in Multiplayer Games

Questions

Jobe [email protected]

@jobemakar