Pursuing elegance
-
Upload
joel-burgess -
Category
Design
-
view
1.120 -
download
4
description
Transcript of Pursuing elegance
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius – and a lot of courage – to move in the opposite direction.
E.F.Schumacher, 1973
Pursuing EleganceSimplicity, Complexity and the Creative Process
Joel BurgessBethesda Game Studios
simplicity.
simplicity.
“The poor architect succumbs to every temptation and the
good one resists it.”
Ludwig Wittgenstein
Developers are Problem-Solvers
●Long-term Appeal of Development●Solving Imaginary Problems●Pride in Hard Work and Cleverness●…both of which are largely irrelevant
(a somewhat large videogame)
●Full Scale Production: < 3 years●Team Size: 90+ Developers●Outsourcing: Limited●Level Design: 300+ Locations / 8 LDs●Hit Ship Date – No Delays
Studio Culture“We can do anything, but we
can’t do everything.”●Ambition●Compromise●Everyone Is Accountable
Be Of Two Minds
The Idealist
• Ambitious Ideas• The “Right
Way”• Fears Not Scope
The Realist
Time Conscious ŸPerspective Ÿ
Expedient Ÿ
in practice.
in practice.
Loopback Layouts
1-way drop
u“Boss”
Entrance/Exit
“Boss”u1-way drop
Exit
Entrance
Unexpected CircumstancesI go whereI please.
Asking “So What?”
●Usually the more Ideal Solution● Greater Player Expression
●Doing Nothing is Efficient● Easier than any alternative 100% of the time
Better Experience!
Less Work!
Radiant Story
●Broad Data Awareness●Semi-Procedural Experiences
The Radiant Assassin
●Successful Use of Story System●Appears If:
● Player Level >= 10● Player is not Dark Brotherhood Member
PossibilitySpace
An Assassin was sent to
kill me!
AuthoredStory
MistakenIdentity
Revenge
Political Romance
?
?
?
?
?
?
??
?
?
The JarlPurchased
The Contract
The Headless Horseman
Body Slot
Head Slot
Hair Slot
Ears Slot
Circlet Slot
15-Minute Proofs
●Explore Risky Ideas●Save Time in Long Run●Especially Useful w/Multiple Fixes
scripting.
scripting.
●Bug Report:● Player cannot mine ore w/unique pickaxe
bool function playerHasTools()if Game.GetPlayer().GetItemCount(pickaxe01) > 0
; player has a pickaxe. Return true. return TRUE
Else; player has no pickaxe. Return false.
return FALSEendIf
endFunction
if Game.GetPlayer().GetItemCount(pickaxe01) > 0
if Game.GetPlayer().GetItemCount(pickaxe01) > 0OR
Game.GetPlayer().GetItemCount(pickaxe02) > 0
if Game.GetPlayer().GetItemCount(pickaxe01) > 0OR
Game.GetPlayer().GetItemCount(pickaxe02) > 0OR
Game.GetPlayer().GetItemCount(pickaxe03) > 0
bool function playerHasTools()if Game.GetPlayer().GetItemCount(mineOreToolsList) > 0
; player has an item in tools list. Return true. return TRUE
Else; player has no items in tools list. Return false.
return FALSEendIf
endFunction
Barred Doors
Toggle bar
This door is barred from
the other side.
You must raise the
bar to open this door.
This door is barred from
the other side.
if barred == true && actor == game.getPlayer()if actor.getDistance(Door) < actor.getDistance(LockBar)
; I cannot be opened from this side! barredMSG.show()
else; player must be on the "right" sideUnlockMeMSG.show()
endif
Scripting Literacy
●60+ Years of Shared Knowledge●Readable Code is Good Code●Logical Design is Universal
●Designers & Coders – Unite!
complexity.
complexity.
Occam’s Razor
ComplexSimple
RobustSimple ComplexDirect
Critters
Critter Feature Set
●Limited Environmental Awareness●Procedural Movement●Interactive (Damage/Collection)
Considering The Alternative
Fully ScriptedVs
Canned Art
Justifying Critter Complexity
●Pioneer Test of Scripting System●Richer Player Experience●Repetition Of System
● Player Experience● Workflow
Programmer
Designer
Artist
Artist
Artist
Programmer
Designer
Artist
Artist
Artist
Designer
Designer
Designer
Designer
Artist
Artist
Artist
Artist
Artist
Artist
Artist
Artist
Designer
Designer
Designer
Designer
Artist
Artist
Artist
Artist
Artist
ArtistIm
ple
men
ters
Use
rs
process.
process.
Robust
Direct
Elegant
Elegance
●Merges Best of Both Worlds●Always Optimal
●In reality: Usually Unavailable
Pursuing Elegance
●No Direct Path Available●Disguised as Compromise●Revealed Through Process
“Write with the door closed, rewrite with the door open.”
Stephen King, On Writing
15-Min Proof Implementation
Initial Layout Final Iteration
The Creative Cycle
●Begin Idealist, End Realist
Pre-Production Content Lock
●“You have to practice Improvisation, let no one kid
you about it!”
●Art Tatum
Thanks for Listening
Questions/[email protected]