
Lua is a powerful light-weight programming language designed for extending applications. Huh!? That’s ‘leet speak’ for making game’s cooler. Lua (www.lua.org) is a small development team in Brazil that has designed a programming/scripting language that has become adopted in many of the new games in today’s market. What does this mean to us gamers? It means that companies are extending the ability for us the customers to create add-ons, plug-ins, and enhance game play experience past the shipping titles intentions!
You may not be a programmer or even interested in programming but if you’re games have Lua capabilities that means others (geeks mainly) might already have plug-in;s and add-on’s that you can download for free.
Think of Lua as “javascript for games.” Many people understand the web, and a great number of us actually have designed web-pages in some shape and or form. Those that have used the Internet for shopping or browsing may have experienced the beauties of javascript by making pages more interactive, more unique, and more customizable. Lua has the same purpose in mind, even if it’s not entirely focused on us gamers. Lua is used for many practical computer needs such as controlling robots, bench testing snowmobiles, image capturing hardware/software, text editors, and of course games!
What does it do for us gamers exactly? What are some examples you may ask. Most that I’ve seen to date are RPG game specifically, but many developers do not advertise their use of Lua because its used primarily internally to the game ( Baldures Gate is a good example of this). Companies are now giving us the ability to build our own game levels, customize user interfaces, and enhance Artificial Intelligence.
Neverwinter Nights
Neverwinter nights (NWN) is an RPG game (online and offline) that uses Lua heavily for level design, level triggers, and party member AI. Many folks that may have NWN and have downloaded modules from 3rd party vendors may think they worked tightly with the NWN team to develope there modules. This is not entirely true. The NWN team has built a great programming subsystem based around Lua for people to create brand new environments, new spells, and game enhancements.
The NWN team also was kind enough to build a complete documentation set and editor interface for designing new plug-ins and add-ons and modules for the NWN core game. You can script up a waitress in a bar to serve drinks to random patrons, you can build level triggers that will cause you to fall to the ground, become drunk, and light on fire. For those level designer folks you can pre-script entire environments, user-interaction with AI, shops and bartering, new spells and even enhanced D&D rules that have been left out of the core game functionality. All of this done thanks to the Lua programming interfaces.
World of Warcraft
The Blizzard crew has built entire libraries for users to “hook” into there game client and write brand new interface options, tutorials, short-cuts, and enhancements to the game map and quest system. Is this cheating? It’s hard to say, but it’s all legal to the Blizzard Team because none of the add-ons allow for “macroing” (repeating user movements over and over) or really allow your character to automatically move in combat. Most features are interface-specific to add flare, and fun to the core WoW game.
There are plenty of smart folks out there adding neat add-ons for WoW. One nice guy is a few versions into his “auction” add-on which allows you to scan the entire auction house for all prices/patterns/items and build a small database. Once that database is built you can “mouse over” an item in your inventory and it will tell you if it has been seen on auction, what the going rate is, what it believes you can get for a price, and what a typical bidder is going to do. It also assists you when auctioning items to give you a sense of the price you can get, and attempts to build a price to undercut your competition by 5%. This is very handy for those folks that want to start selling stuff on auction.
There is an add-on for WoW that will track where your finding good treasure chests, herbs, iron deposits, etc. It then marks it on your map so you can “farm” there in the future w/o having to take notes on a notepad (oh, there is also a notepad add-on, and an instant-messenger type client for WoW users).
The WoW add-ons do not allow you to build a whole new game/realm/environment like NWN but they do allow you to add neat features to your client and even fix bugs in there game application (just write a Lua script that works around the bug, or fixes it completely). This also allows the WoW team to see what scripts are popular and perhaps make the games own version that can be permanent to the game system. Very neat indeed.
Seems powerful!
You bet! The ability for customers to build there own game levels, to add interface enhancements or generic tutorials for new gamers is amazing. For those first-person-shooter (FPS) players I could see another host of neat ideas if the developers were to add Lua into there game system. Perhaps a Lua script add-on that automatically figures out (based on distance) the chance to hit with a specific weapon and add a text status on the bottom of your screen that states “You have a 30% chance to hit player1 with a shotgun at your current distance” based on gathering statistics that you would already know about (but don’t want to do the math in your head).
Perhaps this would make a great addition to a Texas Hold’em game too (your opponent has a 10% change to be holding a flush right now.)
When purchasing a game it might be worthwhile doing a little research to see if its been build with a Lua interface for extendibility. This may mean that you can expect some great add-ons, and plug-ins for popular games that hit the market. For those that want to be game developers but lack the skills or resume you can start by mod’ing games that supply Lua support to there systems. You can see some of the Lua projects on the Lua Uses webpage.
I hope that Lua becomes more dominant in the gaming market in the future. It offers great advantages to hard-core gamers (that like to tinker with programming), more features for users that want to download add-ons, and makes overall game development and level development (for both in-house developers, and hobbyist) easier and more fun.
World of Warcraft MODS/ADDONS:
http://www.curse-gaming.com/mod.php
http://capnbry.net/wow/
Neverwinter Nights tool builder site:
http://nwn.bioware.com/builders/
Neverwinter night fan modules and add-ons: http://nwn.bioware.com/links/viewcat.html?c=5
For those programmer wanna-be's:
http://www.lua.org/
For those that want to know more about Lua: http://directory.google.com/Top/Computers/Programming/Languages/Lua/
Think of Lua as “javascript for games.” Many people understand the web, and a great number of us actually have designed web-pages in some shape and or form. Those that have used the Internet for shopping or browsing may have experienced the beauties of javascript by making pages more interactive, more unique, and more customizable. Lua has the same purpose in mind, even if it’s not entirely focused on us gamers. Lua is used for many practical computer needs such as controlling robots, bench testing snowmobiles, image capturing hardware/software, text editors, and of course games!
What does it do for us gamers exactly? What are some examples you may ask. Most that I’ve seen to date are RPG game specifically, but many developers do not advertise their use of Lua because its used primarily internally to the game ( Baldures Gate is a good example of this). Companies are now giving us the ability to build our own game levels, customize user interfaces, and enhance Artificial Intelligence.
Neverwinter Nights
Neverwinter nights (NWN) is an RPG game (online and offline) that uses Lua heavily for level design, level triggers, and party member AI. Many folks that may have NWN and have downloaded modules from 3rd party vendors may think they worked tightly with the NWN team to develope there modules. This is not entirely true. The NWN team has built a great programming subsystem based around Lua for people to create brand new environments, new spells, and game enhancements.
The NWN team also was kind enough to build a complete documentation set and editor interface for designing new plug-ins and add-ons and modules for the NWN core game. You can script up a waitress in a bar to serve drinks to random patrons, you can build level triggers that will cause you to fall to the ground, become drunk, and light on fire. For those level designer folks you can pre-script entire environments, user-interaction with AI, shops and bartering, new spells and even enhanced D&D rules that have been left out of the core game functionality. All of this done thanks to the Lua programming interfaces.
World of Warcraft
The Blizzard crew has built entire libraries for users to “hook” into there game client and write brand new interface options, tutorials, short-cuts, and enhancements to the game map and quest system. Is this cheating? It’s hard to say, but it’s all legal to the Blizzard Team because none of the add-ons allow for “macroing” (repeating user movements over and over) or really allow your character to automatically move in combat. Most features are interface-specific to add flare, and fun to the core WoW game.
There are plenty of smart folks out there adding neat add-ons for WoW. One nice guy is a few versions into his “auction” add-on which allows you to scan the entire auction house for all prices/patterns/items and build a small database. Once that database is built you can “mouse over” an item in your inventory and it will tell you if it has been seen on auction, what the going rate is, what it believes you can get for a price, and what a typical bidder is going to do. It also assists you when auctioning items to give you a sense of the price you can get, and attempts to build a price to undercut your competition by 5%. This is very handy for those folks that want to start selling stuff on auction.
There is an add-on for WoW that will track where your finding good treasure chests, herbs, iron deposits, etc. It then marks it on your map so you can “farm” there in the future w/o having to take notes on a notepad (oh, there is also a notepad add-on, and an instant-messenger type client for WoW users).
The WoW add-ons do not allow you to build a whole new game/realm/environment like NWN but they do allow you to add neat features to your client and even fix bugs in there game application (just write a Lua script that works around the bug, or fixes it completely). This also allows the WoW team to see what scripts are popular and perhaps make the games own version that can be permanent to the game system. Very neat indeed.
Seems powerful!
You bet! The ability for customers to build there own game levels, to add interface enhancements or generic tutorials for new gamers is amazing. For those first-person-shooter (FPS) players I could see another host of neat ideas if the developers were to add Lua into there game system. Perhaps a Lua script add-on that automatically figures out (based on distance) the chance to hit with a specific weapon and add a text status on the bottom of your screen that states “You have a 30% chance to hit player1 with a shotgun at your current distance” based on gathering statistics that you would already know about (but don’t want to do the math in your head).
Perhaps this would make a great addition to a Texas Hold’em game too (your opponent has a 10% change to be holding a flush right now.)
When purchasing a game it might be worthwhile doing a little research to see if its been build with a Lua interface for extendibility. This may mean that you can expect some great add-ons, and plug-ins for popular games that hit the market. For those that want to be game developers but lack the skills or resume you can start by mod’ing games that supply Lua support to there systems. You can see some of the Lua projects on the Lua Uses webpage.
I hope that Lua becomes more dominant in the gaming market in the future. It offers great advantages to hard-core gamers (that like to tinker with programming), more features for users that want to download add-ons, and makes overall game development and level development (for both in-house developers, and hobbyist) easier and more fun.
World of Warcraft MODS/ADDONS:
http://www.curse-gaming.com/mod.php
http://capnbry.net/wow/
Neverwinter Nights tool builder site:
http://nwn.bioware.com/builders/
Neverwinter night fan modules and add-ons: http://nwn.bioware.com/links/viewcat.html?c=5
For those programmer wanna-be's:
http://www.lua.org/
For those that want to know more about Lua: http://directory.google.com/Top/Computers/Programming/Languages/Lua/