Lua Scripting in Game Production Adaptive Audio
Introduction  Who am I, and why am I here?
Don Veca, Audio Director Visceral Games Electronic Arts 1992 - 2009
Don Veca, Audio Director Sledgehammer Games Activision 2010 - Present
Disclaimer <ul><li>Discussion:   Limited to very general and basic use of Lua for game audio. </li></ul>
Disclaimer <ul><li>Discussion:   Limited to very general and basic use of Lua for game audio. </li></ul><ul><li>EA:   Anyt...
Disclaimer <ul><li>Discussion:   Limited to very general and basic use of Lua for game audio. </li></ul><ul><li>EA:   Anyt...
Why Use Lua for Game Audio?
Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul>
Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experiment...
Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experiment...
Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experiment...
Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experiment...
Procedural Audio Common Audio Scripting Languages <ul><li>Max/MSP </li></ul><ul><li>Pd ( Pure Data ) </li></ul><ul><li>Sup...
Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul>
Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li>...
Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li>...
Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li>...
Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul>
Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive....
Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive....
Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive....
Lua is a great compromise Because: <ul><li>Most game programmers like it. </li></ul><ul><li>Technical sound designers love...
What audio applications is Lua good for?
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul>
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul>
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></u...
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></u...
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></u...
What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></u...
What audio applications is Lua  NOT  good for?
What audio applications is Lua  NOT  good for? <ul><li>Audio DSP </li></ul>
What audio applications is Lua  NOT  good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul>
What audio applications is Lua  NOT  good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul><ul>...
What audio applications is Lua  NOT  good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul><ul>...
Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul>
Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul>
Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Tempora...
Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Tempora...
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul>
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul>
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul...
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul...
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul...
Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul...
Adaptive Car Engine Example
Adaptive Car Engine Example <ul><li>FMod Version </li></ul>
Adaptive Car Engine Example <ul><li>FMod Version </li></ul><ul><li>Max/MSP Version </li></ul>
Adaptive Car Engine Example <ul><li>FMod Version </li></ul><ul><li>Max/MSP Version </li></ul><ul><li>Lua Version </li></ul>
Conclusion…
Conclusion <ul><li>Use Lua for game audio! </li></ul>
Conclusion <ul><li>Use Lua for game audio! </li></ul><ul><li>New role:  Technical Audio Artist. </li></ul>
Conclusion <ul><li>Use Lua for game audio! </li></ul><ul><li>New role:  Technical Audio Artist. </li></ul><ul><li>Adaptive...
Questions?
Upcoming SlideShare
Loading in …5
×

Lua and adaptive audio - Don Veca (Activision)

