Rebooting the insomniac tools pax dev12

147
Rebooting the Insomniac Tools New Tech for New IP and New Generation

Transcript of Rebooting the insomniac tools pax dev12

Page 1: Rebooting the insomniac tools pax dev12

Rebooting the Insomniac Tools

New Tech for New IP and New Generation

Page 2: Rebooting the insomniac tools pax dev12

Mike Acton, Engine Director [email protected]

Whirlwind tour through problem-space

Page 3: Rebooting the insomniac tools pax dev12

Mike Acton, Engine Director [email protected]

Start with the problem

Whirlwind tour through problem-space

Page 4: Rebooting the insomniac tools pax dev12

Mike Acton, Engine Director [email protected]

Start with the problem

Understand the impact of context/culture

Whirlwind tour through problem-space

Page 5: Rebooting the insomniac tools pax dev12

Whirlwind tour through problem-space

Mike Acton, Engine Director [email protected]

Start with the problem

Understand the impact of context/culture

Gather and understand real life data

Page 6: Rebooting the insomniac tools pax dev12

The problemNew IP

Page 7: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

Page 8: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Page 9: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

Page 10: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Page 11: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

Page 12: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

No "Right" or "Best" Answer

Page 13: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

No "Right" or "Best" Answer

Except what allows us to be the best creators we

can be

Page 14: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

Page 15: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

New code...

Page 16: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

New code...

New assets...

Page 17: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

New code...

New assets...

More versions...

Page 18: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

New code...

New assets...

More versions...

More iteration...

Page 19: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

What's the real problem?

New code...

New assets...

More versions...

More iteration...

Page 20: Rebooting the insomniac tools pax dev12

The problemNew IP

New Publisher

New Platform

Efficiency

New Tech Spaces

Culture

Page 21: Rebooting the insomniac tools pax dev12

The problem

New Platform

Efficiency

New Tech Spaces

Culture

New Publisher

Page 22: Rebooting the insomniac tools pax dev12

The problem

Efficiency

New Tech Spaces

Culture

New Platform

Page 23: Rebooting the insomniac tools pax dev12

The problem

New Tech Spaces

Culture

Efficiency

Page 24: Rebooting the insomniac tools pax dev12

The problem (big changes)

New Tech Spaces

Culture

Efficiency Usability testing

Page 25: Rebooting the insomniac tools pax dev12

The problem (big changes)

New Tech Spaces

Culture

Efficiency Usability testing

Chrome Web App

Page 26: Rebooting the insomniac tools pax dev12

The problem (big changes)

New Tech Spaces

Culture

Efficiency Usability testing

Chrome Web App

Open houses

Page 27: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency

Page 28: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

Page 29: Rebooting the insomniac tools pax dev12

Tools UI

Page 30: Rebooting the insomniac tools pax dev12

Tools UI

Page 31: Rebooting the insomniac tools pax dev12

Tools UI

Page 32: Rebooting the insomniac tools pax dev12

The problem (Tools UI)

New Tech Spaces

Culture

Efficiency Who can + Edit speed

Page 33: Rebooting the insomniac tools pax dev12

The problem (Tools UI)

New Tech Spaces

Culture

Efficiency Who can + Edit speed

HTML5/JS

Page 34: Rebooting the insomniac tools pax dev12

The problem (Tools UI)

New Tech Spaces

Culture

Efficiency Who can + Edit speed

HTML5/JS

Feedback

Page 35: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome

Page 36: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Page 37: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery

Page 38: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Page 39: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash

Page 40: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Page 41: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)

Data divide

Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Page 42: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Data divide Maintainability

Page 43: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Data divide Maintainability

Custom controls

Page 44: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Data divide Maintainability

Custom controls Problem first

Page 45: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Data divide Maintainability

Custom controls Problem first

Pages

Page 46: Rebooting the insomniac tools pax dev12

Tools UI (sub-problems)

Data divide Maintainability

Custom controls Problem first

Pages Stability

Chrome Standards + No cross-browser

Javascript + jQuery UI iteration time

Remove Flash UI iteration time

Page 47: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

Page 48: Rebooting the insomniac tools pax dev12

