lua and adaptive audio - don veca (activision)

Post on 02-Jul-2015

3.577 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lua Scripting in Game Production

Adaptive Audio

Introduction

Who am I, and why am I here?

Don Veca, Audio DirectorVisceral GamesElectronic Arts

1992 - 2009

Don Veca, Audio DirectorSledgehammer Games

Activision

2010 - Present

Disclaimer

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

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.

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.

Why Use Lua for Game Audio?

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Sophisticated procedural audio

Why Use Lua for Game Audio?

Great game audio requires:

Great Source Material & Talent

Experimentation

Iteration

Sophisticated procedural audio

Powerful adaptive audio systems

Procedural Audio

Common Audio Scripting Languages

Max/MSP

Pd (Pure Data)

SuperCollider

Csound

Visual Programming Languages

Pros:

Lots of sound designers love it.

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Great for experimentation/iteration.

Visual Programming Languages

Pros:

Lots of sound designers love it.

Great for prototyping.

Great for experimentation/iteration.

Sophisticated adaptive audio systems.

Visual Programming Languages

Cons:

Most game programmers hate it.

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Can become very unreadable.

Visual Programming Languages

Cons:

Most game programmers hate it.

Game runtime can be expensive.

Can become very unreadable.

Difficult to debug and maintain.

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.

What audio applications is Lua good for?

What audio applications is Lua good for?

• High-level Event Handling

What audio applications is Lua good for?

• High-level Event Handling• Simple Audio Control

What audio applications is Lua good for?

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

What audio applications is Lua good for?

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

What audio applications is Lua good for?

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

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

What audio applications is Lua NOT good for?

What audio applications is Lua NOT good for?

• Audio DSP

What audio applications is Lua NOT good for?

• Audio DSP• System-level Programming

What audio applications is Lua NOT good for?

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

What audio applications is Lua NOT good for?

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

Lua Audio Code Examples

• High-level Event Handling

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

• Temporal Audio Control

Lua Audio Code Examples

• High-level Event Handling

• Simple Audio Control

• Temporal Audio Control

• Adaptive Audio Systems

Examples of Adaptive Audio Systems

• Adaptive Music Systems

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

• Vehicle Systems

Examples of Adaptive Audio Systems

• Adaptive Music Systems

• Adaptive Ambient Systems

• Environmental State Machines

• Character Run-Time Audio Binding

• Vehicle Systems

• Adaptive Mixing & Ducking

Adaptive Car Engine Example

Adaptive Car Engine Example

• FMod Version

Adaptive Car Engine Example

• FMod Version

• Max/MSP Version

Adaptive Car Engine Example

• FMod Version

• Max/MSP Version

• Lua Version

Conclusion…

Conclusion

• Use Lua for game audio!

Conclusion

• Use Lua for game audio!

• New role: Technical Audio Artist.

Conclusion

• Use Lua for game audio!

• New role: Technical Audio Artist.

• Adaptive Audio Systems are the Future!

Questions?

top related