SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Slides from GDC2012 Level Design in a Day - Joel Burgess session on pursuing elegance as a game developer. Full talk transcript is available at www.joelburgess.com
Slides from GDC2012 Level Design in a Day - Joel Burgess session on pursuing elegance as a game developer. Full talk transcript is available at www.joelburgess.com
1.
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
2.
Pursuing Elegance
Simplicity, Complexity and the Creative Process
Joel Burgess
Bethesda Game Studios
4.
“The poor architect succumbs
to every temptation and the
good one resists it.”
Ludwig Wittgenstein
5.
Developers are Problem-Solvers
● Long-term Appeal of Development
● Solving Imaginary Problems
● Pride in Hard Work and Cleverness
● …both of which are largely irrelevant
6.
(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
7.
Studio Culture
“We can do anything, but we
can’t do everything.”
● Ambition
● Compromise
● Everyone Is Accountable
8.
The Idealist The Realist
• Ambitious Ideas Be Of Two Time Conscious
• The “Right Way” Perspective
• Fears Not Scope Minds Expedient
12.
Asking “So What?”
● Usually the more Ideal Solution
● Greater Player Expression
● Doing Nothing is Efficient
● Easier than any alternative 100% of the time
14.
Radiant Story
● Broad Data Awareness
● Semi-Procedural Experiences
15.
The Radiant Assassin
● Successful Use of Story System
● Appears If:
● Player Level >= 10
● Player is not Dark Brotherhood Member
16.
Mistaken Possibility
? Identity Space
Authored
Story ? ? ?
The Jarl An Assassin
Purchased was sent to Romance
Political
The Contract kill me!
?
?
? ?
?
?
Revenge
21.
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 FALSE
endIf
endFunction
22.
if Game.GetPlayer().GetItemCount(pickaxe01) > 0
if Game.GetPlayer().GetItemCount(pickaxe01) > 0
OR
Game.GetPlayer().GetItemCount(pickaxe02) > 0
if Game.GetPlayer().GetItemCount(pickaxe01) > 0
OR
Game.GetPlayer().GetItemCount(pickaxe02) > 0
OR
Game.GetPlayer().GetItemCount(pickaxe03) > 0
23.
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 FALSE
endIf
endFunction
24.
Barred Doors This door is
You must
barred the
raise from
bar to open
the other
This door is this door.
side.
barred from
the other
side.
Toggle bar
25.
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" side
UnlockMeMSG.show()
endif
26.
Scripting Literacy
● 60+ Years of Shared Knowledge
● Readable Code is Good Code
● Logical Design is Universal
● Designers & Coders – Unite!
32.
Critter Feature Set
● Limited Environmental Awareness
● Procedural Movement
● Interactive (Damage/Collection)
33.
Considering The Alternative
Fully Scripted
Vs
Canned Art
34.
Justifying Critter Complexity
● Pioneer Test of Scripting System
● Richer Player Experience
● Repetition Of System
● Player Experience
● Workflow
35.
Artist
Artist Artist
Artist
Artist Artist Artist
Artist Artist
Artist Artist Artist
Implementers
Designer
Artist Artist Artist
Artist Artist Artist
Artist Artist
Designer
Programmer Designer Designer
Users
Designer Designer
Programmer Designer Designer
Designer Designer