Tools server

Page 49: Rebooting the insomniac tools pax dev12

Tools server

Page 50: Rebooting the insomniac tools pax dev12

The problem (Tools server)

New Tech Spaces

Culture

Efficiency Stability

Page 51: Rebooting the insomniac tools pax dev12

The problem (Tools server)

New Tech Spaces

Culture

Efficiency Stability

Everything HTTP

Page 52: Rebooting the insomniac tools pax dev12

The problem (Tools server)

New Tech Spaces

Culture

Efficiency Stability

Everything HTTP

Local -> Global services

Page 53: Rebooting the insomniac tools pax dev12

Tools server (sub-problems)RESTful API

Page 54: Rebooting the insomniac tools pax dev12

Tools server (sub-problems)RESTful API Standards

Page 55: Rebooting the insomniac tools pax dev12

Tools server (sub-problems)RESTful API Standards

CGI scripts

Page 56: Rebooting the insomniac tools pax dev12

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

Page 57: Rebooting the insomniac tools pax dev12

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

Page 58: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

Page 59: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb

Page 60: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb Asset queries, Javascript

Page 61: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb Asset queries, Javascript

Perforce integration

Page 62: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb Asset queries, Javascript

Perforce integration Simultaneous edits

Page 63: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb Asset queries, Javascript

Perforce integration Simultaneous edits

Universal undo

Page 64: Rebooting the insomniac tools pax dev12

Simple, small

Tools server (sub-problems)RESTful API Standards

CGI scripts Stable experiments

mongoose

mongodb Asset queries, Javascript

Perforce integration Simultaneous edits

Universal undo Maintenance, analysis

Page 65: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

Page 66: Rebooting the insomniac tools pax dev12

Asset management

Page 67: Rebooting the insomniac tools pax dev12

Asset management

Page 68: Rebooting the insomniac tools pax dev12

The problem (Asset management)

New Tech Spaces

Culture

Efficiency Build times

Page 69: Rebooting the insomniac tools pax dev12

The problem (Asset management)

New Tech Spaces

Culture

Efficiency Build times

Live tracking

Page 70: Rebooting the insomniac tools pax dev12

The problem (Asset management)

New Tech Spaces

Culture

Efficiency Build times

Live tracking

Personal asset branches

Page 71: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format

Page 72: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

Page 73: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed

Page 74: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Page 75: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades

Page 76: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

Page 77: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker

Page 78: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker

Page 79: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker 3rd-party tool edits

Page 80: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker 3rd-party tool edits

Build manager

Page 81: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker 3rd-party tool edits

Build manager No choice = automate

Page 82: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker 3rd-party tool edits

Build manager No choice = automate

Runtime linking

Page 83: Rebooting the insomniac tools pax dev12

Asset management (sub-problems)JSON format Ease of edit

File backed UX culture

Auto version upgrades Various versions

NTFS tracker 3rd-party tool edits

Build manager No choice = automate

Runtime linking Iteration, Disc layout

Page 84: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

Page 85: Rebooting the insomniac tools pax dev12

Lighting, materials, FX

Page 86: Rebooting the insomniac tools pax dev12

Lighting, materials, FX

Page 87: Rebooting the insomniac tools pax dev12

Lighting, materials, FX

Page 88: Rebooting the insomniac tools pax dev12

Lighting, materials, FX

Page 89: Rebooting the insomniac tools pax dev12

The problem (Lighting, materials, FX)

New Tech Spaces

Culture

Efficiency Lightmap bottleneck

Page 90: Rebooting the insomniac tools pax dev12

The problem (Lighting, materials, FX)

New Tech Spaces

Culture

Efficiency Lightmap bottleneck

Realtime everything

Page 91: Rebooting the insomniac tools pax dev12

The problem (Lighting, materials, FX)

New Tech Spaces

Culture

Efficiency Lightmap bottleneck

Realtime everything

Build-time optimizations

Page 92: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit

Page 93: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Page 94: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials

Page 95: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Page 96: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters

Page 97: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Page 98: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify

Page 99: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify Anything moves, changes