3,705
-1

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,705
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lua and adaptive audio - Don Veca (Activision)

  1. 1. Lua Scripting in Game Production Adaptive Audio
  2. 2. Introduction Who am I, and why am I here?
  3. 3. Don Veca, Audio Director Visceral Games Electronic Arts 1992 - 2009
  4. 4. Don Veca, Audio Director Sledgehammer Games Activision 2010 - Present
  5. 5. Disclaimer <ul><li>Discussion: Limited to very general and basic use of Lua for game audio. </li></ul>
  6. 6. Disclaimer <ul><li>Discussion: Limited to very general and basic use of Lua for game audio. </li></ul><ul><li>EA: Anything I say can and will be used against me in a court of law. </li></ul>
  7. 7. Disclaimer <ul><li>Discussion: Limited to very general and basic use of Lua for game audio. </li></ul><ul><li>EA: Anything I say can and will be used against me in a court of law. </li></ul><ul><li>Activision: My bonus will be inversely proportional to unannounced information disclosed. </li></ul>
  8. 8. Why Use Lua for Game Audio?
  9. 9. Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul>
  10. 10. Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experimentation </li></ul>
  11. 11. Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experimentation </li></ul><ul><li>Iteration </li></ul>
  12. 12. Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experimentation </li></ul><ul><li>Iteration </li></ul><ul><li>Sophisticated procedural audio </li></ul>
  13. 13. Why Use Lua for Game Audio? Great game audio requires: <ul><li>Great Source Material & Talent </li></ul><ul><li>Experimentation </li></ul><ul><li>Iteration </li></ul><ul><li>Sophisticated procedural audio </li></ul><ul><li>Powerful adaptive audio systems </li></ul>
  14. 14. Procedural Audio Common Audio Scripting Languages <ul><li>Max/MSP </li></ul><ul><li>Pd ( Pure Data ) </li></ul><ul><li>SuperCollider </li></ul><ul><li>Csound </li></ul>
  15. 15. Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul>
  16. 16. Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li></ul>
  17. 17. Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li></ul><ul><li>Great for experimentation/iteration. </li></ul>
  18. 18. Visual Programming Languages Pros: <ul><li>Lots of sound designers love it. </li></ul><ul><li>Great for prototyping. </li></ul><ul><li>Great for experimentation/iteration. </li></ul><ul><li>Sophisticated adaptive audio systems. </li></ul>
  19. 19. Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul>
  20. 20. Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive. </li></ul>
  21. 21. Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive. </li></ul><ul><li>Can become very unreadable. </li></ul>
  22. 22. Visual Programming Languages Cons: <ul><li>Most game programmers hate it. </li></ul><ul><li>Game runtime can be expensive. </li></ul><ul><li>Can become very unreadable. </li></ul><ul><li>Difficult to debug and maintain. </li></ul>
  23. 23. Lua is a great compromise Because: <ul><li>Most game programmers like it. </li></ul><ul><li>Technical sound designers love it. </li></ul><ul><li>Efficient runtime. </li></ul><ul><li>Very readable. </li></ul><ul><li>Easy to debug and maintain. </li></ul><ul><li>Great for experimentation/iteration. </li></ul><ul><li>Sophisticated adaptive audio systems. </li></ul><ul><li>Extremely flexible. </li></ul>
  24. 24. What audio applications is Lua good for?
  25. 25. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul>
  26. 26. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul>
  27. 27. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul>
  28. 28. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul><ul><li>Run-time Audio Binding </li></ul>
  29. 29. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul><ul><li>Run-time Audio Binding </li></ul><ul><li>Prototyping </li></ul>
  30. 30. What audio applications is Lua good for? <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul><ul><li>Run-time Audio Binding </li></ul><ul><li>Prototyping </li></ul><ul><li>Adaptive Audio Systems </li></ul>
  31. 31. What audio applications is Lua NOT good for?
  32. 32. What audio applications is Lua NOT good for? <ul><li>Audio DSP </li></ul>
  33. 33. What audio applications is Lua NOT good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul>
  34. 34. What audio applications is Lua NOT good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul><ul><li>Frame-rate-level Processing* </li></ul>
  35. 35. What audio applications is Lua NOT good for? <ul><li>Audio DSP </li></ul><ul><li>System-level Programming </li></ul><ul><li>Frame-rate-level Processing* </li></ul><ul><li>Tools </li></ul>
  36. 36. Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul>
  37. 37. Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul>
  38. 38. Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul>
  39. 39. Lua Audio Code Examples <ul><li>High-level Event Handling </li></ul><ul><li>Simple Audio Control </li></ul><ul><li>Temporal Audio Control </li></ul><ul><li>Adaptive Audio Systems </li></ul>
  40. 40. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul>
  41. 41. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul>
  42. 42. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul><li>Environmental State Machines </li></ul>
  43. 43. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul><li>Environmental State Machines </li></ul><ul><li>Character Run-Time Audio Binding </li></ul>
  44. 44. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul><li>Environmental State Machines </li></ul><ul><li>Character Run-Time Audio Binding </li></ul><ul><li>Vehicle Systems </li></ul>
  45. 45. Examples of Adaptive Audio Systems <ul><li>Adaptive Music Systems </li></ul><ul><li>Adaptive Ambient Systems </li></ul><ul><li>Environmental State Machines </li></ul><ul><li>Character Run-Time Audio Binding </li></ul><ul><li>Vehicle Systems </li></ul><ul><li>Adaptive Mixing & Ducking </li></ul>
  46. 46. Adaptive Car Engine Example
  47. 47. Adaptive Car Engine Example <ul><li>FMod Version </li></ul>
  48. 48. Adaptive Car Engine Example <ul><li>FMod Version </li></ul><ul><li>Max/MSP Version </li></ul>
  49. 49. Adaptive Car Engine Example <ul><li>FMod Version </li></ul><ul><li>Max/MSP Version </li></ul><ul><li>Lua Version </li></ul>
  50. 50. Conclusion…
  51. 51. Conclusion <ul><li>Use Lua for game audio! </li></ul>
  52. 52. Conclusion <ul><li>Use Lua for game audio! </li></ul><ul><li>New role: Technical Audio Artist. </li></ul>
  53. 53. Conclusion <ul><li>Use Lua for game audio! </li></ul><ul><li>New role: Technical Audio Artist. </li></ul><ul><li>Adaptive Audio Systems are the Future! </li></ul>
  54. 54. Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×