Pursuing elegance

  • 862 views
Uploaded on

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
862
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
40
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • “Making Unknowns Known”
  • Add text labels for clarity?
  • Creative Intent of the Idealist amplified by the focus of the Realist

Transcript

  • 1. Any intelligent fool can makethings bigger, more complex, andmore violent. It takes a touch ofgenius – and a lot of courage – to move in the opposite direction. E.F.Schumacher, 1973
  • 2. Pursuing EleganceSimplicity, Complexity and the Creative ProcessJoel BurgessBethesda Game Studios
  • 3. simplicity.
  • 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 
  • 9. in practice.
  • 10. Loopback Layouts Exit “Boss” 1-way drop “Boss”1-way drop Entrance Entrance/Exit
  • 11. Unexpected Circumstances I go where I please.
  • 12. Asking “So What?”● Usually the more Ideal Solution ● Greater Player Expression● Doing Nothing is Efficient ● Easier than any alternative 100% of the time
  • 13. Less Work! BetterExperience!
  • 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 SpaceAuthored Story ? ? ? The Jarl An Assassin Purchased was sent to Romance Political The Contract kill me! ? ? ? ? ? ? Revenge
  • 17. The Headless Horseman
  • 18. Body Slot Ears Slot Hair Slot Head Slot Circlet Slot
  • 19. 15-Minute Proofs● Explore Risky Ideas● Save Time in Long Run● Especially Useful w/Multiple Fixes
  • 20. scripting.
  • 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 endIfendFunction
  • 22. if Game.GetPlayer().GetItemCount(pickaxe01) > 0if Game.GetPlayer().GetItemCount(pickaxe01) > 0 ORGame.GetPlayer().GetItemCount(pickaxe02) > 0if Game.GetPlayer().GetItemCount(pickaxe01) > 0 ORGame.GetPlayer().GetItemCount(pickaxe02) > 0 ORGame.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 endIfendFunction
  • 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!
  • 27. complexity.
  • 28. Occam’s Razor
  • 29. Simple Complex
  • 30. Simple Direct Robust Complex
  • 31. Critters
  • 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 ArtistImplementers Designer Artist Artist Artist Artist Artist Artist Artist Artist Designer Programmer Designer Designer Users Designer Designer Programmer Designer Designer Designer Designer
  • 36. process.
  • 37. Direct Elegant Robust
  • 38. Elegance● Merges Best of Both Worlds● Always Optimal● In reality: Usually Unavailable
  • 39. Pursuing Elegance● No Direct Path Available● Disguised as Compromise● Revealed Through Process
  • 40. “Write with the door closed, rewrite with the door open.” Stephen King, On Writing
  • 41. The Creative Cycle● Begin Idealist, End Realist Pre-Production Content Lock Initial Layout Final Iteration 15-Min Proof Implementation
  • 42. ●“You have to practiceImprovisation, let no one kid you about it!” ● Art Tatum
  • 43. Thanks for ListeningQuestions/feedback?joel@joelburgess.com