Page 100: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify Anything moves, changes

Occlusion

Page 101: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify Anything moves, changes

Occlusion Memory, accuracy

Page 102: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify Anything moves, changes

Occlusion Memory, accuracy

Indoor/Outdoor

Page 103: Rebooting the insomniac tools pax dev12

Lighting, materials, FX (sub-problems)

Realtime edit Lighter iteration

Artist materials Styles, optimization

Game parameters Runtime advantage

Runtime classify Anything moves, changes

Occlusion Memory, accuracy

Indoor/Outdoor Optimization

Page 104: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

Page 105: Rebooting the insomniac tools pax dev12

Animation, cinematics

Page 106: Rebooting the insomniac tools pax dev12

Animation, cinematics

Page 107: Rebooting the insomniac tools pax dev12

Animation, cinematics

Page 108: Rebooting the insomniac tools pax dev12

Animation, cinematics

Page 109: Rebooting the insomniac tools pax dev12

The problem (Animation, cinematics)

New Tech Spaces

Culture

Efficiency Gameplay and post cost

Page 110: Rebooting the insomniac tools pax dev12

The problem (Animation, cinematics)

New Tech Spaces

Culture

Efficiency Gameplay and post cost

Graphics vs. Animation

Page 111: Rebooting the insomniac tools pax dev12

The problem (Animation, cinematics)

New Tech Spaces

Culture

Efficiency Gameplay and post cost

Graphics vs. Animation

Gameplay custom

Page 112: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks

Page 113: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Page 114: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures

Page 115: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Page 116: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers

Page 117: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Page 118: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph

Page 119: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph Size, reuse

Page 120: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph Size, reuse

Variations

Page 121: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph Size, reuse

Variations Reuse, character iteration

Page 122: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph Size, reuse

Variations Reuse, character iteration

Events (tricky!)

Page 123: Rebooting the insomniac tools pax dev12

Animation, cinematics (sub-problems)

Performance tracks Lighting, camera, events

Gestures Runtime adapt

Anim drivers Animator control

Blend graph Size, reuse

Variations Reuse, character iteration

Events (tricky!) What to expect

Page 124: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

6. Debugging

Page 125: Rebooting the insomniac tools pax dev12

Debugging

Page 126: Rebooting the insomniac tools pax dev12

Debugging

Page 127: Rebooting the insomniac tools pax dev12

Debugging

Page 128: Rebooting the insomniac tools pax dev12

Debugging

Page 129: Rebooting the insomniac tools pax dev12

The problem (Debugging)

New Tech Spaces

Culture

Efficiency Speed to decision

Page 130: Rebooting the insomniac tools pax dev12

The problem (Debugging)

New Tech Spaces

Culture

Efficiency Speed to decision

Separate analysis

Page 131: Rebooting the insomniac tools pax dev12

The problem (Debugging)

New Tech Spaces

Culture

Efficiency Speed to decision

Separate analysis

"Actionable"

Page 132: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis

Page 133: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Page 134: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect

Page 135: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Page 136: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate

Page 137: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Page 138: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu

Page 139: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu Controls & UX

Page 140: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu Controls & UX

Peek/Poke from JS

Page 141: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu Controls & UX

Peek/Poke from JS VS memory edit

Page 142: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu Controls & UX

Peek/Poke from JS VS memory edit

JSON reports

Page 143: Rebooting the insomniac tools pax dev12

Debugging (sub-problems)Asset analysis Relationships & pivots

Game live connect Runtime-only info

Actionable > Accurate Few understand

Debug menu Controls & UX

Peek/Poke from JS VS memory edit

JSON reports UI formatting

Page 144: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

6. Debugging

Page 145: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

6. Debugging

No "Right" or "Best" Answer...

Page 146: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

6. Debugging

...but some do suck less than others.

Page 147: Rebooting the insomniac tools pax dev12

The problem (6 examples)

New Tech Spaces

Culture

Efficiency 1. Tools UI

2. Tools server

3. Asset management

4. Lighting, materials, FX

5. Animation, cinematics

6. Debugging

Twitter: @mike_acton

@insomniacgames