lua and adaptive audio - don veca (activision)

54
Lua Scripting in Game Production Adaptive Audio

Upload: kore-vm

Post on 02-Jul-2015

3.580 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Lua and adaptive audio - Don Veca (Activision)

Lua Scripting in Game Production

Adaptive Audio

Page 2: Lua and adaptive audio - Don Veca (Activision)

Introduction

Who am I, and why am I here?

Page 3: Lua and adaptive audio - Don Veca (Activision)

Don Veca, Audio DirectorVisceral GamesElectronic Arts

1992 - 2009

Page 4: Lua and adaptive audio - Don Veca (Activision)

Don Veca, Audio DirectorSledgehammer Games

Activision

2010 - Present

Page 5: Lua and adaptive audio - Don Veca (Activision)

Disclaimer

• Discussion: Limited to very general and basic use of Lua for game audio.

Page 6: Lua and adaptive audio - Don Veca (Activision)

Disclaimer

• Discussion: Limited to very general and basic use of Lua for game audio.

• EA: Anything I say can and will be used against me in a court of law.

Page 7: Lua and adaptive audio - Don Veca (Activision)

Disclaimer

• Discussion: Limited to very general and basic use of Lua for game audio.

• EA: Anything I say can and will be used against me in a court of law.

• Activision: My bonus will be inversely proportional to unannounced information disclosed.

Page 8: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Page 9: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Page 10: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Page 11: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Page 12: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Sophisticated procedural audio

Page 13: Lua and adaptive audio - Don Veca (Activision)

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Sophisticated procedural audio

Powerful adaptive audio systems

Page 14: Lua and adaptive audio - Don Veca (Activision)

Procedural Audio

Common Audio Scripting Languages

Max/MSP

Pd (Pure Data)

SuperCollider

Csound

Page 15: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Pros:

Lots of sound designers love it.

Page 16: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Page 17: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Great for experimentation/iteration.

Page 18: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Great for experimentation/iteration.

Sophisticated adaptive audio systems.

Page 19: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Cons:

Most game programmers hate it.

Page 20: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Page 21: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Can become very unreadable.

Page 22: Lua and adaptive audio - Don Veca (Activision)

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Can become very unreadable.

Difficult to debug and maintain.

Page 23: Lua and adaptive audio - Don Veca (Activision)

Lua is a great compromiseBecause:

Most game programmers like it. Technical sound designers love it. Efficient runtime. Very readable. Easy to debug and maintain. Great for experimentation/iteration. Sophisticated adaptive audio systems. Extremely flexible.

Page 24: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

Page 25: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling

Page 26: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control

Page 27: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control• Temporal Audio Control

Page 28: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control• Temporal Audio Control• Run-time Audio Binding

Page 29: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control• Temporal Audio Control• Run-time Audio Binding• Prototyping

Page 30: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control• Temporal Audio Control• Run-time Audio Binding• Prototyping• Adaptive Audio Systems

Page 31: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua NOT good for?

Page 32: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua NOT good for?

• Audio DSP

Page 33: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua NOT good for?

• Audio DSP• System-level Programming

Page 34: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua NOT good for?

• Audio DSP• System-level Programming• Frame-rate-level Processing*

Page 35: Lua and adaptive audio - Don Veca (Activision)

What audio applications is Lua NOT good for?

• Audio DSP• System-level Programming• Frame-rate-level Processing*• Tools

Page 36: Lua and adaptive audio - Don Veca (Activision)

Lua Audio Code Examples

• High-level Event Handling

Page 37: Lua and adaptive audio - Don Veca (Activision)

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

Page 38: Lua and adaptive audio - Don Veca (Activision)

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

• Temporal Audio Control

Page 39: Lua and adaptive audio - Don Veca (Activision)

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

• Temporal Audio Control

• Adaptive Audio Systems

Page 40: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

Page 41: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

Page 42: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

Page 43: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

Page 44: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

• Vehicle Systems

Page 45: Lua and adaptive audio - Don Veca (Activision)

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

• Vehicle Systems

• Adaptive Mixing & Ducking

Page 46: Lua and adaptive audio - Don Veca (Activision)

Adaptive Car Engine Example

Page 47: Lua and adaptive audio - Don Veca (Activision)

Adaptive Car Engine Example

• FMod Version

Page 48: Lua and adaptive audio - Don Veca (Activision)

Adaptive Car Engine Example

• FMod Version

• Max/MSP Version

Page 49: Lua and adaptive audio - Don Veca (Activision)

Adaptive Car Engine Example

• FMod Version

• Max/MSP Version

• Lua Version

Page 50: Lua and adaptive audio - Don Veca (Activision)

Conclusion…

Page 51: Lua and adaptive audio - Don Veca (Activision)

Conclusion

• Use Lua for game audio!

Page 52: Lua and adaptive audio - Don Veca (Activision)

Conclusion

• Use Lua for game audio!

• New role: Technical Audio Artist.

Page 53: Lua and adaptive audio - Don Veca (Activision)

Conclusion

• Use Lua for game audio!

• New role: Technical Audio Artist.

• Adaptive Audio Systems are the Future!

Page 54: Lua and adaptive audio - Don Veca (Activision)

Questions?