Lua Uses

lua-users home
wiki

Here are brief descriptions of a few selected projects around the world that use Lua. (Wikipedia contains a [longer list].) If you know about an exciting project using Lua that is not listed here, please add it.

What is the policy for adding items to this page? Is its purpose to provide high-quality examples of Lua in use, or advertising for any project with a Lua dependency that comes into existence?

Yes, this is a filtered list, but the authors don't want to maintain the filtering algorithm and prefer the community to do the selection. Maybe we can split the list in two, with first major examples, and next a more comprehensive list. -- JeromeVuarand

I don't think a comprehensive list has much point and might become a junkyard of defunct projects which never got off the ground. It's not as if Lua is one or two years old, struggling for adoption, and needing to note every use. As for policy for this page, it seems best to spell it out upfront rather than have an editor deleting entries after the fact and possibly upset someone. --JohnBelmonte


[Simultus]

Software for education and industry for simulating automation systems and devices

Simultus allows the simulation of a device as a whole consisting of a mechanical design and a control program. Simultus software is used for prototyping and testing systems, allowing the user to avoid errors at the production stage.

Look hear for [Quick Start]

How to [install]?


[SmartThings' IoT Hub]

Samsung SmartThings?

SmartThings? is a home IoT platform based around a physical hub that can control Zigbee, Z-Wave, and LAN devices. Individual devices are supported by [Edge Device Drivers] which are written in Lua and are run directly on the hub in a sandboxed environment. Drivers are written on a custom framework that uses a semi-event-based pattern. High-level events can have event handlers registered, which are then run within a [cosock] coroutine thread which allows simple blocking-style socket programming when interacting with devices.


[NSBase]

Database management

Lua is also the native language of NSBase, database management software. Scripting makes it possible to make forms and reports more dynamic. Lua thus integrated makes it possible to create real database management applications.


[Neovim]

Text editor

Neovim is a hyperextensible Vim-based text editor.


[Screvle]

Lieron BVBA

Screvle is a hardware platform that allows building an embedded product without the troubles of embedded development.

Simply browse to the on-board Lua Development Environment and get immediate access to hardware (UART, I2C, SPI, ADC/DAC, PWM, CAN, ...) and software APIs (SMTP & HTTP client, GUI, SD-Card, Settings,...).


[arcapos]

micro systems

arcapos® is a point of sale solution for ticketing, libraries and retail. It is fully extensible using the Lua language. From Lua, you gain access to all peripheral devices, ticket printer, receipt printer, credit card terminals etc.

Contact: Marc Balmer

[Chinese Text Analyser]

Imral Software Pty Ltd

Chinese Text Analyser is a tool for people learning the Chinese language that keeps track of a user's known vocabulary and makes it easy to find text suited to their vocabulary level. It can also be used to extract lists of unknown words and sentences from Chinese text, and for gathering various word frequency statistics.

It exposes a large amount of its core text processing and statistics gathering features to Lua, and users can write Lua scripts that they run from within the application to manipulate text documents and extract useful information.

Contact: [Imral Software]

[Codea]

Codea is an iPad app with visual extensions. It allows you to write Lua code to make visual games and other programs.


[V-REP (Virtual Robot Experimentation Platform)]

V-REP Marc Freese

V-REP is a 3D robot simulator based on a distributed control architecture: Lua scripts (i.e. control programs) can be directly attached to scene objects and run simultaneously in a threaded or non-threaded fashion. This makes V-REP very versatile and ideal for multi-robot applications, and allows users to model robotic systems in a similar fashion as in reality - where control is most of the time also distributed.


[ScriptStudio]

ScriptStudio? is a high-performance algorithmic trading platform that enables users to quickly code, test and deploy trading strategies or order routing scenarios. all trading rules are written in Lua in the embedded Lua editor of ScriptStudio?


[Spring RTS]

Spring RTS is real-time strategy game engine inspired of Total Annihilation, released under GPL v2 License. It use Lua scripting for unit animation, most gaming rules (gadgets) and in-game UI(widgets) as well as AI. All those lua scripts released under GPLv2 compatible licences.


[SimCity 4]

Maxis/Electronic Arts

SimCity 4 continues a long tradition of high-quality city simulation games by Maxis. The game uses Lua for configuring game constants and to control various of its elements including the user interface, tutorials, advisors, and automata. Third-party plugins for SimCity can access these features to define the behavior of custom content.


[World of Warcraft]

Blizzard Entertainment

World of Warcraft is a massively multiplayer role-playing game (MMORPG) which uses Lua as an embedded scripting language for the UI subsystem. This allows rapid prototyping of new features during development, and has the benefit that customers are able to customize and improve their own interface, through mods and addons.

WoW is the world's most popular subscription-based MMORPG, with more than 8 million subscribers.

Contact: [WoW UI Forum]


[Adobe Photoshop Lightroom]

Adobe Systems Incorporated

Adobe Lightroom is "the complete, elegant environment for the art and craft of digital photography from raw capture to creative output". Over 40% of Adobe Lightroom is written in Lua.

Contact: Mark Hamburg


[Warhammer Online: Age of Reckoning]

EA Mythic/EA Games

Warhammer Online is a new MMORP game from EA Mythic (the creators of Dark Age of Camelot). Mythic has been a prolific creator of multiplayer online games since its formation in the mid 1990s. In 2006 the company was bought by Eletronic Arts.

According to Lance Robertson, the Producer of Warhammer Online, "we are aiming for the game interface to be very modifiable; the actual method we have chosen for WAR is to have Lua addons." These Lua mods follow the same popular fashion of World of Warcraft mods, where authors can customize the default Warhammer Online interface all the way to create full new interfaces and functionality.


[Qryos]

[BCZ.com]

Lua / Luajit is used as the backend for data generation, also used together with openresty, the luajit enabled nginx web server. Has enabled lots of possibilities in fast coding and server resource saving as luajit's server footprint is minimal compared with the next commonly used scripting language such as Perl or PHP. Sites powered by [[bczcentral.com]], the IT solution provider arm for [[bcz.com]], uses luajit for analytics and chat messaging as well.


[CryENGINE2]

Crytek

CryENGINE2 is the successor of CryENGINE, the game engine behind Far Cry. Among others, the engine is used by Crysis, a first-person shooter game developed by Crytek and published by Electronic Arts. The use of Lua allows the setup and tweaking of weapons/game parameters, playing of sounds and loading of graphics without touching the C++ code. CryENGINE2 is also used in non-game applications like IMAGTP, a 3-D virtual visualization program.


[Metaplace]

Areae

Metaplace is a next-generation virtual-worlds platform designed to work the way the Web does. Instead of giant custom clients and huge downloads, Metaplace lets you play the same game on any platform that reads its open client standard. It supplies a suite of tools so you can make worlds, and it hosts servers for you so that anyone can connect and play. And the client could be anywhere on the Web.

Metaplace committed to an open markup standard for its network protocol - anyone can write a client for any platform they want. It uses Web standards for everything it could, which is why you can have a game world that is also a website, or use Web data to populate your world. The game logic is written in Lua, so it is easy to make whatever kind of game or world you want.


[FarCry]

Crytek/UbiSoft

FarCry uses Lua extensively for scripting all game events and AI/game logic, both for single and multiplayer game, and for realtime game editing.

Contact: [Marco Corbetta]


[Supreme Commander]

THQ

Supreme Commander (SupCom) is a real-time strategy computer game designed and developed by Gas Powered Games. The game is considered to be the successor to Total Annihilation, which was ranked by GameSpy as the number one real-time strategy game of all time. Lua is the language used by Supreme Commander for most of the high-level game code. Lua is also the language used to write SupCom mods.


[Squeezebox Jive Platform]

Logitech

Jive is a software platform designed to power the development of remote control applications for Squeezebox and Transporter. The key highlights of the Jive platform are the Jive Browser, a resolution and color-depth independent renderer that allows us to power a wide range of display types, from monochrome VFDs to full color LCD screens; and the Jive UI, a new, Lua-based, scalable user interface that can be completely customized by anyone familiar with Lua, a powerful, open-source scripting language.

Contact: Logitech's Streaming Media Systems group


[Garry's Mod]

Garry's Mod is a Half-Life 2 Modification. It won "Mod of the Year" (2005) from ModDB, "PC Mod of the Year" (2005) from GameSpy, and "Best Mod 2005" from PCGamer US. Lua opened a lot of doors to Gmod players, allowing them to script new weapons, gamemodes, and other features. There may never be any addition that was quite as great as Lua.

Contact: [Garry Newman]


[LuaTeX]

LuaTeX is an extended version of pdfTeX using Lua as an embedded scripting language. The LuaTeX projects main objective is to provide an open and configurable variant of TeX while at the same time offering downward compatibility.

The criteria for choosing Lua was that it was freely available, portable, easy to extend with pdfTeX-specific functionality, small footprint, and also fun to work with.

Contact: [Hans Hagen]


[MySQL Proxy]

MySQL AB

MySQL Proxy is a lightweight binary application standing between one or more MySQL clients and a server. The clients connect to the Proxy with the usual credentials, instead of connecting to the server. The Proxy acts as man-in-the-middle between client and server. The Proxy ships with an embedded Lua interpreter. Using Lua, you can define what to do with a query or a result set before the Proxy passes them along.

The power of the Proxy is all in its flexibility, as allowed by the Lua engine. You can intercept the query before it goes to the server, and do everything conceivable with it, like pass it along unchanged, fix spelling mistakes, rewrite the query, etc.


[Nmap]

Insecure.org

Nmap ("Network Mapper") is a free open source utility for network exploration or security auditing. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics. It won Linux Journal's Editor's Choice Award for Best Security Tool, LinuxQuestions.Org Security App of the Year award, and Info World's Best Information Security Product award.

The Nmap scripting language is an embedded Lua interpreter which was extended with libraries for interfacing with Nmap. Lua was chosen because it exceeded in all criteria for Nmap: it is small, distributed under the MIT license, has coroutines which provide a sane method for parallel script execution, was designed with embeddability in mind, has excellent documentation, and has a large and committed community.


[pbLua for the LEGO Mindstorms NXT]

Hempel Design Group

pbLua is an implementation of Lua 5.1 for the LEGO Mindstorms NXT. It is based on the open-source code for the NXT brick provided by LEGO. The low level drivers were modified slightly and then integrated with the Lua sources. pbLua is an alternative text-based programming environment for the NXT that supports coroutines, strings, tables, and limited floating point operations. The NXT is based on the ARM7 micro with 256K of FLASH and 64K of RAM. pbLua looks like a serial port to a PC and connects via USB. It is completely self contained as it runs the parser right on the brick. Eventually, we'll support the Mac and Linux platforms when we figure out how USB gets enumerated on those platforms.

Contact: [Ralph Hempel]


[There]

Makena Technologies

"There" is an online getaway where you can hang out with your friends and meet new ones -- all in a lush 3D environment that's yours to explore and help build. The game is written mostly in C++, served mostly from a scalable Linux cluster, with additional customization using ThereScript, which is Lua plus added functions.


[Lua Player]

Lua Player helps programmer newbies to write their own games in Lua. It provides some game related functions, like image loading and blitting and is available for Sony's Playstation Portable and perhaps later for other platforms.

Contact: [Frank Buss]


Space Shuttle Hazardous Gas Detection System

ASRC Aerospace, Kennedy Space Center, Florida, USA

Lua 4.0 was integrated into the system that is used to monitor gas concentration levels during Space Shuttle launch operations. Launch personnel use Lua to perform some of the more tedious tasks such as long duration leak testing and statistical data collection. Lua was integrated into the Windows application that provides remote control of leak detection equipment installed at the launch pad. The remote control application provides hooks into Lua that allow a Lua script to gain access to the data collected and to issue commands to the leak detection equipment. Lua was chosen mainly because it is an easy language to understand (a benefit for the launch personnel) and it is very easy to integrate into a project.

Contact: [Charles Curley]


[Psychonauts]

Double Fine Productions

Psychonauts is an XBox Action/Adventure game from the mind of Tim Schafer. All of Psychonauts Game logic is implemented via Lua. The Level Designers use Maya to create the geometry for the levels, and then place down markers for Lua controlled Script Entities. This includes all non-player characters, platforms, puzzle pieces. Basically the game engine boots up and places the main player into a static world. Lua scripts then take over and control all interactive elements. Lua is so light and fast! It is AWESOME!

Contact: [Dave Dixon]


[Heroes of Might and Magic V]

Ubisoft/Nival Interactive

Heroes of Might and Magic V (HoMM5) is the fifth installment of the Heroes of Might and Magic computer game series. Lua is used for custom logics programming. The regular game process is programmed in C++, but all the high level functions (as hero movement, spell casting, changing resources or creatures quantity, placing map objects, creating text boxes, etc.) are also accessible from Lua script. Nival Interactive map and game designers use Lua for their needs because the language is simple to study and easy to use by non-programmers. And the programmers like Lua, because it can be easily bound to the existing C++ code and it's powerfull enough for a wide variety of applications.


[S.T.A.L.K.E.R.: Shadow of Chernobyl]

GSC Game World

S.T.A.L.K.E.R.: Shadow of Chernobyl is a game of the genre FPS - "first person shooter". It has sold over 1 million copies for PC worldwide. The project has been developed for 6 years, and included 20 programmers (7 script writers). It uses Lua 5.0.2 with LuaJIT (thanks to Mike Pall). Lua was chosen because of its simplicity, speed, and the availability of an open-source binding library (luabind). Lua is an open-source project with 10 years of history, with a large community, with few bugs, and that has been used in many other FPS games.

Contact: [Dmitriy Iassenev]


[Barracuda Embedded Web Server]

RealTimeLogic

Barracuda provides Lua Server Pages (LSP) for web page authoring. The Barracuda platform is an advanced Embedded Web Server designed for controlling and monitoring embedded industrial applications in real time. The Barracuda Web server has a very small footprint and runs on almost any platform. LSP provides support for most of the Barracuda APIs (cookies, sessions, RPC, etc.) and has built-in Lua-SQL support. Barracuda LSP can be extended with existing Lua libraries. LSP applications can be packaged as ZIP files and/or embedded in the Barracuda web server executable.

Contact: [Real Time Logic]


[BarracudaDrive Server]

RealTimeLogic

BarracudaDrive? transforms your computer and devices such as Raspberry Pi into a powerful and secure online storage system, letting you access and share files from any connected computer or device in the world.

BarracudaDrive? is an application server, and it allows anyone with web and server side experience to extend and/or change the server. BarracudaDrive? supports a server-side scripting language called Lua Server Pages or LSP for short. See the [BarracudaDrive developer page] for more information.

Contact: [Real Time Logic]


[Wireshark - The world's most popular network protocol analyzer]

Wireshark development Team

Wireshark is the world's foremost network protocol analyzer, and is the standard in many industries. Wireshark is used by network professionals around the world for troubleshooting, analysis, software and protocol development, and education. It has all of the standard features you would expect in a protocol analyzer, and several features not seen in any other product. Lua been added to Wireshark as a language for prototyping and scripting. Lua can be used to write dissectors, post-dissectors and taps (a mechanism to fetch data from every frame).

Contact: Ethereal Developers


[Hercule - Olivetti printer firmware]

Olivetti Engineering SA

Hercule is the firmware development platform for Olivetti printers, used in ANY_WAY and MY_WAY series. Lua is used as a configuration script to take the decisions about print modalities, provided desired qualities. This allows the printer driver to behave identically at run time. Additionally, Lua scripts can be executed directly from memory cards, without any host computer, simplifying test and production tasks.

Contact: [Patrick Rapin]


[Giggle]

The Moving Picture Company

Giggle is a renderman procedural DSO developed for the production of visual effects created for the film 'Troy'. This project required the rendering of scenes comprising tens of thousands of battling soldiers,in addition to complex city layouts and particle effects for flames, smoke and dust. The generation of all this geometry was handled almost exclusively at rendertime by Giggle.

Giggle's core functionality comprises approximately 40,000 lines of C++, written by 2 MPC programmers over the course of 9 months. This provides many capabilities including : * loading of geometry, shaders, particle caches and a proprietary cache format for agent simulations. * skinning and other geometry modifiers * procedural geometry generation * kd tree classes for space partitioning * geometry evaluators to perform ray intersections and closest point queries

The functionality is bound into Lua, providing a flexible scripting interface which allows it to be easily adapted to specific tasks. MPC initially chose Lua for its reputation for speed and efficiency as well as for the great simplicity of its API. It has subsequently proved itself through heavy use by a team of 16 or so CG artists and across a renderfarm of over 500 machines.

Since adoption, Giggle's use has been extended to other MPC feature pipelines, and coupled with an interactive interpreter and OpenGL preview renderer to provide interactive script development and debugging.

Contact: [John Haddon]


[Impossible Creatures]

Relic Entertainment Inc

Impossible Creatures is a PC RTS (real time strategy) game released on January 7th 2003. The project has 100's of thousands of lines of code and was written by ~8 programmers. Lua contributed about 50,000 lines of that code.

Lua was used extensively in all aspects of the game. It was used to configure almost every system and subsystem in the game. It defined and controlled the UI, managed the AI, and specified the look of the effects and other graphical entities. It was used in tuning the game in realtime, for editing unit attributes, processing the game rules, automation of tasks, and on and on.

Lua was chosen because of its speed, its simple syntax and its ease to understand for both programmers and designers. It was also easy to debug, modify and itegrate into our C++ game/ tools.

Contact: [Shelby Hubick]


[Digital Fusion]

eyeon Software

Digital Fusion is a fully integrated, non-linear compositing and special effects post-production system for finishing, design and effects creation, used extensively in many feature films, HDTV productions, broadcast video, web-based/multimedia projects and more. Lua forms the basis of 'DFScript', an integrated scripting language added in Digital Fusion v4. This allows the automation of repetitive tasks within the program, as well as facilitating integration into other aspects of a post production facility, such as clip management, 3D renderer integration, EDL/conform integration etc.

Contact: [Peter Loveday]


[ToME]

ToME is a free roguelike game. It is a very evolved and deep game that started its life as a variant of Angband (of one of the variants actually) and has now grown into a wildly new game.

ToME uses Lua to allow customization of the engine, new quests, spells, powers, whatever. A lot is customizable thanks to Lua, and a lot more will be. Lua was selected because of its portability, smallness, clarity of syntax, tables and general neatness :)

Contact: [DarkGod]


[Publique!]

Fábrica Digital

Publique! is a web based content management system. The information structure managed by Publique! can comprise an entire HTML site or just part of it. Publique! can also be used as an XML based web service or as an WML front end. Publique! offers a workflow based on three user types or actors: Authors, Editors and Readers.

There are currently more than 100 sites using Publique in Brazil, Argentina, USA and Japan. The current version (2.2) is available in Portuguese and English. Japanese and Spanish versions are on the way.

Publique started in 1998 and has been developed by a team of 3 to 7 programmers during its lifetime. The production team totals 30.

Publique uses a modified version of [CGILua] as its current web engine and consists in almost 50K lines of Lua and 5K line of C (not including CGILua itself).

Lua has been chosen for its ease of prototyping, speed of execution and extensibility. It is used for almost every feature in the system other than the OS Platform, DBMS and Web Server abstraction layers.

Contact: [André Carregal]


[Tecgraf]

Computer Graphics Technology Group, PUC-Rio

Tecgraf is the result of a partnership between PUC-Rio, the Pontifical Catholic University of Rio de Janeiro, and [PETROBRAS], the Brazilian Oil Company. Tecgraf is Lua's birthplace, and the language has been used there since 1993. Currently, more than thirty programmers in Tecgraf use Lua regularly, who have written more than two hundred thousand lines of code, distributed among dozens of final products.

Contact: [Waldemar Celes]


[Multi Theft Auto: San Andreas]

Multi Theft Auto

Multi Theft Auto (MTA) is a multi-player modification for Rockstar North's Grand Theft Auto game series. Originally founded back in early 2003 as an experimental piece of software, Multi Theft Auto has since grown into an advanced multiplayer platform for gamers and third-party developers. Starting with MTA for Grand Theft Auto: San Andreas, you can play Grand Theft Auto on-line with your friends, in your own custom created maps and gamemodes, powered by the Lua scripting language and currently (as of end 2006) 373 game specific Lua functions! The use of Lua allows you to create virtually any gamemode or feature you like in the game. Examples and other cool Lua stuff can be found at our homepage.

Contact: [Cecill Etheredge]


[Setup Factory]

Indigo Rose Corporation

Setup Factory is a Windows software development tool for creating compact software installers for deployment via web, email, LAN, CD, DVD and floppy disk. Its compact single-file setup creates little runtime overhead (~450KB including uninstall) making it fast and easy to initialize and install. It uses Lua 5.0 as a scripting language to control and customize the installation process.

Contact: [Indigo Rose Software]


[SciTE]

Scintilla.org

SciTE is a SCIntilla based Text Editor. Originally built to demonstrate Scintilla, it has grown to be a generally useful editor with facilities for building and running programs. It is best used for jobs with simple configurations. SciTE features a lot of modern editor features (most provided by Scintilla) like syntax highlighting of code, call tips, autocompletion of code, folding, etc. Since version 1.60, Lua can be used to perform operations on the current buffer, using the full API of the Scintilla component.

Contact: [Neil Hodgson]


[AutoPlay Media Studio]

Indigo Rose Corporation

AutoPlay Media Studio is a unique software tool which allows you to quickly create your own custom Windows software, autoplay/autorun CD/DVD ROMs, and interactive multimedia presentations. Simply drag and drop rich media content such as photos, video, audio, Macromedia Flash content, text, HTML, and more directly into your project. You can tie it all together with a powerful freeform scripting engine based on the popular Lua language. This easy-to-understand scripting language features everything from "for, repeat and while" loops, to "if/else" conditions, functions, variables and tables (associative arrays). We've included a library of 350+ powerful actions (high level functions) along with built-in mathematical and Boolean evaluation. The point-and-click "Action Wizard" and "Code Wizard" make is easy enough that even complete novices can add powerful interactivity to their projects. Advanced developers will appreciate the color syntax highlighting, code completion, function highlighting, as-you-type action prototypes and Ctrl+Space function listings. AutoPlay Media Studio Personal Edition is a free non-commercial version of AutoPlay Media Studio.

Contact: [Indigo Rose Software]


[Homeworld 2]

Relic Entertainment Inc

Homeworld2 is a space PC RTS game that uses Lua4 extensively in almost every aspect of the game, including the UI, AI, game rules, game flow, stats, game attributes, game tuning and automation.

Contact: [Shelby Hubick]


[SpellForce - The Order Of Dawn]

Phenomic Game Development

We use Lua for several parts of the project. We first chose it to be the language for mission scripting (triggers and other stuff), but currently we use Lua for mission scripting, sound scripting, data definition language, general preprocess tools and other uses.

Contact: [Dirk Ringe]


[GUPPY - genetic sequence visualization]

Computational Biology Research Center, AIST Tokyo

GUPPY (Genetic Understanding Perspective Preview sYstem) is a program for visualizing information of sequence databases in molecular biology. This program aims to accelerate computational tasks for various studies in bioinformatics. Our current development involves prototyping additional functions for some of active biological projects. Lua language was embedded in this program in order to facilitate data processing and scripting functions for layout of the sequence map.

This program also features highly interactive operations for smooth scrolling and zooming from the genomic landscape to discrete nucleic acid sequences.

Contact: [Yutaka Ueno]


[PtokaX Direct Connect Hub]

PtokaX Direct Connect Hub is a multi-platform server application for Neo-Modus Direct Connect Peer-To-Peer sharing network. The application is released under GPLv3 Licence. Lua scripting is provided by the core and the API is well documented. The scripts extend basic features of the hub and provide control to programmers without touching the C++ code.


[tomsrtbt - "The most Linux on one floppy disk"]

Tom's NET

tomsrtbt is "The most Linux on one floppy disk" for: rescue recovery panic & emergencies, tools to keep in your shirt pockets, whenever you can't use a hard drive.

Tomsrtbt includes a Lua interpreter with luasocket, md5, and regex libraries as well as vi and emacs editors, along with other tools. Utilities currently written in Lua include: wc unrpm-- undeb-- tee split login head grep dirname cut cmp basename dhcpcd--.

Contact: [Tom Oehser]


[Soul Ride]

Slingshot Game Technology

Soul Ride is a PC snowboarding game featuring expansive real-world terrain and physics-based gameplay and character animation. We used stock Lua 3.2.2 in the engine as a configuration facility and console interface, and for scripting some game events. We dropped Lua into the engine late in development, and it proved to be simple, functional and headache-free.

Contact: [Thatcher Ulrich]


[Crazy Ivan Robot]

Crazy Ivan Robot Team

Crazy Ivan was the robot that won the RoboCup 2000 in Denmark. Crazy Ivan has a "brain" that uses Lua for scripting language. All AI and logic is done in Lua. The brain is running on a Motorola Coldfire 5206e processor, and Lua is modified to use only int's as the Coldfire has no FPU.

Contact: [Erik Hougaard]


[Illarion]

Illarion e.V.

Illarion is an open source graphical online roleplaying game that focuses on true roleplaying. Illarion uses Lua as scripting language since 04/2005. Among other systems, non-player-characters, quests, spellcasting, fighting and crafting are handled by Lua scripts. Started in 2000, Illarion evolved to a feature rich online game, mostly comparable to Ultima Online. Illarion is using a Java client, based on the Slick 2D Game Library. It is funded by the Illarion e.V. and can be played free of charge.

Contact: [vilarion]


[OpenTibia]

OpenTibia? is an open source server replacement for the MMORPG Tibia. OpenTibia? uses Lua for scripting the whole game environment like item actions, events and mission quests.

[DCS: Black Shark]

Eagle Dynamics

"DCS: Black Shark" is a PC flight simulator of the Russian Ka-50 attack helicopter and is the first title in a new Eagle Dynamics and The Fighter Collection simulation series: "Digital Combat Simulator" (DCS). Following Eagle Dynamics' tradition of excellence, "DCS: Black Shark" will bring an even more realistic simulation experience than its predecessor "Flaming Cliffs". "DCS: Black Shark" will offer an unprecedented level of realism in regards to flight dynamics, instruments modeling, avionics systems, and weapon systems. The artificial Intelligence of ground vehicles and helicopters has been improved dramatically as well as weapon modeling. A new Mission Editor includes a powerful electronic mapping system that allows user to easily create missions and campaigns. A new campaign system allows the front line of the battlefield to move back and fourth according to your mission success or failure. Due to the increased flexibility of the DCS system, additional fixed-wing aircraft and helicopter add-ons will follow shortly.

Lua is heavily used through whole project for game AI programming, configuration purposes and many more. Game Mission Editor is nearly completely implemented on Lua.

Contact: [Sales]


[OhMyBot]

Maysami Soft

OhMyBot is a tool for automation and bots creation. It has a rich API, uses Lua as scripting language and has an integrated graphical Lua debugger.

Contact: [Contact]


[Daimonin MMORPG]

Daimonin Open Source Project

Daimonin is a MMORPG and is using Lua server sided as general purpose script engine. It is used in combination with the map editor as quest and communication interface but also as AI extension or event triggered inside a map.

The base plugin to the C server and the scripts are hosted on the [sourceforge project SVN]

Contact: [Contact]


[G-WAN]

G-WAN is a Linux app server which supports scripts in Lua and various other languages.


[Asterisk: Telecom PBX]

From the above-linked website: Asterisk is software that turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and more. It is used by small businesses, large businesses, call centers, carriers and governments worldwide. Asterisk is free and open source.


[Hexinator]

Hexinator is a modeling tool for binary files. So-called grammars describe binary file formats in an abstract way. The parsing logic can be extended with custom Lua scripts. Additionally, special data types can be implemented with Lua.


Here is the script I used to generate all the entries: -- JeromeVuarand


local entries = {
  {
    id = 6,
    title = "SimCity 4",
    title_link = "http://simcity.ea.com/",
    subtitle = "Maxis/Electronic Arts",
    text = [===[
SimCity 4 continues a long tradition of high-quality
city simulation games by Maxis.
The game uses Lua for configuring game constants and to
control various of its elements
including the user interface,
tutorials, advisors, and automata.
Third-party plugins for SimCity can access these features to define
the behavior of custom content.]===],
  },
}

local function dewikify(text)
  local n
  repeat
    text,n = text:gsub("(%u%l+)(%u%l+%a*)", "%1{{}}%2")
  until n == 0
  return text
end

local function generate_entry(entry)
  local output = ""
  local function print(str) output = output..(str or "").."\n" end
  print("----")
  if entry.title_link then
    print("== ["..entry.title_link.." "..dewikify(entry.title).."] ==")
  else
    print("== "..dewikify(entry.title).." ==")
  end
  if entry.subtitle then
    print("''"..dewikify(entry.subtitle).."''")
  end
  print()
  print(dewikify(entry.text))
  print()
  if entry.contact then
    if entry.contact_email then
      print("Contact: ''[mailto:"..entry.contact_email.." "..dewikify(entry.contact).."]''")
    elseif entry.contact_link then
      print("Contact: ''["..entry.contact_link.." "..dewikify(entry.contact).."]''")
    else
      print("Contact: ''"..dewikify(entry.contact).."''")
    end
    print()
  end
  return output
end

for _,entry in ipairs(entries) do
  print(generate_entry(entry))
end


RecentChanges · preferences
edit · history
Last edited November 29, 2022 11:58 am GMT (diff)