HCI + UI = UX CS 4730 Computer Game Design - - PowerPoint PPT Presentation

hci ui ux
SMART_READER_LITE
LIVE PREVIEW

HCI + UI = UX CS 4730 Computer Game Design - - PowerPoint PPT Presentation

HCI + UI = UX CS 4730 Computer Game Design CS 4730 How do we interact with the game? Broken into two parts 1. a device


slide-1
SLIDE 1

CS ¡4730 ¡

HCI ¡+ ¡UI ¡= ¡UX ¡

CS ¡4730 ¡– ¡Computer ¡Game ¡Design ¡ ¡

slide-2
SLIDE 2

CS ¡4730 ¡

How ¡do ¡we ¡interact ¡with ¡the ¡game? ¡

  • Broken ¡into ¡two ¡parts ¡

– 1. ¡a ¡device ¡that ¡can ¡sense ¡a ¡player’s ¡physical ¡ moCon ¡(we’re ¡assuming ¡we’re ¡not ¡using ¡mental ¡ devices ¡just ¡yet…) ¡ – 2. ¡how ¡the ¡game ¡interprets ¡the ¡movement ¡into ¡the ¡ virtual ¡world ¡

  • Part ¡2 ¡is ¡related ¡to ¡mechanics/dynamics ¡
  • Part ¡1 ¡can ¡be ¡decoupled ¡from ¡games ¡a ¡bit ¡and ¡

discussed ¡independently ¡

2

slide-3
SLIDE 3

CS ¡4730 ¡

Categories ¡of ¡Devices ¡

  • Touch-­‑based ¡
  • InerCal-­‑based ¡
  • Sound-­‑based ¡
  • Camera-­‑based ¡
  • “Advanced ¡sensing” ¡
  • Each ¡of ¡these ¡has ¡subcategories ¡as ¡well ¡

3

slide-4
SLIDE 4

CS ¡4730 ¡

Touch-­‑Based ¡

  • This ¡category ¡involves ¡all ¡devices ¡that ¡require ¡

physical ¡contact ¡to ¡sense ¡user ¡input ¡

  • By ¡far ¡the ¡largest/most ¡common ¡category ¡
  • Most ¡are ¡all ¡electric ¡circuit ¡based, ¡wherein ¡a ¡

player ¡completes ¡a ¡circuit ¡by ¡a ¡moCon, ¡thus ¡ triggering ¡a ¡signal ¡to ¡the ¡system ¡

4

slide-5
SLIDE 5

CS ¡4730 ¡

Touch-­‑Based ¡

  • Binary ¡Circuits ¡

– BuYon ¡unpressed ¡= ¡low ¡voltage ¡ – BuYon ¡pressed ¡= ¡high ¡voltage ¡

  • Angular ¡Sensors ¡(potenCometer) ¡

– Analog ¡joysCcks ¡vary ¡the ¡voltage ¡with ¡posiCon ¡

  • ElectromagneCc ¡Field ¡

– Surface ¡with ¡baseline ¡electromagneCc ¡state ¡is ¡ disrupted ¡by ¡a ¡finger ¡touch ¡ – ResisCve ¡completes ¡a ¡circuit ¡beneath ¡

5

slide-6
SLIDE 6

CS ¡4730 ¡

Controller ¡Examples ¡

  • Keyboard ¡
  • Mouse ¡
  • Console ¡Controller ¡
  • Specialized ¡Console ¡Controller ¡

6

slide-7
SLIDE 7

CS ¡4730 ¡

WASD ¡and ¡the ¡Mouse ¡

  • The ¡keyboard ¡has ¡been ¡around ¡for ¡a ¡LONG ¡

Cme ¡(relaCvely ¡speaking) ¡

– Devised ¡in ¡the ¡early ¡1900s ¡ – With ¡compuCng ¡devices ¡in ¡the ¡60’s ¡

  • The ¡mouse… ¡not ¡as ¡long, ¡but ¡sCll ¡for ¡a ¡while ¡

– 1984 ¡ – Xerox ¡PARC ¡and ¡Apple ¡and ¡Microsoj ¡

7

slide-8
SLIDE 8

CS ¡4730 ¡

WASD ¡and ¡the ¡Mouse ¡

  • What ¡sort ¡of ¡games ¡make ¡sense ¡for ¡this ¡control ¡

structure? ¡

  • Why? ¡
  • How ¡does ¡that ¡affect ¡the ¡game ¡play? ¡

8

slide-9
SLIDE 9

CS ¡4730 ¡

EvoluCon ¡of ¡the ¡Console ¡Controller ¡

9

slide-10
SLIDE 10

CS ¡4730 ¡

