Failure Group that made Tower of Goo (amongst other Embrace the - - PDF document

failure
SMART_READER_LITE
LIVE PREVIEW

Failure Group that made Tower of Goo (amongst other Embrace the - - PDF document

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


slide-1
SLIDE 1

8/8/2014 1

Zach Laster University of Helsinki

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

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.

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!

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

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-2
SLIDE 2

8/8/2014 2

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!

 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

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

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

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!

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-3
SLIDE 3

8/8/2014 3

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”

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

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

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

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

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-4
SLIDE 4

8/8/2014 4

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)

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

 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

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?

 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-5
SLIDE 5

8/8/2014 5

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

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.”

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  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)

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

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-6
SLIDE 6

8/8/2014 6

 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

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

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

 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

 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-7
SLIDE 7

8/8/2014 7

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

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

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

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

Other Useful Functions

 IF  AND  OR  IFERROR  RANDBETWEEN

slide-8
SLIDE 8

8/8/2014 8

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

Hello World

  • -A Hello World Program in Lua

print('Hello World!')

If, Then, else, end

  • -Quick Example of an If statement

local var = 0 if var == 0 then

var = 2

else

var = 1

end

Comparisons

 ==  is equal  ~=  Not equal  >=, >, <, <=

while do

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

  • - Note that Lua lacks a +=

end

slide-9
SLIDE 9

8/8/2014 9

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

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

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

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

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-10
SLIDE 10

8/8/2014 10

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

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

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!

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-11
SLIDE 11

8/8/2014 11