University of Helsinki Pen and Paper Dice, Cards, Rough boards, - - PowerPoint PPT Presentation

university of helsinki
SMART_READER_LITE
LIVE PREVIEW

University of Helsinki Pen and Paper Dice, Cards, Rough boards, - - PowerPoint PPT Presentation

Zach Laster University of Helsinki Pen and Paper Dice, Cards, Rough boards, stand-in play elements Excel Simple scripted games (Lve2D) Experimental Gameplay Project Group that made Tower of Goo (amongst other things) Each person in


slide-1
SLIDE 1

Zach Laster University of Helsinki

slide-2
SLIDE 2

Pen and Paper Dice, Cards, Rough boards, stand-in play elements Excel Simple scripted games (Löve2D)

slide-3
SLIDE 3

Experimental Gameplay Project

 Group that made Tower of Goo (amongst other

things)

 Each person in the group built a game

prototype in a week

 They bounced ideas off each other and used each

  • ther for feedback, but otherwise worked

independently

 Rules:

 Each game must be made in less than seven days  Each game must be made by exactly one person  Each game must be based around a common theme

i.e. "gravity", "vegetation", "swarms", etc.

slide-4
SLIDE 4

Failure

 Embrace the possibility of failure

 Don’t just accept it  Take risks!

 The thing about rapid prototyping is you

are SUPPOSED to fail sometimes

 It wouldn’t be a prototype if it was

guaranteed to work

 If you fail you probably still learn

something valuable

 Prototyping is for SCIENCE!

slide-5
SLIDE 5

Do it fast

 The point of rapid prototyping is it is  And throwing more time at the problem

doesn’t make the solution better

 There isn’t typically a correlation

between time and prototype quality

slide-6
SLIDE 6

Limits

 Building prototypes is easier when

 You know the question you are trying to answer  You have defined limits for what you are building

 It don’t have to be exact or highly specific,

just limiting

 The EGP benefited from focusing on themes like

“gravity” or “swarming”

 They also seem to have all used the same

theme at the same time (at least initially)

slide-7
SLIDE 7

Team of Individuals

 One of the stronger tactics that EGP used was

that they don’t work together.

 Producing prototypes individually spreads out

the risk

 At least one of them is likely to be good

 It improves competition

 Especially if everyone is working with the same

constraints

 Gives more to share

 Code, ideas, concepts, methods, etc  All the stuff you learn individually can now be taught

to others!

slide-8
SLIDE 8

 The value of the team in

this context is primarily helping to provide ideas and competition

 EGP found that the

team was most useful at the start and the end of prototyping

 Bouncing ideas off each

  • ther

 Competing with final

products

 In the middle of

development, it just messed with them being in the zone

http://www.gamasutra.com/view/feature/130848/how _to_prototype_a_game_in_under_7_.php

slide-9
SLIDE 9

Brainstorming – How not to do it

 Formal Brainstorming doesn’t work (at

least, not on schedule)

 Mostly, you just want to get something

running in your head, bounce some stuff around

 If inspiration doesn’t hit you at first, keep it in the

back of your head

 Your brain does a lot of background processing

 Brainstorming IS useful for hammering

things out

 Feedback on ideas  Helping to solve stuff

slide-10
SLIDE 10

Concept Art from Others

 One method to help get the initial

idea/setting/mood for your game is to collect and put together music and/or art which is somehow significant to you

 Tower of Goo, Gravity Head, and On a

Rainy Day all used this method to build their atmospheric moods

slide-11
SLIDE 11

Thought Experiments

 Or, prototype your prototype  Simulate it in your head first, don’t just

get half an idea and start coding

 Consider how the player is playing and if

they are enjoying it

 Is everything playing nicely together?

 Paper prototypes can help a lot here!

slide-12
SLIDE 12

Toy First

 Generally, games have some core

mechanics that make them what they are

 When prototyping, build that first, and make sure

it’s worthwhile

 If it isn’t, you can save yourself the time of

building the rest.

○ This is knowing when to cut and run

 The toy is the mechanic that’s fun to play

with just by itself, without actual gameplay

 Super Tummy Bubble  Tower of Goo

slide-13
SLIDE 13

Fake it

 Whenever possible (and it’s usually

possible), it’s cheaper and faster to fake things

 Correct AI doesn’t come up often in AAA games,

because fake AI is faster to make, easier to tweak, and works basically as well.

 This can also make your game faster  One of those lessons taught by the