InerCal-­‑Based ¡

  • Accelerometer ¡

– Senses ¡the ¡direcCon ¡of ¡acceleraCon ¡and ¡ gravitaConal ¡force ¡on ¡a ¡single ¡axis ¡

  • Magnetometer ¡

– EffecCvely ¡a ¡compass ¡sensing ¡the ¡Earth’s ¡magneCc ¡ field ¡

  • Gyroscope ¡

– Senses ¡angular ¡velocity ¡and ¡change ¡in ¡force ¡on ¡a ¡ spinning ¡mass ¡

10

slide-11
SLIDE 11

CS ¡4730 ¡

Accelerometers ¡and ¡the ¡Wiimote ¡

  • Wiimote ¡uses ¡a ¡3-­‑axis ¡combo ¡accelerometer ¡
  • Wii ¡MoCon ¡Plus ¡adds ¡a ¡gyroscope ¡
  • Demo ¡

11

slide-12
SLIDE 12

CS ¡4730 ¡

Accelerometers ¡and ¡the ¡iPhone ¡

  • How ¡is ¡this ¡a ¡different ¡dynamic? ¡

12

slide-13
SLIDE 13

CS ¡4730 ¡

GPS ¡as ¡Input ¡Device ¡

  • Seek ¡‘n ¡Spell ¡

13

slide-14
SLIDE 14

CS ¡4730 ¡

Handling ¡Noisy ¡Input ¡

  • Uncertain ¡input ¡can ¡make ¡games ¡frustraCng ¡
  • Player ¡intenCon ¡has ¡to ¡match ¡game ¡

interpretaCon ¡

  • This ¡breaks ¡down ¡into ¡a ¡state ¡es&ma&on ¡

problem ¡

  • By ¡increasing ¡or ¡decreasing ¡sampling ¡rate, ¡we ¡

can ¡have ¡a ¡beYer ¡predicCon ¡as ¡to ¡what ¡state ¡ the ¡device ¡is ¡in ¡

14

slide-15
SLIDE 15

CS ¡4730 ¡

Light ¡Guns ¡

  • Flashing ¡on ¡the ¡screen ¡is ¡interpreted ¡by ¡the ¡

device ¡

  • A ¡ray ¡can ¡be ¡traced ¡from ¡the ¡gun ¡aperture ¡to ¡

the ¡screen ¡to ¡determine ¡the ¡angle ¡of ¡aYack ¡

15

slide-16
SLIDE 16

CS ¡4730 ¡

Sound-­‑Based ¡

  • Speech ¡Commands ¡
  • Calculate ¡the ¡Euclidian ¡distance ¡from ¡a ¡

normalized ¡sound ¡clip ¡to ¡training ¡clips ¡stored ¡in ¡ a ¡database ¡

  • AddiConal ¡training ¡models ¡can ¡be ¡layered ¡on ¡

top ¡of ¡this ¡

  • Or ¡you ¡could ¡ignore ¡all ¡of ¡that ¡and ¡just ¡go ¡for ¡

pitch ¡(i.e. ¡Rock ¡Band) ¡

16

slide-17
SLIDE 17

CS ¡4730 ¡

Camera-­‑Based ¡

  • Blobfinding ¡– ¡latching ¡on ¡to ¡specific ¡colored ¡

things ¡in ¡the ¡environment ¡

  • Background ¡subtracCon ¡– ¡over ¡n ¡frames, ¡what ¡

hasn’t ¡changed? ¡ ¡That’s ¡the ¡background ¡

  • And… ¡let’s ¡just ¡look ¡at ¡the ¡Kinect ¡and ¡Child ¡of ¡

Eden ¡

17

slide-18
SLIDE 18

CS ¡4730 ¡

Input ¡Schemes ¡

  • Step ¡1: ¡Which ¡controller ¡
  • Step ¡2: ¡What ¡buYons ¡do ¡what? ¡
  • Step ¡3: ¡???? ¡
  • Step ¡4: ¡Profit! ¡

18

slide-19
SLIDE 19

CS ¡4730 ¡

Input ¡Schemes ¡

  • How ¡do ¡you ¡know ¡what ¡buYon ¡does ¡what? ¡

19

slide-20
SLIDE 20

CS ¡4730 ¡

Input ¡Schemes ¡

  • The ¡bane ¡of ¡several ¡genres ¡

– Sports ¡ – FPSs ¡

  • The ¡bane ¡of ¡touch ¡screen ¡games ¡

– Virtual ¡sCcks ¡ – Touch-­‑to-­‑move ¡

  • The ¡bane ¡of ¡keyboard ¡games ¡

– … ¡that’s ¡a ¡lot ¡of ¡buYons… ¡

20

