Gaming for the Greater Good Horia Dragomir goto;amsterdam - - PowerPoint PPT Presentation

gaming for the greater good
SMART_READER_LITE
LIVE PREVIEW

Gaming for the Greater Good Horia Dragomir goto;amsterdam - - PowerPoint PPT Presentation

Gaming for the Greater Good Horia Dragomir goto;amsterdam @hdragomir "Games lubricate the body and the mind." Benjamin Franklin http://en.wikipedia.org/wiki/Bjarne_Stroustrup C makes it easy to shoot yourself in the foot; C++


slide-1
SLIDE 1

Gaming for the Greater Good

Horia Dragomir goto;amsterdam

slide-2
SLIDE 2

@hdragomir

slide-3
SLIDE 3

"Games lubricate the body and the mind." — Benjamin Franklin

slide-4
SLIDE 4

http://en.wikipedia.org/wiki/Bjarne_Stroustrup

“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg.”

  • Bjarne Stroustrup
slide-5
SLIDE 5

A programmer…

slide-6
SLIDE 6

Me, feeling good about my programming skills

slide-7
SLIDE 7

Wooga, where I work, makes casual games for mobile and Facebook in Berlin, Germany

slide-8
SLIDE 8

Problem

slide-9
SLIDE 9

Problem Magic

slide-10
SLIDE 10

Problem Magic No Problem

the normal steps of an application

slide-11
SLIDE 11

http://imgur.com/NvrcQNI

slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

http://dois-e-meio.blogspot.de/2011/05/skype-tera-suporte-para-xbox-e-o-kinect.html

slide-16
SLIDE 16

Problem

slide-17
SLIDE 17

Problem Reward, New Problem

slide-18
SLIDE 18

Problem Reward, New Problem Reward, New Problem

slide-19
SLIDE 19

Reward, New Problem Reward, New Problem Reward, New Problem

the normal steps in a game

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27

the main difference between flows in apps and games

slide-28
SLIDE 28

“If I have seen further than others, it is by standing upon the shoulders of giants.” ―Isaac Newton Read more at http://izquotes.com/quote/135288

slide-29
SLIDE 29

Game Devs

slide-30
SLIDE 30

Game Devs App Devs

slide-31
SLIDE 31

Game Devs App Devs Programming Language

slide-32
SLIDE 32

Game Devs App Devs Programming Language Hardware

slide-33
SLIDE 33

Game Devs App Devs Programming Language Hardware Humans

slide-34
SLIDE 34

slide-35
SLIDE 35

Not one single person in the world knows how to make a pencil

slide-36
SLIDE 36

http://ninja-of-athens.deviantart.com/art/Star-Wars-wallpaper-Evolution-of-Man-332974802

we have always used what’s around us as tools.

slide-37
SLIDE 37

http://www.businessinsider.com/smart-crows-perform-aesop-task-video-2014-3

it’s everywhere in nature.

slide-38
SLIDE 38

http://www.blastr.com/2013-2-5/jon-snow-explains-what-it-was-filming-thrones-35-degrees

"still, no crow programmers"

slide-39
SLIDE 39

so, yeah, I sucked as a game developer at first

slide-40
SLIDE 40

but I got to hang around with some game developers.

slide-41
SLIDE 41

Language Agnostic

slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45

they don’t focus a lot on how

slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48

rather on what they are building

slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51

as you gain experience, best practices emerge

slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54

and you start dealing with negative coordinates from the beginning, rather than shoehorning it in later adding new regions to a map becomes easier

slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58

make sure you think of all the key components and their interactions from the get go

slide-59
SLIDE 59

no, not todo lists. Logical structures

slide-60
SLIDE 60

queues empower you to do so many things

slide-61
SLIDE 61

Hardware

all these clever tricks…

slide-62
SLIDE 62
slide-63
SLIDE 63

… and you’ll still be limited

slide-64
SLIDE 64

there are so many platforms, each with their own limitation..

slide-65
SLIDE 65

[Clever Solutions, for Multi Platform]

  • ver the past few years, we’ve had many solutions. We’ve tried many of them at Wooga, but I want to talk about three now
slide-66
SLIDE 66

xplatform from the get-go javascript is a fun language hardware acceleration, which you use to cheat for better performance

slide-67
SLIDE 67
slide-68
SLIDE 68

will-change: opacity, transform;

slide-69
SLIDE 69

asm.js

slide-70
SLIDE 70

unity supports both c# and JS and is a great ecosystem for making games

slide-71
SLIDE 71
  • bj-c

but the big boys use obj-c

slide-72
SLIDE 72

but what about multi-platform?

slide-73
SLIDE 73
slide-74
SLIDE 74

#ifdef ANDROID

slide-75
SLIDE 75

[Prototyping] The simpler the language, or the more it abstracts, the quicker you are at prototyping in it. HTML5: very easy to lay down the basic mechanics for a game. OBJ-C feels just very grown up, and Unity is quite in the middle.

slide-76
SLIDE 76

all this because of limitations

slide-77
SLIDE 77

all this because of limitations

slide-78
SLIDE 78

all this because of limitations

slide-79
SLIDE 79

you want your users and players to feel some magical moments. For that you’ll need to perform some magic of your own

slide-80
SLIDE 80

OOM

the 2mb story

slide-81
SLIDE 81

static char buffer[1024*1024*2];

slide-82
SLIDE 82

http://www.mine-control.com/zack/winzaq/winzaq.html

http://www.mine-control.com/zack/winzaq/winzaq.html "Heck, we couldn’t even find the collision detection…"

slide-83
SLIDE 83
slide-84
SLIDE 84
slide-85
SLIDE 85
slide-86
SLIDE 86

return rand(); //easy, lol

slide-87
SLIDE 87

return 0.1 + rand(); //there, casual!

slide-88
SLIDE 88

return 0.1 + rand() + time; //grind much?

slide-89
SLIDE 89
  • veralls

hat moustache designed by what can be done

slide-90
SLIDE 90

Yes, I say magic a lot That’s how game devs and app devs are the same

slide-91
SLIDE 91

Yes, I say magic a lot That’s how game devs and app devs are the same

slide-92
SLIDE 92

Smiles and Magic

  • ur legacy, as people who make things
slide-93
SLIDE 93

– Arthur C. Clarke

Any sufficiently advanced technology is indistinguishable from magic.

slide-94
SLIDE 94
slide-95
SLIDE 95