programming gurus: Learn to slack of with style

 Also known as “Hobbits would be fantastic

coders”

slide-14
SLIDE 14

Shoot it. Shoot it now.

 Sometimes, it just isn’t working

 Sometimes the toy just never crystalizes  Sometimes the toy just refuses to become a

game

 You also can’t just add polish to it

 People see through this kind of thing quickly,

though it may catch their eye initially

slide-15
SLIDE 15

Art Matters

 Despite not being a good cover for crappy

design, art and music very much improve a game

 Sets atmosphere  Can greatly improve immersion!  Sometimes just a few simple things put

together well can make a strong aesthetic

 Build an art style for the game, and that will

cover most of it

 A standard industry method for music is to build

basic themes for things

slide-16
SLIDE 16

Engineering only sort of matters

 EGP found that “correct” and “reusable”

are not really targets

 I’d argue that “reusable” is always good, but I

can definitely see not making it a requirement here

 If you make parts of your base reusable, later

prototypes can benefit!

 The big thing is: The user will never see

your fantastic architecture

 Badly architected games can be fun (Minecraft)  If it works, and works fast, then it works; that’s

all they care about

slide-17
SLIDE 17

Building Games from Primitives

 Many mechanics can be reduced to similar

mechanics

 Dice rolls vs card draws

Often possible to simulate mechanics using

  • ther means

 Most games have highly similar elements,

such as drawing or rolling to determine allocation of resources or success. When building a new mechanic, it's probably wise to compare against other similar mechanics

slide-18
SLIDE 18

Complexity != Fun

 We don’t need a lot

 Dice, cards, bouncy balls  We’re pretty easy to entertain

 So perhaps all you need are a few basic

primitives and a neat idea

 This also ties back to “the polish won’t

save it”

 Similarly, experimental != complex

slide-19
SLIDE 19

Goals and Bounce

 When converting a toy to a game, we want

to try to use any implicit goals

 What would you want to do with this even

without game mechanics?

 Avoid things that feel randomly tacked on

 Keep the game bouncy!

 Things which are responsive and bounce to

user input will help the user

 Super Tummy Bubble  The Swarm  Mario  Minecraft (in some aspects)

slide-20
SLIDE 20
slide-21
SLIDE 21

The Hero with a Thousand Faces

 Joseph Cambell determined this trend in

most mythic literature; The Hero’s Journey

 Many ancient tales from all over the world use

this formula

○ Nigeria, Finland, North America, China, … ○ The Odyssey, Inferno, Sleeping Beauty, Faust, …

 Also known as the monomyth

 Cambell suggested that this trend is rooted

in a human need or psyche

slide-22
SLIDE 22

 Once it was identified, it was obviously

everywhere

 It was used to build Star Wars  And has been used to explain Harry Potter

and the Sorcerer’s Stone

 Some virtual worlds (Shadowbane) use

it when building their quests

slide-23
SLIDE 23

The Quest for Self

 The Hero’s Journey is a process of self

discovery, from ignorance to mastery

 The hero travels from a mundane world to

an “other world” of danger and the unknown

 Once they succeed there, they return to

their own world, armed with new knowledge and a new sense of self, ready to tackle whatever drove them to the other world to begin with

 Sounds a lot like the story line from Ultima,

doesn’t it?

slide-24
SLIDE 24

 With most cases of the formula (books,

movies, myths), it’s not the reader who goes on the journey, it’s the main character (whom they hopefully identify with)

 While this does provide some similar growth in

self, it’s not the same

 Virtual Games are the exception to this.

You are the character, you control their actions.

 The more freedom you have in the game world,

the more room you have to explore your self.

 You are the hero.

slide-25
SLIDE 25

Phases

 Departure – The hero leaves their world  Initiation – Takes place in the world of

myth

 Return – The hero returns to their world,

a hero indeed.

 The steps that make up these phases

can occasionally be reordered or skipped, but not the phases

slide-26
SLIDE 26

Departure

 The call to adventure  Something gets you to look at the game  Refusal of the call  “Nope, not gonna play. Not enough <fill in the blank>.”  Some people go no further  Supernatural aid  Someone’s promised to help (maybe you found a guide).

Feel more confident.

 Crossing the first threshold  You downloaded and installed the game  The belly of the whale  You create a character. This is a formal “rebirth.”

slide-27
SLIDE 27

Initiation

 The road of trials

 You become an opportunist (or griefer) and begin to

