gamedevweb.pdf

31
a What Web Developers can Learn from Game Developers Armin Ronacher for DJUGL June 2013

Upload: vothanhthientoan

Post on 15-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GameDevWeb.pdf

aWhat Web Developers can Learn

from Game Developers

Armin Ronacher for DJUGL June 2013

Page 2: GameDevWeb.pdf

Hello, I'm Armin!I do Computers - with Python.Currently at Fireteam / Splash Damage.We do Internet for Pointy Shooty Games.

c

w

Page 3: GameDevWeb.pdf

Web/Backend Game/Core-Tech Art/Sound

*����������� ������������������  this����������� ������������������  graph����������� ������������������  is����������� ������������������  not����������� ������������������  very����������� ������������������  scientific

Page 4: GameDevWeb.pdf

Web/Backend Game/Core-Tech Art/Sound

*����������� ������������������  this����������� ������������������  graph����������� ������������������  is����������� ������������������  not����������� ������������������  very����������� ������������������  scientific

python!!!11

Page 5: GameDevWeb.pdf

Why is Python not used in Games?

Page 6: GameDevWeb.pdf

Slow?

Page 7: GameDevWeb.pdf

Slow?

Page 8: GameDevWeb.pdf

C & C

Page 9: GameDevWeb.pdf

Community & Concurrency

Page 10: GameDevWeb.pdf

others follow

someone startsgets successful

Page 11: GameDevWeb.pdf

others follow

someone startsgets successful

and that's why eve

rybody used PHP

Page 12: GameDevWeb.pdf

nobody has been fired for choosing Unreal

Page 13: GameDevWeb.pdf

60FPS����������� ������������������  =����������� ������������������  ~16ms

Page 14: GameDevWeb.pdf

Each Actor runs a “Thread”work -> suspend -> wait -> work -> suspend -> work -> …

Page 15: GameDevWeb.pdf

Lua

Unreal Script

C#JavaScript

The Industry Standard

Page 16: GameDevWeb.pdf

Playstation 3

256MB + 256MB RAM3.2 GHz Processor

6 + 1 SPUs

Page 17: GameDevWeb.pdf

Playstation 3

256MB + 256MB RAM3.2 GHz Processor

6 + 1 SPUs

that's not a lot

Page 18: GameDevWeb.pdf

#9

Core����������� ������������������  #1 Core����������� ������������������  #2 Core����������� ������������������  #3 Core����������� ������������������  #4

Core����������� ������������������  #5 Core����������� ������������������  #6 Core����������� ������������������  #7

Task����������� ������������������  Queue

#1 #2 #3 #4 #5 #6 #7 #8

Page 19: GameDevWeb.pdf

#9

Core����������� ������������������  #1 Core����������� ������������������  #2 Core����������� ������������������  #3 Core����������� ������������������  #4

Core����������� ������������������  #5 Core����������� ������������������  #6 Core����������� ������������������  #7

Task����������� ������������������  Queue

#1 #2 #3 #4 #5 #6 #7 #8

Page 20: GameDevWeb.pdf

#9

Core����������� ������������������  #1 Core����������� ������������������  #2 Core����������� ������������������  #3 Core����������� ������������������  #4

Core����������� ������������������  #5 Core����������� ������������������  #6 Core����������� ������������������  #7

Task����������� ������������������  Queue

#1 #2 #3 #4 #5 #6 #7 #8

Page 21: GameDevWeb.pdf

#9

Core����������� ������������������  #1 Core����������� ������������������  #2 Core����������� ������������������  #3 Core����������� ������������������  #4

Core����������� ������������������  #5 Core����������� ������������������  #6 Core����������� ������������������  #7

Task����������� ������������������  Queue

#1 #2 #3 #4 #5 #6 #7 #8

Page 22: GameDevWeb.pdf

What does that have to do with Web?

Page 23: GameDevWeb.pdf

Remember the Heroku Rap-Genius Incident?

Page 24: GameDevWeb.pdf

Task Queues >> Random Routing

Page 25: GameDevWeb.pdf

we do things because others do it tooand that's not always good :-(

Page 26: GameDevWeb.pdf

Python is not going to get better at concurrency :-(

Page 27: GameDevWeb.pdf

Qua eTn!

Page 28: GameDevWeb.pdf

ALL THE THINGS!

Page 29: GameDevWeb.pdf

Optimize the right things

Page 30: GameDevWeb.pdf

Tools are Important

Page 31: GameDevWeb.pdf

That's it.Now ask questions.

And add me on twitter: @mitsuhikoLike my work? gittip.com/mitsuhikoSlides at lucumr.pocoo.org/talks ?