This document discusses pursuing elegance through simplicity and complexity in creative works. It argues that elegance merges the best of simplicity and complexity and is usually unavailable directly, but can be revealed through the creative process. Starting with ambitious ideas but becoming more pragmatic with time mirrors this cycle from idealist to realist perspectives. Iterative design, compromise, and open-minded problem solving are presented as ways to discover elegance disguised as necessary trade-offs.
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Pursuing elegance
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
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
23. 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
24. 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
25. 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
26. 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
27. 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
28. Scripting Literacy
● 60+ Years of Shared Knowledge
● Readable Code is Good Code
● Logical Design is Universal
● Designers & Coders – Unite!
36. Justifying Critter Complexity
● Pioneer Test of Scripting System
● Richer Player Experience
● Repetition Of System
● Player Experience
● Workflow
37. 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