find your way.

 Meeting with the goddess

 Metaphor for knowledge  You know what you must do  Some drop out here  Scientist/Networker stage

 The temptress

 The old world, it beckons you to return (your world)  Are you content knowing what you need to know, or

are you going to apply it?

 Boundary into Planner/Politician

slide-28
SLIDE 28

 Atonement

 Working to “win”

○ To be accepted in the world’s own terms

 Planner/Politician  The world must actually acknowledge you have won

 Apotheosis

 Hackers/Friends  A period of rest; the challenged have been met, and

new ones are not as important

 All is at peace

 The ultimate boon

 And this is where it falls apart (partially)

slide-29
SLIDE 29

The boon? Please?

 In the formula, the boon is the token of

completion which has value to them (perhaps in the real world)

 It may even be why they came in the first place

 Many MMOs won’t or can’t actually give

their players the boon.

 Because they don’t want you to leave  But mostly because nothing in the game is real

 So many players are left hanging

slide-30
SLIDE 30

Return

 Refusal to Return

 Why would you want to leave the other world? You

have power and friends.

 The Magic Flight

 Usually there is something to prompt the hero to

leave, like someone trying to take the boon back. Since that’s not going to happen, we lose that trigger.

 Rescue from Without

 Something rescues the hero back to the real world.

In our case, a friend, family member, or colleague

 Actually more of an excuse to leave  Kind of reversed with the previous step

slide-31
SLIDE 31

 Crossing the threshold back  Returning is a shock; must reconcile old self and new self  The world has carried on without you (buy don’t we know

it) and we must address these challenges

 In myth, the boon is often a tool to enable this  Not really stopped playing, just stopped needing to play  Master of two worlds  You accept your destiny; you are both your real and virtual

selves

 You can return to the other world, but it’s just a place now,

not so mythical

 Freedom to live  You can be yourself

slide-32
SLIDE 32

Problems with this

 One the one hand, it sounds like the story line from

Ultima.

 Unfortunately, it breaks down in execution much of

the time

 The boon is just one of the problems  The atonement step often doesn’t get played out, as the

MMO doesn’t want you to go

○ These leave players frustrated, and they leave without

wanting to, seeking other sources of validation

 If games actually provided this acknowledgement,

players would actually probably stay anyway

 We might get better retention rates just by allowing

players to leave

slide-33
SLIDE 33

Immersion and the Hero’s Journey

 Immersion is an emergent property from this

 It shows up everywhere because we crave it; it’s

imbedded in our psyche

 Whatever the player needs to do right now in

  • rder to progress along their journey will

generally be what they regard as “fun” at that point

 In order to keep players immersed and

playing, we want to help them through the points where they are most likely to fall out of the journey

 Refusal/Supernatural aid  The temptress

slide-34
SLIDE 34

 We should also try our best to ensure that

the player is properly acknowledged as having “won”

 Originally, this was “atonement with the father”  This enables the players to continue playing as

winners, rather than quitting in frustration

 Enabling players to be the master and

helping them to leave and return will probably also improve immersion later on

 We can lengthen the Journey, but we

shouldn’t cheat the player of their prize

slide-35
SLIDE 35
slide-36
SLIDE 36

 We’ve noted that the ability to automate

  • ur tests greatly reduces the time spent

balancing

 Additionally, having a system which

automatically looks at our relationships can allow us to quickly check new values or changes to values

slide-37
SLIDE 37

Excel

 I’ve suggested Excel be a part of a

game designer’s toolbox

 Really, any spreadsheet software would

work about as well

 I use Excel because it has some of the best

power and the macro language is the best documented (VBA)

 Open and Libre Office can have macros, but

the documentation for making them is rubbish

slide-38
SLIDE 38

Basic functions

 Sum – Sums the given range  Concatenate – Joins text from inputs, but cannot

take a range

 The ‘&’ symbol also conjoins text like the ‘+’ symbol adds

numbers

 Indirect – Maps a reference as text back to the cell

reference

 Unlocks a lot of power of Excel when you know it  VLookup – Matches the value given from the

leftmost column of a range; returns the value in the specified column on that row

 See also: HLookup  Match – Matches a value in an array (range) and

returns the index in the array

slide-39
SLIDE 39

Notes on Lookup

 One of the things Excel excels at is lookup

 It’s a giant datatable system

 Matching defaults to trying to find the specified

