[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: The use of Lua in games
- From: "Josh Jensen" <joshj@...>
- Date: Fri, 3 Aug 2001 15:47:27 -0700
At one point, Roberto asked what titles are using Lua. I wanted to
reply at the time, but I was unable to. Since the title I am working on
is close to ship, I just wanted to let the Lua team know that Lua is
being used extensively in the Xbox title, Amped: Freestyle Snowboarding
(http://www.xbox.com/Games/sports/amped.htm) from Microsoft (yes...
Microsoft ;) ).
Lua is specifically being used to:
* Read/write configuration files.
* Read/write save games.
* Maintain a database of parts so you can stylize your boarder with
different coats, hats, boards, etc.
* The user interface. All GUI management and flow is done via Lua
scripts. Even the UI while the "simulation" part of Amped is running is
a Lua script. The UI in Amped is extensive, and Lua helped make it
* Network stats and debugging. There is an MFC user interface for stats
and tweakers while Amped is running. Setup of stats/tweakers is done
via a Lua script. Whenever a value is tweaked, a string in the form of
a Lua function call is sent across the network to Amped. Amped then
runs the function and the value is updated accordingly. New stats types
are added transparently to the debugger and only need a callback
function on the game end. (This code, of course, will not ship with the
* The UI Editor. Since the Amped UI description is a set of Lua
scripts, the UI editor is able to read and edit it. No game code needed
to be included for data structures since the data structures always
remain in the script.
* Other forms of communication with Amped via utilities on the Windows
machine are performed via Lua function calls sent as network strings.
* Remote Lua Debugging. What better way to debug Lua scripts than to
use Lua itself as the communication mechanism.
* A whole host of tools use it for data formats.
* ... and a bunch of other items ...
Anyway, I am very pleased to have such a valuable tool (Lua) at our
disposal. While any of the above items could have been hand-written,
with Lua, most tasks became just basic hookup. Lua 4.1 Alpha came JUST
in time, as it became necessary to multithread Lua scripts (works
fantastic, although it did require some tweaks to the Lua code).
And the best part is that other people here have become hooked on Lua,
Thanks again to the Lua team!
Amped: Freestyle Snowboarding