slide-21
SLIDE 21

CS ¡4730 ¡

“Accepted” ¡Input ¡Schemes ¡

  • How ¡are ¡these ¡communicated ¡to ¡users? ¡
  • How ¡do ¡we ¡get ¡over ¡the ¡problem ¡of ¡“training” ¡

new ¡gamers? ¡

21

slide-22
SLIDE 22

CS ¡4730 ¡

Okay… ¡so ¡that’s ¡control ¡

  • Now ¡how ¡do ¡we ¡relay ¡info ¡back ¡to ¡the ¡user ¡on ¡

screen ¡

  • The ¡User ¡Interface ¡is ¡essenCal ¡to ¡the ¡feedback ¡

construct ¡of ¡games ¡

22

slide-23
SLIDE 23

CS ¡4730 ¡

Let’s ¡Take ¡This ¡Out ¡of ¡Video ¡

  • How ¡do ¡you ¡consider ¡user ¡interface ¡for ¡non-­‑

digital ¡games? ¡

  • What ¡provides ¡feedback? ¡
  • How ¡is ¡it ¡enforced? ¡

23

slide-24
SLIDE 24

CS ¡4730 ¡

How ¡“Easy” ¡is ¡“Easy”? ¡

  • Ease-­‑of-­‑use ¡vs. ¡Ease-­‑of-­‑learning ¡
  • Ease-­‑of-­‑use ¡

– If ¡you ¡already ¡know ¡what ¡you ¡want ¡to ¡do, ¡how ¡ quick ¡/ ¡easy ¡is ¡it ¡to ¡pull ¡it ¡off? ¡

  • Ease-­‑of-­‑learning ¡

– If ¡you ¡are ¡new ¡to ¡a ¡game, ¡how ¡easy ¡is ¡it ¡to ¡figure ¡

  • ut ¡what ¡you ¡are ¡allowed ¡to ¡do ¡and ¡how ¡to ¡do ¡it? ¡
  • Usually, ¡there ¡is ¡a ¡linear ¡trade ¡off ¡between ¡

these ¡two ¡concepts ¡

24

slide-25
SLIDE 25

CS ¡4730 ¡

How ¡“Easy” ¡is ¡“Easy”? ¡

  • Consider ¡any ¡WASD ¡game ¡

– Tons ¡of ¡hot ¡keys ¡ – … ¡tons ¡of ¡keys ¡period ¡

  • Very ¡quick ¡to ¡do ¡many ¡different ¡acCons ¡
  • How ¡do ¡you ¡know ¡which ¡buYon ¡to ¡press? ¡

25

slide-26
SLIDE 26

CS ¡4730 ¡

How ¡“Easy” ¡is ¡“Easy”? ¡

  • Consider ¡a ¡complex ¡board ¡game ¡

– Usually, ¡there ¡are ¡tons ¡of ¡charts, ¡symbols, ¡icons, ¡

  • etc. ¡

– Very ¡easy ¡for ¡an ¡experienced ¡player ¡to ¡know ¡ exactly ¡what’s ¡going ¡on ¡ – InCmidaCng ¡to ¡novice ¡players ¡

26

slide-27
SLIDE 27

CS ¡4730 ¡

How ¡“Easy” ¡is ¡“Easy”? ¡

  • SomeCmes ¡you ¡can ¡do ¡both ¡
  • The ¡concept ¡here ¡is ¡called ¡recogni&on ¡over ¡

recall ¡

27

slide-28
SLIDE 28

CS ¡4730 ¡

Super ¡Models ¡

  • The ¡User ¡Model ¡

– How ¡the ¡user ¡“thinks” ¡the ¡system ¡will ¡behave ¡

  • The ¡Program ¡Model ¡

– How ¡the ¡game ¡ACTUALLY ¡will ¡behave ¡

  • Program ¡Model ¡is ¡always ¡“right” ¡with ¡video ¡

games ¡

– This ¡isn’t ¡always ¡true ¡with ¡board ¡games! ¡

28

slide-29
SLIDE 29

CS ¡4730 ¡

Super ¡Models ¡

  • You ¡want ¡these ¡models ¡to ¡match ¡as ¡much ¡as ¡

possible ¡

– Even ¡if ¡there ¡is ¡some ¡“behind ¡the ¡scenes” ¡ shenanigans ¡going ¡on ¡to ¡make ¡it ¡look ¡right ¡

  • Which ¡is ¡easier ¡to ¡change? ¡
  • How ¡do ¡you ¡know ¡if ¡you ¡need ¡to ¡change ¡

something? ¡

29

slide-30
SLIDE 30

CS ¡4730 ¡