value in an ordered list

 If the list is not ordered, it may not find it (it uses

binary search)

 The function will actually return the location that the

value should be in the list, assuming it is ordered

 You can set matching to be exact, meaning it

will find only the exact value given, wherever it is

 This uses a more linear search  If the value is not found, the function errors

slide-40
SLIDE 40

String Parsing

 Left – Characters from the left of a text

string

 Right  Mid

 LEN – Length of a text string  Find – Starting position of a text string

within a text string

 Substitute – Replaces all instances of a

given text string with another text string in a text string

slide-41
SLIDE 41

Other Useful Functions

 IF

 AND  OR

 IFERROR  RANDBETWEEN

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

Lua

 While Excel is a tool, Lua is a language,

meaning we’ll need some way to execute it

 Suggested Tool: Love2D

 Already ready to go for building games  Lots of available pre-fab systems  Easy to set up and use

 You could of course use anything which

can compile or execute Lua

slide-45
SLIDE 45

Hello World

  • -A Hello World Program in Lua

print('Hello World!')

slide-46
SLIDE 46

If, Then, else, end

  • -Quick Example of an If statement

local var = 0 if var == 0 then

var = 2

else

var = 1

end

slide-47
SLIDE 47

Comparisons

 ==

 is equal

 ~=

 Not equal

 >=, >, <, <=

slide-48
SLIDE 48

while do

local var = 0 while var < 10 do var = var + 1

  • - Note that Lua lacks a +=

end

slide-49
SLIDE 49

for

  • -All three expression are evaluated at the

beginning of the loop for i = 2, 10, 0.5 do print(i) end for i,v in ipairs(t) do print(v) end for k,v in pairs(t) do print(v) end

slide-50
SLIDE 50

variables, nil, “arrays”, tables

local foo = “bar” foo = 3 foo = nil foo = {}

  • -foo[0] is an error!

foo[1] = 10 --ipairs foo[“bar”] = 12 --pairs

slide-51
SLIDE 51

Inclusion

 When the lua script is executed, it’s

possible to include other files

 local ProcessMgr = require

"util.processmanager"

 The example here uses a “best practice”

(there are other ways to do this)

 require forces the script to be included and

run on the spot

 The file itself can have a return, and that

return is here put into local ProcessMgr

slide-52
SLIDE 52

Things you can do with Lua

 Check out the Love2d website for some

complete games

 MariO  Not Tetris

 I’ll try to present some more examples in

the lab

slide-53
SLIDE 53
slide-54
SLIDE 54

Project

 You will work in teams of 2 to 5  If you want to do an individual project, that’s on you. I

won’t stop you, but you need to be aware of the choices you are making, and that the project will be harder for you.

 And I’m not grading based on member count.  The basic project is to build a game.  The genre isn’t fixed  The style isn’t fixed  Theme, concept, mechanics, core, etc. All up to you.  If you want to build a card-based FPS, cool.  The only requirement of your game is it have

mechanics (of sufficient complexity) which you need to balance

 Use your best judgment on sufficient complexity

slide-55
SLIDE 55

Report

 The actual grading for the projects will

be conducted using a report system. Each group will write a project report containing:

 Game Concept  Balance Goals  Game Design  How the balance goals were achieved and

any known issues

 Postmortem

slide-56
SLIDE 56

Alternate Projects

 If the basic project doesn’t float your boat, try doing

  • ne of these (and then writing the report on it)

 Analyze the balance of an existing game  You don’t have to do the whole game if it is very complex  Though you will need to get a general overview so you

can discuss how the part you looked at fits in

 Rebalance an existing game  You could dissect Minecraft, for example, and build a total

conversion mod for it.

○ Rather than looking at the (missing) balance, you’d use

what’s there to construct a new balance system

 You can also do something in the middle, where you

analyze the existing balance and suggest changes to it

slide-57
SLIDE 57

Postmortem

 What went wrong, what went right, how

we’d do it differently next time

 Really, any time you do a project you

should write one of these

 It’s largely a review of the project as a

whole

 Use it as a lessons learned document

and try to get something out of it!

slide-58
SLIDE 58

Individual Reports

 In addition to the group report, each

member of a group will return an individual report with:

 Personal impressions and lessons  Commented contribution breakdown out of

100%

○ From a total of 100%, give each member of

the group a value for how much work they contributed.

○ Explain why for each percentage. Large

discrepancies especially need to be justified.

slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61