This full day tutorial aims to provide a comprehensive technical overview of the use of Lua script and the Lua Virtual Machine in modern game engines, with a particular emphasis on the challenges of deploying a scripting solution on current console hardware. We will open with an introduction to Lua, followed by 3 case studies of Lua usage in shipped games, and close with a more technical discussion of optimizing Lua for game consoles.
10 - 10:10am:
Opening Remarks
Speaker: Steve Collins (Course Organizer), Kore Virtual Machine
10:10 - 11am:
History of Lua & History of Lua in Games
Speakers: Roberto Ierusalimschy, PUC Rio & Bret Mogilefsky, SCEA
Roberto, the creator of Lua, will talk about the history of Lua and how the design goals for the language have made it attractive for game production. Bret will describe the industry's first usage of Lua in games, in the Grim Fandango engine.
11 - 11:20am COFFEE BREAK
11:20am - 11:55am (35 mins):
Lua for Game Production
Speaker: Steve Collins, Kore Virtual Machines
Steve will give a quick overview of Lua and how to use it within a modern game engine including binding to the engine, memory management and garbage collection approaches, debugging, plus common patterns including object models, state machines, events/callbacks.
11:55 - 12:30pm (35 mins):
Lua in Fable II
Speaker: Jonathan Shaw, Lionhead
Jonathan will talk about AI and behavior scripting using Lua and Lua related tools in Fable II.
12:30 - 2pm LUNCH
2 - 2:40pm (40 mins):
Optimizing Lua for Game Consoles
Speakers: Allan Murphy, Microsoft
Allan will discuss strategies for optimization of the Lua VM on modern game consoles including topics such as instruction cache optimizations for the Lua interpreter on in-order Power PC cores.
2:40 - 3:20pm (40 mins):
Lua in Brutal Legend
Speaker:Paul Du Bois, DoubleFine
Paul will discuss use of Lua in DoubleFine's latest work, focusing in particular on mission scripting and testing.
3:20 - 4pm (40 mins):
Lua and Adaptive Audio
Speaker:Don Veca, Sledgehammer Games/Activision
Don will describe the general use of Lua to create adaptive audio systems, showing sophisticated binding of procedural audio effects to game events.
4 - 4:20pm COFFEE BREAK
4:20 - 5pm (40 mins):
Lua on the PS3
Speaker: R.J. Mical, Sony Computer Entertainment America R&D
RJ will cover issues relating to implementing Lua on the PS3 and specifically examine the potential of executing Lua script on an SPU..
5 - 5:40pm (40 mins):
Panel Discussion: Is Lua the ultimate game scripting language?
A panel discussion with all speakers presented and moderated by Jeremy Gordon (founder Secret Level).
This will include a twitter feed element: audience members may ask questions by twitter; the feed will be displayed live and the moderator can choose questions from the feed.
5:40 - 6pm:
Q&A/Wrapup