Super ¡Models ¡

  • Play ¡tesCng! ¡
  • This ¡is ¡actually ¡much ¡more ¡robust ¡than ¡in ¡other ¡

sojware ¡development ¡

  • You ¡watch ¡people ¡play ¡

– See ¡what ¡buYons ¡they ¡press ¡ – When ¡they ¡press ¡ – How ¡they ¡press ¡ – How ¡they ¡interact ¡ – Watch ¡lots ¡of ¡people! ¡

30

slide-31
SLIDE 31

CS ¡4730 ¡

If ¡the ¡Models ¡are ¡Wrong ¡

  • FrustraCon, ¡embarrassment, ¡anger ¡are ¡all ¡

reacCons ¡to ¡an ¡incorrect ¡user ¡model ¡

  • Probably ¡not ¡a ¡central ¡aestheCc ¡to ¡your ¡game ¡

– (maybe…) ¡

31

slide-32
SLIDE 32

CS ¡4730 ¡

Focus ¡on ¡the ¡InteracCons! ¡

  • What ¡is ¡the ¡opera&onal ¡profile ¡of ¡your ¡game? ¡
  • Find ¡the ¡most ¡common ¡acCviCes ¡and ¡make ¡

them ¡the ¡easiest ¡to ¡do ¡

  • Find ¡the ¡most ¡common ¡icons/symbols ¡and ¡put ¡

them ¡up-­‑front ¡and ¡center ¡

  • Don’t ¡rely ¡on ¡tradiConal ¡colors/symbols ¡for ¡

everything ¡

– Consider ¡the ¡mailbox ¡icon… ¡

32

slide-33
SLIDE 33

CS ¡4730 ¡

Tips ¡and ¡Tricks ¡

  • Eliminate ¡all ¡uninteresCng ¡tasks ¡– ¡everything ¡

should ¡have ¡a ¡purpose ¡

  • Use ¡visual ¡metaphors ¡– ¡make ¡it ¡obvious ¡for ¡

what ¡something ¡represents ¡

  • Be ¡consistent ¡with ¡similar/established ¡games ¡
  • Keep ¡HUDs ¡appropriate ¡to ¡the ¡asetheCcs ¡

33

slide-34
SLIDE 34

CS ¡4730 ¡

How ¡important ¡is ¡UI ¡design? ¡

  • If ¡you ¡screw ¡up ¡your ¡UI ¡for ¡a ¡text ¡editor ¡

– The ¡user ¡might ¡get ¡a ¡liYle ¡frustrated ¡ – Might ¡read ¡the ¡manual ¡ – Might ¡realize ¡they ¡are ¡using ¡EMACS ¡and ¡quit ¡

  • If ¡you ¡screw ¡up ¡your ¡UI ¡for ¡a ¡game ¡

– The ¡user ¡gets ¡very ¡frustrated ¡ – The ¡user ¡may ¡get ¡angry ¡ – The ¡user ¡will ¡never ¡buy ¡your ¡game ¡again ¡ – The ¡user ¡will ¡leave ¡lots ¡of ¡nasty ¡comments ¡

34

slide-35
SLIDE 35

CS ¡4730 ¡

What ¡are ¡you ¡trying ¡to ¡convey? ¡

  • What ¡are ¡you ¡trying ¡to ¡get ¡across ¡to ¡the ¡user ¡

with ¡your ¡UI ¡design? ¡

35

slide-36
SLIDE 36

CS ¡4730 ¡

What ¡are ¡you ¡trying ¡to ¡convey? ¡

  • The ¡state ¡of ¡the ¡world ¡
  • The ¡rules ¡
  • The ¡available ¡acCons/interacCons ¡
  • How ¡do ¡you ¡do ¡this? ¡
  • How ¡do ¡you ¡show ¡the ¡state ¡while ¡keeping ¡

gamers ¡immersed? ¡

36

slide-37
SLIDE 37

CS ¡4730 ¡

Providing ¡Info ¡

37

slide-38
SLIDE 38

CS ¡4730 ¡

Providing ¡Info ¡

38

slide-39
SLIDE 39

CS ¡4730 ¡

Providing ¡Info ¡

39

slide-40
SLIDE 40

CS ¡4730 ¡

Examples ¡

40

slide-41
SLIDE 41

CS ¡4730 ¡

Examples ¡

41

slide-42
SLIDE 42

CS ¡4730 ¡

Examples ¡

42

slide-43
SLIDE 43

CS ¡4730 ¡

Examples ¡

43

slide-44
SLIDE 44

CS ¡4730 ¡

Examples ¡

44

slide-45
SLIDE 45

CS ¡4730 ¡

Examples ¡

45

slide-46
SLIDE 46

CS ¡4730 ¡

Examples ¡

46